武道では、インストラクターも学生です。つまり、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 ;
これで始められることを願っています。