2013-04-09 9 views
14

ich folgend in dem ER-Diagramm zu zeigen versuchen:Eins-zu viele Beziehungen in ER-Diagramm

There are instructors and courses, a course is taught by only one instructor 
whereas an instructor can give many courses. 

enter image description here

enter image description here

Meine Frage ist, gibt es einen Unterschied zwischen zwei Diagramme, mit anderen Worten, spielt es eine Rolle, welche Linie wir in einen Pfeil verwandeln, oder was nur zählt, ist nur die Richtung des Pfeils?

Auch wenn wir über die Kartierungskardinalitäten nachdenken; ist es 1 zu viele oder viele zu 1? Wenn wir in Kursen denken, dann sind es viele, aber wenn wir in Ausbildern denken, dann ist es eins zu viele. Wie entscheiden wir das? Danke.

Antwort

30

In ER-Diagrammen werden die Pfeile nicht verwendet, wenn die Beziehung angegeben ist. Einige Lehrer benutzen diesen Pfeil, wenn sie die Kardinalitäten entscheiden wollen, aber das ist nur um die Kardinalität zu bekommen (1: 1, 1: M und N: M)

Ich habe das ER-Diagramm dafür in Chen-Notation und auch angehängt mit Crow Notation können Sie beide verwenden.

ER Digram

die Mächtigkeit für eine Beziehung Entscheidung ist ein praktisches Szenario nicht schwer ist und übergibt es in der Regel zu erhalten. Was Sie tun müssen, ist von einer Seite der Beziehung zu beginnen und ein Tupel (Instanz) zu nehmen und zu sehen, wie viele Tupel von der anderen Entität für die Beziehung teilnehmen. Dann mach das umgekehrt. Dann kennen Sie die Partizipationszahl der Tupel) von jeder Entität zu der Beziehung. Denken Sie über Mengenlehre und Funktionen in der Mathematik nach, wenn Sie die Kardinalität (dh Satz von Lehrern, Satz von Kursen und Satz von Teaches Beziehungstyp) entscheiden, dann ist dies so einfach, aber wenn Sie nicht von einem mathematischen Hintergrund sind, denken Sie an praktisches Szenario.

Für Beispiel

a) Für 1 Lehrer kann er oder sie für 1 Kurs gibt es nur 1 Instruktor

so in Instruktor Seite gibt es viele (M) Kurse

b) lehren ist immer 1 in a) und b) aber in Courses gibt es M und 1 in a) und b) dort für Instructor: Course Kardinalität ist 1: M

+0

Aber ist es korrekt, wenn ich ein Attribut für den Diamanten zwischen den beiden Entitäten habe? – hyperfkcb

+0

@DeniseTan Ja, das ist tatsächlich möglich. Eine Viele-zu-Viele-Beziehung könnte mit einer Junction-Tabelle auf zwei Eins-zu-Viele-Beziehungen normiert werden. Dies würde durch ein abstraktes Modell dargestellt, das auch Attribute (d. H. Zeitstempel) enthalten kann. Zum Beispiel sind Fragen und Tags in SO eine Viele-zu-Viele-Beziehung. Die Tags von Fragen könnten durch eine 'Frage_Tags'-Beziehung dargestellt werden. Diese Beziehung könnte ein "insert_at" -Feld aufweisen, das den Zeitstempel der Tag-Zuweisung angibt. – Leviathlon

0

Ich denke nicht, dass die andere Antwort völlig korrekt ist.

Ich würde sagen, dass man sollte Verwendung Pfeile, und man sollte eine Notation verwenden, die jede Richtung der Beziehung einen aussagekräftigen Namen gibt. In diesem Fall wird es in der einen Richtung "gelehrt", und in der anderen Richtung "wird unterrichtet". Verwenden Sie entweder die Pfeile neben den Namen oder geben Sie den Namen in der Nähe der Entität an, auf die er sich bezieht. Sie können eine Linie (mit zwei Pfeilspitzen) oder zwei Linien (mit jeweils einem Pfeil) verwenden.

Ich würde auch vorschlagen, dass Kardinalität ist nur eine Art von Einschränkung, und die Notation sollte das widerspiegeln. Zum Beispiel könnten die zwei Namen für die Beziehung "lehren (viele)" sein und "wird von genau einem gelehrt". Der Punkt ist, dass Sie "(ein oder zwei) unterrichtet haben" oder "von genau zwei unterrichtet" und so weiter.

Es ist besser, genau zu sein und genau zu wissen, was Ihre Einschränkungen wirklich sind.

0

Beide sind mit genau entgegengesetzten Mächtigkeit

Einfache saubere Linie bedeutet, dass viele.

Pfeil bedeutet eins.

Wenn wir beide mit gleicher Kardinalität betrachten.

dann viele, viele von im Anschluss an die zweite Konvention als (bitte gehen davon aus Diamant für Beziehung gesetzt und Rechteck für Entitätssatz) dargestellt werden

INSTRUCTOR <---- TEACHES -----> COURSE 

die eigentlich ohne Bedeutung ist, sollte.

Wenn wir beide mit entgegengesetzter Kardinalität betrachten.

dann,

INSTRUCTOR ----- TEACHES ------ COURSE 

keine explizite Pfeil gilt als sollten viele, viele von im Anschluss an die zweite Konvention als (bitte gehen davon aus Diamant für Beziehung gesetzt und Rechteck für Entitätssatz) dargestellt werden

immer viele zu viele. Also, es ist korrekt (nur wenn wir beide entgegengesetzt betrachten)

+0

Quelle, um Ihre Antwort zu unterstützen? – momo

0

Betrachten Sie einen 'Mitarbeiter' Entitätssatz und 'Abteilung' Entitätssatz, mit Beziehung als 'verwalten' eingestellt. Mitarbeiter ------------- Verwalten -------------------- Abteilung (Entitätssatz) (Beziehungssatz) (Entitätssatz) Eins-zu-viele-Beziehung bedeutet, dass eine Entität der Angestelltenmenge mit mehr als einer Entität der Abteilungsentitätsgruppe verknüpft sein kann, eine Entität der Abteilungssatz jedoch höchstens einer Entität der Angestelltenentitätsgruppe zugeordnet werden kann. Das bedeutet, wenn es eine Eins-zu-viele-Beziehung zwischen Mitarbeiter- und Abteilungseinheitsgruppen gibt, kann jeder Mitarbeiter mehr als eine Abteilung verwalten, und gleichzeitig wird jede Abteilung von höchstens einem Arbeitgeber verwaltet.

Verwandte Themen