Dans les arts martiaux, les instructeurs sont aussi des étudiants -- donc l'Instructor
la table est sous-typée au Student
table. Tous les champs communs sont dans le Student
table et seules les colonnes spécifiques aux instructeurs sont dans le Instructor
tableau.
L'Art
le tableau a la liste des arts que l'école propose (judo, karaté...).
L'école peut avoir plusieurs salles, celles-ci sont répertoriées dans la rubrique Room
tableau.
ClassSchedule
décrit le calendrier publié des cours proposés par l'école.
La présence est capturée dans la Attendance
tableau.
Une ligne dans le Calendar
table est un jour calendaire (date). La table a des propriétés de date comme DayOfWeek
, MonthName
, MonthNumberInYear
etc
Une ligne dans le TimeTable
correspond à une minute d'une journée, comme 7h05.
Le calendrier et l'horaire permettent de créer facilement des rapports de présence par date/heure, par exemple
-- 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 ;
J'espère que cela vous aidera à démarrer.