Entity-Relationship-Diagramme sind ein nützliches Werkzeug für den Entwurf von Datenbanken. Sie zeigen die beteiligten Entitäten, ihre Attribute und die Beziehungen zwischen ihnen. Sie müssen diese Elemente definieren, um die Struktur der Datenbank richtig zu verstehen, bevor Sie sie erstellen.
Eine Methode, die häufig zur Erstellung eines Entity-Relationship-Diagramms verwendet wird, ist die Krähenfuß-Notation. Die markanten Pfeile, die in der Krähenfußnotation verwendet werden, wurden in den 1970er Jahren eingeführt und werden auch als umgekehrte Pfeile, Hühnerfüße oder einfach als Gabeln bezeichnet.
Welche Symbole werden in der Krähenfuß-Notation verwendet?
Die Krähenfußnotation verwendet einige einzigartige Formen und Symbole, um die Elemente in einer Datenbank darzustellen.
Entitäten
Eine Entität ist eine reale Sache (Person, Ort, Objekt – was auch immer Sie in Ihrer Datenbank benennen können, kann eine Entität sein), die in der Krähenfußnotation durch ein Rechteck mit einem Namen in einem Kästchen oben dargestellt wird. Eine Entität ist immer Singular.
Attribute
Entitäten haben Attribute, die sie beschreiben. Diese Attribute werden unterhalb des Namens im Rest des Rechtecks aufgelistet. Eine Entität kann ein oder viele Attribute haben. Eines dieser Attribute ist das Schlüsselattribut oder der Bezeichner, der diese Entität eindeutig identifiziert. Der Bezeichner wird mit einem Sternchen neben dem Namen angezeigt.
So wird unsere Entität player durch ein Rechteck mit dem Wort player darin dargestellt.
Beziehungen
Die im Diagramm dargestellten Entitäten haben Beziehungen, die beschreiben, wie sie zusammenwirken. Beziehungen zwischen Entitäten werden durch eine Linie dargestellt, auf der ein Verb steht.
Wie funktionieren Beziehungen in der Krähenfußnotation?
Beziehungslinien in der Krähenfußnotation haben zwei Indikatoren, um die Kardinalität und die Modalität der Beziehung zu beschreiben. Die Kardinalität gibt an, wie oft eine Instanz einer Entität maximal mit Instanzen der anderen Entität verknüpft werden kann. Die Modalität gibt an, wie oft die Instanz mindestens mit Instanzen der anderen Entität verknüpft werden kann. Beachten Sie, dass Sie in den meisten Fällen einfach das Wort Kardinalität verwenden können.
Diese Indikatoren werden an beiden Enden der Beziehungslinie angezeigt, damit Sie sehen können, wie die Entitäten zueinander in Beziehung stehen.
Ein
Viele
Sie sehen in dieser Zeile, woher der Name „Krähenfuß“ stammt…
Null- oder Vielfaches
Eine Null- oder Vielfach-Beziehung bedeutet, dass sie optional ist. Es könnte keine Verbindung zwischen den Entitäten bestehen, oder es könnte eine oder mehrere geben.
Eine oder viele
Das „eins“ zeigt an, dass es sich nicht um eine optionale Beziehung handelt, obwohl es mehr als eine geben könnte.
Eine und nur eine
Mehr als eine Beziehung zwischen Instanzen ist nicht möglich.
Null oder eins
Eine weitere optionale Beziehung, mit einem Maximum von einer.
Chen-Notation vs. Krähenfuß
Die Krähenfuß-Notation ist nicht die einzige Möglichkeit, ein Entity-Relationship-Diagramm zu zeichnen. Ein alternativer und früherer Ansatz, die Chen-Notation, verfolgt einen anderen Ansatz zur Darstellung von Entitäten und ihren Beziehungen: Entitäten sind Rechtecke, ihre Attribute sind Ovale und Beziehungen sind Rauten.
Die Chen-Notation verwendet Symbole auf den Linien zwischen Beziehungen und Entitäten, um die Kardinalität anzuzeigen:
Einige Kritiker der Chen-Notation argumentieren, dass ihre Diagramme mehr Platz einnehmen als Krähenfüße und dass die Symbole für Beziehungen weniger intuitiv sind.
Beispiel für die Krähenfuß-Notation in Aktion
Lassen Sie uns ein Online-Geschäft abbilden, um zu zeigen, wie die Krähenfuß-Notation funktioniert. Für unser Beispiel werden wir den Shop vereinfachen und nur vier Entitäten darstellen: Kunde, Bestellung, Produkt und Rabattcode.
Sie können aus dem Diagramm ersehen, dass jede Entität eine Reihe von Attributen hat und dass der eindeutige Bezeichner mit einem Sternchen markiert ist.
Nun lassen Sie uns die Beziehungen abbilden. Wir können mit Kunde und Auftrag beginnen.
Die Beziehungslinie zeigt, dass ein Kunde null oder viele Aufträge haben kann, während ein Auftrag mit einem und nur einem Kunden verbunden sein kann. Das Verb, das für die Beziehung verwendet wird, kann „platziert“ sein, wie in „der Kunde platziert eine Bestellung“
Weiter zu Produkt und Bestellung: Ein Produkt kann mit null oder vielen Bestellungen verbunden sein, während eine Bestellung ein oder viele Produkte haben muss (man kann keine Bestellung haben, ohne etwas zu bestellen!). Für Produkt und Bestellung können wir das Verb „wird hinzugefügt zu“ verwenden, um zu beschreiben, wie ein Produkt zu einer Bestellung hinzugefügt wird.
Als nächstes kommt der Rabattcode. Wir wollen unsere Kunden dazu ermutigen, Produkte zu bestellen, also verschicken wir manchmal einen saisonalen Rabattcode per E-Mail. Wir könnten spezielle Codes für einen bestimmten Kunden verschicken, aber für unser Beispiel nehmen wir den gleichen kurzen alphanumerischen Code für alle.
Wir müssen den Kunden nicht mit dem Rabattcode verbinden, da er den Code einfach bei der Bestellung eingibt und er die Gesamtkosten der Bestellung aktualisiert. Es muss keine dauerhafte Beziehung zwischen Kunde und Rabattcode bestehen.
Bestellungen und Rabattcodes haben eine Null-oder-Eins-Beziehung: Ein Kunde gibt vielleicht keinen Rabattcode ein, aber wenn er es tut, kann er nur einen auf einmal verwenden. Umgekehrt kann eine Bestellung keinen Rabattcode haben, aber wenn doch, kann sie nur einen haben. Ein Rabattcode wird auf eine Bestellung „angewendet“.
Ein reales Entity-Relationship-Diagramm, das mit der Krähenfuß-Notation gezeichnet wird, ist viel komplexer als unser Beispiel. Aber Sie können sehen, wie die Krähenfußnotation es einfach macht, auf einen Blick zu sehen, wie die Datenbank funktionieren wird. Wahrscheinlich können Sie sich sogar schon die anderen Teile unseres Online-Shops vorstellen und wie sie miteinander in Beziehung stehen könnten.
Die Krähenfußnotation funktioniert am besten, wenn Sie ernsthaft mit dem Aufbau Ihrer Datenbank beginnen müssen. Wenn Sie sehr genau wissen müssen, wie Entitäten miteinander in Beziehung stehen, werden Sie den Detaillierungsgrad zu schätzen wissen, der durch die Beziehungslinien in einem Entity-Relationship-Diagramm (ERD), das mit der Krähenfuß-Notation erstellt wurde, gekapselt ist. Aber wenn Sie gerade erst anfangen, Ihr Projekt zu entwickeln, können Sie sich auf einfachere Ansätze für das ERD verlassen. Der erste Schritt, um Ihre Ideen zu kommunizieren, besteht darin, die Entitäten, Attribute und Beziehungen grob zu skizzieren. In diesem Stadium ist es normalerweise eine gute Idee, schnell zu arbeiten und sich nicht zu viele Gedanken über die Details zu machen.
Gleek unterstützt die Crow’s-Foot-Notation, und wir ermöglichen Ihnen die Erstellung vieler anderer Diagramme. Unsere Diagrammwerkzeuge sind für den Entwickler gedacht, der schnell ein informelles ER-Diagramm auf konzeptioneller Ebene oder ein schnelles Kontextdiagramm erstellen möchte, um herauszufinden, wie Ihr Produkt mit externen Entitäten in Beziehung steht. Wenn Sie Ihre Ideen in einem Meeting besprechen oder in den frühen Phasen des Datenbankdesigns zusammenarbeiten müssen, probieren Sie Gleeks tastaturfreundlichen Ansatz für Diagramme aus.