1

これが私の現在のデータベース設計です。今のところ、学生、教師、およびクラスのテーブルを見てください。

ここに画像の説明を入力

TPH 継承を使用して、いくつかのテーブルをニュースに変換しようとしています。例えば。

以下を含む Person という名前の新しいテーブルを作成します。

  • イド、
  • フルネーム、
  • EnrollmentDate (学生の場合),
  • メール(学生用)、
  • HireDate (教師用)

しかし、テーブルClassIdに含まれているというフィールドが 1 つ残っていますか。現時点では、結合テーブルを作成してandを格納する必要があるのか​​ 、それとも単にテーブルに配置するStudent必要があるのか​​ わかりません。それは私の大きな疑問です。ClassIdPersonIdClassIdPerson

ClassIdフィールドはどこに置く必要がありますか?

各生徒は 1 つのクラスにしか所属できないことを言及しておく必要があります。教師は、必要に応じて多くのクラスを持つことができます。

4

1 に答える 1

0

ドメインを正しくモデル化していないと思います。

まず、クラスの有無に関係なく、学生が必要です
。現在のモデルでは、学生は弱い実体であり、クラスに依存しているようです。

コースはまた、今年行われる可能性があり、来年は行われない学期のクラスから独立しています。

ただし、データベースをモデル化するためのTPH戦略が必要な場合は、このリンクが役立つ場合があります。

Personテーブル、Personへの参照を持つTeacherテーブル、Personテーブルへの参照を持つStudentテーブルがあります。
そして最後に、学生テーブルには、共同テーブルを介した学期コースへの参照があります。

于 2013-01-12T19:58:41.593 に答える