The roster table will contain one record per roster, saying that a roster is valid trough a date range. Describing a roster with a start time, end time and the length (minutes) of the timeslots
Now give three overviews of the appointments. - One detailed (Select a doctor and you will get a detailed overview of appointments with patients) - One daily (Overview of appointments of all doctors) - One weekly (Overview of appointments of one week of a selected doctor) - One monthly (Overview of appointments of one month of a selected doctor)
In these overviews, you'll display the timeslots vertically, the columns are depended of the selected overview.
Walter,
Can you post the schema for these tables, along with an estimate of the # of rows for each table?