2016-10-03 3 views
0

Ich habe zwei ERD Beispiele mit Subtypen. Ich kann keine definitiven Informationen online oder in Lehrbüchern finden, wenn es darum geht, andere Entitäten mit Subtypen zu verbinden und wie weit man Schlüssel von Subtypen erben kann, wenn überhaupt. Diejenigen mit guten Augen mögen bemerken, dass ich vor kurzem eine ähnliche Frage zu Subtypen gestellt habe, aber es war für ein anderes Szenario und bisher habe ich nur eine Empfehlung zu einer anderen Frage erhalten, die nur die Grundlagen von Subtypen erklärt, die ich nicht brauche ist ein fortgeschrittenes Thema zu lösen.Überbrückungsentität von Subtypentität ERD Design

Mein spezifisches Problem ist, dass ich wissen muss, ob die überbrückende Entität mit dem Namen ENROLLMENT die PK/FK von der STUDENT-Entität, einem Subtyp von PATRON, erben darf. Wenn ja, sind die Attribute Patronennummer und/oder StudentNumber zulässig.

Die beiden ERD-Beispiele unterscheiden sich geringfügig. Version 1 verwendet die Patronennummer des Subtyps Student. Version 2 enthält eine weitere PK namens StudentNumber. Ist das in Ordnung, als PK hinzuzufügen und kann ENROLLMENT von diesem Bezug nehmen? Was ist besser, wenn überhaupt?

ERD Version1

ERD Version2

Prost!

Antwort

0

Die erste Version ist zu bevorzugen, da mit einem einzigen Wert, PatronNumber, Sie alle Informationen über den Schüler mit einem einzigen Join erhalten können, während Sie im zweiten Fall zwei Joins durchführen müssen. Stellen Sie sich zum Beispiel vor, dass Sie den Namen aller Schüler wissen müssen, die für die Kursnummer 3 angemeldet sind: Sie können einfach eine Verbindung zwischen Anmeldung und Patron durchführen, während Sie im zweiten Fall eine Verbindung zwischen beiden benötigen Anmeldung und Student und dann zwischen Student und Patron.

Wenn Ihre Anwendung explizit eine StudentNumber erfordert, die sich von PatronNumber unterscheidet, können Sie das Attribut einfach zum Student hinzufügen und als eindeutig deklarieren.