Nelle arti marziali, anche gli istruttori sono studenti, quindi l'Instructor
la tabella è sottotipizzata per lo Student
tavolo. Tutti i campi comuni sono in Student
la tabella e solo le colonne specifiche per gli istruttori si trovano in Instructor
tabella.
L'Art
la tabella ha l'elenco delle arti che la scuola offre (judo, karate...).
La scuola può avere più aule, queste sono elencate nella Room
tabella.
ClassSchedule
descrive l'orario pubblicato delle classi offerte dalla scuola.
La partecipazione viene acquisita nel Attendance
tabella.
Una riga nel Calendar
la tabella è un giorno di calendario (data). La tabella ha proprietà di data come DayOfWeek
, MonthName
, MonthNumberInYear
ecc.
Una riga nella TimeTable
è un minuto al giorno, come le 7:05.
Il calendario e l'orario consentono una facile segnalazione delle presenze per data/ora, ad esempio
-- 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 ;
Spero che questo ti permetta di iniziare.