これらの2つのエンティティの関係を説明するにはどうすればよいですか?

ClassとStudent_Classの2つのエンティティがあります。以下はエンティティです:

Class:

ClassId (PK)         int (5)
ClassDay              varchar(9)
ClassTime            time
ModuleId (FK)    varchar(10)
TeacherId (FK)    varchar(4)

Student_Class:

ClassId (PK)         int(5)
StudentId (PK)    varchar(6)

私の問題は、私がどのように関係を説明するのか分かりません。 1つのstudent_classが1つのクラスに属していて、classにはstudent_classesが多数あるか、その逆の場合もあります。この関係を作成したときにどちらが面白いかわからないためです。最初は多対多の関係だと思っていましたが、Student_classがStudentとClassの間に入るので、それはできません。

0

1 答え

StudentIdのPKを持つ第三者エンティティが必要です。

Student_Classは基本的に「相互参照」テーブルです。それは多対多の関係を可能にします。 2つのFOREIGN KEYS(PKではない)が必要です。必要に応じて、2つのキーのインデックスを追加できます。

そうすれば、各生徒は、クラスに必要な数のリンクを持つことができます。次に、あるクラスの学生のリスト、またはそのクラスのすべての学生を選択することができます。

2
追加された
参考までに、<�​​i>関連表と呼ばれています。そのような行の余分な列(例: "dropped_out boolean")は、関連データと呼ばれます。
追加された 著者 Bohemian,
こんにちは、私は学生クラスにリンクするstudentIdの学生エンティティを持っていますが、この質問のために必要だったかどうかはわかりませんでした。答えをありがとう
追加された 著者 BruceyBandit,