alpinegroove
Registered User.
- Local time
- Today, 11:24
- Joined
- May 4, 2011
- Messages
- 55
I am building a database that contains information relating to instructional staff in my program: instructors, teaching assistants, readers. The database helps keep track of contact information and generating contracts. It does not handle enrollment in courses.
This is the general structure:
tblPeople
-pkPeopleID primary key, autonumber
-txtFName
-txtLName
-txtAddress
tblRoles
-pkRoleID primary key, autonumber
-txtRole (e.g., Instructor, Teaching Assistant, Reader)
tblCourses
-pkCourseID primary key, autonumber
-lngCourseTitle
-txtCourseName
-txtLab1Time
-txtLab1Place
-txtLab2Time
-txtLab2Place
-txtLab3Time
-txtLab3Place
tblCoursePeopleRoles
-pkCoursePeopleRoleID primary key, autonumber
-fkCourseID foreign key to tblCourses
-fkPeopleID foreign key to tblPeople
-fkRoleID foreign key to tblRoles
The issue is with tblCourses, which currently isn't normalized (see how the labs are listed). This model works fine with one exception. In 99% of the cases, one Teaching Assistant teaches all of the labs, and I know to list all of the labs in the contract. In only one of my courses, the TA cannot teach all 3 labs, and a second TA is hired to teach one of the labs. The contracts in this case should not list all of the labs, but only the one they are hired to teach.
How can this be addressed?
Will I need another junction table to associate TAs with labs? How would that table relate to the existing junction table tblCoursePeopleRoles?
Thank you!
This is the general structure:
tblPeople
-pkPeopleID primary key, autonumber
-txtFName
-txtLName
-txtAddress
tblRoles
-pkRoleID primary key, autonumber
-txtRole (e.g., Instructor, Teaching Assistant, Reader)
tblCourses
-pkCourseID primary key, autonumber
-lngCourseTitle
-txtCourseName
-txtLab1Time
-txtLab1Place
-txtLab2Time
-txtLab2Place
-txtLab3Time
-txtLab3Place
tblCoursePeopleRoles
-pkCoursePeopleRoleID primary key, autonumber
-fkCourseID foreign key to tblCourses
-fkPeopleID foreign key to tblPeople
-fkRoleID foreign key to tblRoles
The issue is with tblCourses, which currently isn't normalized (see how the labs are listed). This model works fine with one exception. In 99% of the cases, one Teaching Assistant teaches all of the labs, and I know to list all of the labs in the contract. In only one of my courses, the TA cannot teach all 3 labs, and a second TA is hired to teach one of the labs. The contracts in this case should not list all of the labs, but only the one they are hired to teach.
How can this be addressed?
Will I need another junction table to associate TAs with labs? How would that table relate to the existing junction table tblCoursePeopleRoles?
Thank you!