I'm working on a small program for my school and I have a question about the following DB design.
The admin will assign subjects to teachers via an online form.
An example of a subject would be something like:
- Subject Field 1: (Grade 5 Math: Teaching 5/1, 5/2 and 5/3) [Text Field]
- Subject Field 2: (Grade 6 Math: Teaching 6/2 and 6/6) [Text Field]
I have added 7 subjects fields per their request as there won't be anyone that will exceed 7 subjects.
Each Subject Field will have required things to complete such as lesson plans, course syllabus etc...
Each requirement will have the following requirements:
- Language (Language 1, Language 2 or Both) [Drop Down]
- Type (Printed, File or Both) [Drop Down]
- Time (Semester 1, Semester 2 or both) [Drop Down]

So far I have come up with this DB design:
- ID (Primary, Auto Incremented)
- TID (Teacher ID)
Year
Subject1
- Subject1Requirement1
- Subject1Requirement2
- Subject1Requirement3
- TimeSent
TimeReviewed
Subject2
- Subject2Requirement1
- Subject2Requirement2
- Subject2Requirement3
- TimeSent
TimeReviewed
Subject3
- Subject3Requirement1
- Subject3Requirement2
- Subject3Requirement3
- TimeSent
- TimeReviewed
Continued to Subject 7.
I feel that there is a more efficient way of doing it but just can't think of a better way.
Thanks.
