学生は弱いエンティティセットである必要はありません。弱いエンティティセットは存在依存関係を意味しますが、存在依存関係は弱いエンティティセットを暗示しません。通常のエンティティセットにも全参加が可能です。
存在の依存関係を見るのではなく、識別を見てください。脆弱なエンティティセットは、独自の属性だけでは識別できません。外部キー(通常は弱いキーと組み合わせて)によって識別されます。エンティティセットがRoll ID
(代理IDは常に独立している)のような独立したアイデンティティを持つ場合、エンティティセットは通常のエンティティです。
おそらく、使用している表記法が異なるため、テーブルとエンティティセットを混同しているようです。あなたのモデルを正しく読んだら、Grades
は、Student
とCourses
の関係にあります。なぜなら、2つの外部キーからなる主キーを持っているからです。ただし、図はStudent
の不要なhas
関係を介してのみリンクされています。
テーブルにもリレーションシップが埋め込まれています(例: Courses
にはDepartment
FKがありますが、図では2つをリンクしていません。 Enrolls
には独自のテーブルが必要ですが、ダイアグラムの他の多対多リレーションシップとは異なります。
Attendance
は、Grades
のように、Student
とCourses
の間の関係を表します。 Department
との関連付けを表示しますが、FKを示すものではありません。オリジナルのER表記法では、外部キーを属性として指定することはありませんが、ダイアグラムではこれは他の表のほとんどと矛盾しています。
編集:
ここでは、Student
とCourses
との間の関係としてGrades
を表現する方法の例です。あなたの表記を実装するツールがないので、私は元のER表記を使用しました。示すように
私は矛盾した表記法を使用していることを知っています。それは残念です。また、N:Mは混乱を解消した後に描画する別のテーブルが必要です。私は出席と授業が学生とコースに沿っているべきだと私は同意しましたが、私はそれを視覚化していません。どのようにダイアグラムをどのように再調整すればいいのでしょうか?私はどこでどのrealtionによって接続すべきか。 –
私は例を追加しました。 – reaanb
本当に助けてくれてありがとう!その答えを見たいと思っていた。 –