Database Design

I need to design an ERd for a student teacher scheduler program. The program would let the following to take place :
the teacher would be able to set his office hours
the teaxcher would be able to set free times for meeting students
the student would be able to read teacher meeting time periods and reserve one of them.

what is the best way to design that, how many tables do I need.
lojaynAsked:
Who is Participating?
 
DerokorianConnect With a Mentor Commented:
I would say 4 tables: Students (id, name, whatever else), Instructors (id, name, whatever else), AvailableHours (id,instructor_id,begin available datetime, end available datetime) and Scheduled (available_id, student_id)

HTH
0
 
macarrillo1Commented:
lojayn,  is this a homework assignment?
0
 
lojaynAuthor Commented:
what about separating the adviser office hours and the meetings time hours in two different tables. If I did so, what is the best design for office hours table. I amthinking if ( instructor_id, Mon_hours, Tue_hours, Wed_hours, Thur_hours)
0
Improve Your Query Performance Tuning

In this FREE six-day email course, you'll learn from Janis Griffin, Database Performance Evangelist. She'll teach 12 steps that you can use to optimize your queries as much as possible and see measurable results in your work. Get started today!

 
DerokorianCommented:
That seems like poor database design IMO. Instead you should use something like (instructor_id, day (mon, teus, etc), begin (08:00 for example) and end (13:00 for example)
0
 
DerokorianCommented:
Then for an instructor you might have 3 rows:
3,Monday,08:00,12:00
3,Wednesday,09:00,12:00
3,Friday,13:00,15:00

This is especially helpful if an instructor has office hours say from 9am to 11am and 3pm to 5pm the same day.
0
 
lojaynAuthor Commented:
I apologize, I accepted the wrong solution. How would I fix that
0
 
DerokorianCommented:
Hey thanks for the points! Hope your question was answered to your satisfaction =D
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.