En las artes marciales, los instructores también son estudiantes, por lo que el Instructor
la tabla está sub-escrita para Student
mesa. Todos los campos comunes están en el Student
la tabla y solo las columnas específicas de los instructores están en Instructor
mesa.
El Art
tabla tiene listado de las artes que ofrece la escuela (judo, karate...).
La escuela puede tener varios salones, estos se enumeran en el Room
mesa.
ClassSchedule
describe el horario de clases publicado que ofrece la escuela.
La asistencia se captura en el Attendance
mesa.
Una fila en el Calendar
la tabla es un día calendario (fecha). La tabla tiene propiedades de fecha como DayOfWeek
, MonthName
, MonthNumberInYear
etc
Una fila en el TimeTable
es un minuto de un día, como las 7:05.
Calendar y TimeTable permiten un fácil informe de asistencia por fecha/hora, por ejemplo
-- 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 ;
Espero que esto te ayude a empezar.