В бойните изкуства инструкторите също са студенти - така че Instructor
таблицата е подтипизирана в Student
маса. Всички общи полета са в Student
таблица и само колони, специфични за инструктори, са в Instructor
таблица.
Art
таблицата има списък на изкуствата, които училището предлага (джудо, карате...).
Училището може да има няколко стаи, те са изброени в Room
таблица.
ClassSchedule
описва публикувания график на учебните часове, които училището предлага.
Присъствието се записва в Attendance
таблица.
Един ред в Calendar
таблицата е един календарен ден (дата). Таблицата има свойства за дата като DayOfWeek
, MonthName
, MonthNumberInYear
и др.
Един ред в TimeTable
е една минута на ден, например 7:05.
Календар и разписание позволяват лесно отчитане на посещаемостта по дата/час, например
-- 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 ;
Надявам се това да ви помогне да започнете.