Articles

Crow’s Foot Notation

Posted on

Crow’s Foot Notation

Eine Reihe von Datenmodellierungstechniken werden heute verwendet. Eine der gängigsten ist das Entity-Relationship-Diagramm (ERD). Es sind mehrere ERD-Notationen verfügbar. Für die Zwecke von CS270 werden wir die Crow’s Foot Notation verwenden.

Komponenten, die bei der Erstellung eines ERD verwendet werden:

Entität – Eine Person, ein Ort oder eine Sache, über die wir mehrere Instanzen von Daten sammeln und speichern wollen. Sie hat einen Namen, der ein Substantiv ist, und Attribute, die die Daten beschreiben, die wir speichern möchten. Außerdem hat es einen Bezeichner, der eine Instanz einer Entität eindeutig identifiziert. Das Attribut, das als Bezeichner fungiert, ist mit einem Sternchen gekennzeichnet.

Beziehung – Veranschaulicht eine Verbindung zwischen zwei Entitäten. Es hat einen Namen, der ein Verb ist. Es hat auch eine Kardinalität und eine Modalität.

Kardinalität und Modalität sind die Indikatoren für die Geschäftsregeln rund um eine Beziehung. Kardinalität bezieht sich auf die maximale Anzahl, wie oft eine Instanz in einer Entität mit Instanzen in der verwandten Entität assoziiert werden kann. Modalität bezieht sich auf die minimale Anzahl von Malen, die eine Instanz in einer Entität mit einer Instanz in der verwandten Entität assoziiert werden kann.

Die Kardinalität kann 1 oder Viele sein und das Symbol wird an den äußeren Enden der Beziehungslinie platziert, am nächsten zur Entität, die Modalität kann 1 oder 0 sein und das Symbol wird an der Innenseite platziert, neben dem Kardinalitätssymbol. Bei einer Kardinalität von 1 wird eine gerade Linie gezeichnet. Für eine Kardinalität von Many wird ein Fuß mit drei Zehen gezeichnet. Für eine Modalität von 1 wird eine gerade Linie gezeichnet. Für eine Modalität von 0 wird ein Kreis gezeichnet.

null oder mehr

1 oder mehr

1 und nur 1 (genau1)

null oder 1

Kardinalität und Modalität werden an beiden Enden der Beziehungslinie angegeben. Wenn dies geschehen ist, werden die Beziehungen als 1 zu 1 (1:1), 1 zu vielen (1:M) oder vielen zu vielen (M:M) gelesen.

1:1

1:M

M:M

1:M

Typisch, ERDs sehr viel komplexer und umfassen eine ganze Reihe von Entitäten und Beziehungen. Wenn wir alle obigen Beziehungen miteinander verbinden und ein paar Attribute hinzufügen, könnte eine kleine Sammlung von Daten auf folgende Weise unter Verwendung der Crow’s-Foot-Notation dargestellt werden:

Betrachten Sie die folgenden Geschäftsregeln für ein Patiententermin-System:

Ein Arzt kann für viele Termine eingeplant sein, aber auch gar keine Termine haben. Jeder Termin wird mit genau 1 Arzt geplant. Ein Patient kann 1 oder mehrere Termine einplanen.Ein Termin ist mit genau 1 Patienten eingeplant. Ein Termin muss genau 1 Rechnung erzeugen, eine Rechnung wird nur von 1 Termin erzeugt. Eine Zahlung wird auf genau 1 Rechnung angewendet, und 1 Rechnung kann im Laufe der Zeit durch mehrere Zahlungen abbezahlt werden. Eine Rechnung kann offen sein, ohne dass bereits etwas darauf bezahlt wurde. Ein Patient kann viele Zahlungen leisten, aber eine einzelne Zahlung wird nur von einem Patienten geleistet.Einige Patienten sind bei einer Versicherungsgesellschaft versichert. Wenn sie versichert sind, können sie nur bei einer Gesellschaft versichert sein. Eine Versicherungsgesellschaft kann mehrere Patienten bei sich versichern lassen. Für Patienten, die eine Versicherung tragen, wird die Versicherungsgesellschaft Zahlungen leisten, jede einzelne Zahlung wird von genau 1 Versicherungsgesellschaft geleistet.

Gegeben die obigen Informationen, kann das folgende ERD gezeichnet werden:

Intersection Entities

Intersection Entities werden bei der Auflösung einer Many-to-Many Beziehung verwendet. Diese Auflösung wird durchgeführt, um zusätzliche Informationen zu speichern, die nicht in die Attributliste einer der beiden Entitäten in der M:M-Beziehung passen. Im Beispiel „Kursleiter-Kurs“ besteht beispielsweise eine M:M-Beziehung zwischen „Kurs“ und „Abschnitt“, wobei ein Kurs viele Abschnitte und ein Abschnitt viele Kurse haben kann. Wenn wir wissen möchten, wie viele Studenten in einem bestimmten Kurs eingeschrieben sind, können wir diese Information nicht auf beiden Entitäten speichern. Wir könnten die Gesamtzahl der Studenten, die in allen Abschnitten eines bestimmten Kurses eingeschrieben sind, in der Kursentität speichern, z. B.: 300 Studenten sind in CS270 eingeschrieben, einschließlich aller Abschnitte. Wir könnten die Gesamtzahl der Studenten, die in allen Kursen mit einer bestimmten Abschnittsnummer registriert sind, in der Abschnittsentität speichern, z. B.: 25.000 Studenten sind in einem Abschnitt mit der Nummer 002 registriert. Wenn wir praktischere Informationen benötigen, z. B. wie viele Studenten in Abschnitt 002 von CS270 eingeschrieben sind, benötigen wir eine weitere Entität, in der wir diese Informationen speichern können. Also erstellen wir eine Schnittmengen-Entität und platzieren sie zwischen ihren verwandten Entitäten mit den zusätzlichen Attributen. Die M:M-Beziehung wird zu zwei 1:M-Beziehungen. Siehe Auflösung unten.

Unabhängige Entitäten

Unabhängige Entitäten sind solche, die ohne eine andere Entität existieren können. Schüler, Sitzplatz, Ausbilder usw. sind Beispiele für unabhängige Entitäten.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.