I've looked around for a bit now at other suggestions relating to this, but nothing I've seen has quite suited my needs, so here goes!
What I have is a multi-class (Australian secondary school; Years 7-12), multi-day (Mon-Fri) school timetable. What I now want to build is a MySQL database with the following information to be deployed on an account driven website.
- Subjects:
- Running time (as "Period 1 on Wednesday", "Period 2 on Friday", etc. -- multiple values in this column)
- Instructor (linked to separate database of all teachers) -- This would additionally need to change (temporarily) if a teacher was sick and replaced; perhaps a "replacementinstructor" column to be ignorned when NULL.
- Location (different, but specifically allocated, rooms on different days) -- As above, change temporarily when room altered.
- Other obviousnesses: Course name ("Year 7 Health"), Unique ID (Something like "7.HEALTH", rather than just auto-incrementing INT.), etc.
- Teachers:
- First name, last name
- Courses they take
- Contact info
- Other obviousnesses: Unique ID (Auto-incrementing INT), Username (fname.lname), Password for their account, etc.
- Students:
- First name, last name
- Courses they attend (stored as an individual list for each student)
- Year level / Form (Year 7, Year 11, etc.)
- Basic personal info (Home suburb, email, etc.)
- More obviousnesses: Unique ID (same setup as teachers), Username (same as teachers), password, etc.
Any insight as to how I might design such a data structure would be greatly appreciated, I'm more of a UI fanatic than a MySQL thinker ;-D
Thanks in advance.