武道では、インストラクターも学生です。つまり、Instructor テーブルはStudentにサブタイプされます テーブル。すべての一般的なフィールドはStudentにあります テーブルとインストラクターに固有の列のみがInstructorにあります テーブル。
Art 表には、学校が提供する芸術のリストがあります(柔道、空手...)。
学校には複数の部屋がある場合があります。これらはRoomにリストされています。 テーブル。
ClassSchedule 学校が提供するクラスの公開スケジュールについて説明します。
出席はAttendanceに記録されます テーブル。
Calendarの1行 表は1暦日(日付)です。テーブルには、DayOfWeekのような日付プロパティがあります 、MonthName 、MonthNumberInYear など
TimeTableの1行 7:05のように1日の1分です。
カレンダーと時刻表を使用すると、たとえば、日付/時刻ごとに簡単に出席レポートを作成できます
。-- 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 ;
これで始められることを願っています。