I have created a database that some of the following tables: TeamMember, Role, TeamMemberRole, Skill, TeamMemberSkill, TeamMemberSkillNRole.
The TeamMemberRole table takes all of the RoleId under the Role table against the TeamMemberId. So if there are 20 RoleId in the Role table, I have created 20 records for each TeamMemberId. I’ve done the same with the TeamMemberSkill and Skill tables, so if there 30 SkillId, I create 30 records for each TeamMemberId. TeamMemberSkillNRole takes the records from TeamMemberRole and TeamMemberSkill and consolidates them. So for each TeamMemberRoleId a Team TeamMemberSkillId is added to the TeamMemberSkillNRole table by TeamMemberId. So in this case I have 20 TeamMemberRoleId for each TeamMemberId. Each TeamMemberRoleId (by TeamMemberId) would then create 30 records of the TeamMemberSkillId (by the same TeamMemberId) for each TeamMemberRoleId them, thus creating 600 records for each TeamMemberId. So, if I have TeamMemberRoleId 1 through TeamMemberRoleId 20, TeamMemberRoleId 1 would create 30 TeamMemberSkillId against TeamMemberRoleId 1, creating 30 records. I currently create these records manually. It is important to keep each of these tables separate because management wants reports showing Role only and Skill only. Also, each TeamMemberSkill has a SkillLevel assigned to each Skill. Once a skill level is assigned, it is important that the skill level for the skill to be the same. This is why there is a separate table for TeamMemberSkill and the skill level must consistent in TeamMemberSkillNRole.
What type of Boolean would I need when a new TeamMemberId is created on a form to automatically start a program to add the new TeamMemberId to the tables TeamMemberSkill by SkillId, TeamMemberRole by RoleId and TeamMemberSkillNRole which consolidates the TeamMemberSkillId and TeamMemberRoleId? Then where would this program go?