私はmysqlデータベースでタイムテーブルを表現したいと思っています。 私は3つのテーブルを持っていなければならないという考えを持っていた:データベースにタイムテーブルを表現する
classdetails
テーブル - などのクラスの容量、教室名を含む- と
class_sessions
テーブル:START_TIMEとセッションのEND_TIME、 class_unit
テーブル:コースの名前(。MAT003 et.c)
もclass_sessions
テーブルとclass_unit
テーブル内の適切な外部キーが存在することになります。
最終的に私は「無料」クラス(クエリの実行時に、現在のクラスを持っていないもの)を照会し、その名前の例(ルーム5bに)返すことができるようにしたい
私が列挙したテーブルは、手元にあるクエリにとって十分なものでしょうか?
これをより良くする方法はありますか?
フリークラスはクラスを持たないクラスですか?テーブルについて考えるのではなく、クラスについて知っている事実の種類について考えてみてください。大学を前提に、2011年春には「カレッジカタログは代数101を提供しています。 "スミス教授は2011年春に代数101を教える予定です。 "代数101(スミス)は、月曜日、水曜日、金曜日、金曜日の午前9時から午前11時まで" 2011年春に会う。 2011年春の代数101(スミス)は部屋5bで出会うでしょう。あなたが事実を表現することができるとき、テーブルはほとんど自分自身を書くでしょう。 –
ありがとうCatcall。私はそれらを見て事実を表現しようとしています: – watkib
数学とroomxの例を挙げると、部屋5bに代数があり、部屋5cに微積分があり、部屋5cにdiscreteMathがあり、部屋5dにクラスがなく、部屋5dを返すクエリ。 – watkib