In vechtsporten zijn instructeurs ook studenten -- dus de Instructor tabel is gesubtypeerd naar de Student tafel. Alle algemene velden staan in de Student tabel en alleen kolommen die specifiek zijn voor instructeurs staan in de Instructor tafel.
De Art tabel heeft een lijst met kunsten die de school aanbiedt (judo, karate ...).
De school kan meerdere kamers hebben, deze staan vermeld in de Room tafel.
ClassSchedule beschrijft het gepubliceerde lesrooster dat de school aanbiedt.
Aanwezigheid wordt vastgelegd in de Attendance tafel.
Eén rij in de Calendar tafel is één kalenderdag (datum). De tabel heeft datum-eigenschappen zoals DayOfWeek , MonthName , MonthNumberInYear enz.
Eén rij in de TimeTable is één minuut van een dag, bijvoorbeeld 7:05.
Kalender en Tijdtabel zorgen voor eenvoudige aanwezigheidsrapportage op datum/tijd, bijvoorbeeld
-- Attendance of judo morning classes
-- for the first three months of the year 2010
-- by day of a week (Sun, Mon, Tue, ..)
select
DayOfWeek
, count(1) as Students
from ClassSchedule as a
join Calendar as b on b.CalendarId = a.CalendarId
join TimeTable as c on c.TimeID = a.StartTimeId
join Attendance as d on d.ClassId = a.ClassID
join Art as e on e.ArtId = a.ArtID
where ArtName = 'judo'
and Year = 2010
and MonthNumberInYear between 1 and 3
and PartOfDay = 'morning'
group by DayOfWeek ;

Ik hoop dat je hiermee aan de slag kunt.