„Crow's Foot„ bedeutet Krähenfuss. Der Name kommt vom Symbol für many (viele), das wie ein kleiner Krähenfuss aussieht:
In LU04b haben wir Beziehungen und Kardinalitäten in der Chen-Notation dargestellt. Diese ist gut geeignet, um mit Auftraggeber:innen zu sprechen – sie bleibt aber fachlich und abstrakt.
Die Crow's-Foot-Notation zeigt dieselbe Information technischer: Sie stellt Entitäten bereits als Tabellen dar. Damit ist sie die passende Darstellung für das logische Datenmodell und die letzte Station vor der Umsetzung in SQL.
| Chen-Notation | Crow's-Foot-Notation | |
|---|---|---|
| Entität | Rechteck | Tabelle mit Spaltenliste |
| Attribut | eigenes Oval | Zeile innerhalb der Tabelle |
| Beziehung | Raute mit Beschriftung | Linie mit Symbolen an den Enden |
| Schlüssel | unterstrichenes Attribut | mit PK / FK markiert |
| Eignet sich für | konzeptuelles Modell | logisches Datenmodell |
Die Kardinalitäten selbst (1:1, 1:n, n:m) sind in beiden Notationen dieselben – nur die Zeichen unterscheiden sich. Was die Kardinalitäten bedeuten, steht in der vorherigen Seite (LU04b).
Darstellung: Linie mit kurzem Querstrich auf beiden Seiten.
Ein Auto kann gleichzeitig nur eine Person fahren, und eine Person fährt gleichzeitig nur ein Auto.
Darstellung: Querstrich („eins“) auf der einen Seite, Krähenfuss („viele„) auf der anderen.
Eine Regisseurin kann mehrere Filme drehen. Ein Film wird in der Regel von einer Regie gedreht.
Darstellung: Krähenfuss auf beiden Seiten.
Ein:e Schauspieler:in kann in mehreren Filmen spielen. Ein Film kann mehrere Schauspieler:innen haben.
Die folgende Übersicht zeigt alle möglichen Symbolkombinationen:
Wir haben die Entitäten Kunde, Bestellung und Produkt:
In der Zeichnung erkennen Sie das an den Linienenden: Zwischen Kunde und Bestellung steht ein Querstrich auf der Kundenseite und ein Krähenfuss auf der Bestellungsseite. Zwischen Bestellung und Produkt stehen Krähenfüsse auf beiden Seiten.
Im Crow's-Foot-Diagramm werden die Schlüssel direkt eingetragen:
Damit die Daten korrekt und widerspruchsfrei bleiben, gelten drei Regeln:
| Regel | Bedeutung |
|---|---|
| Entitätsintegrität | Jede Tabelle braucht einen Primärschlüssel, und dieser darf nie leer (NULL) sein. |
| Referentielle Integrität | Ein Fremdschlüssel muss auf einen Primärschlüssel verweisen, den es tatsächlich gibt. |
| Domänenintegrität | Die Werte müssen zum vorgesehenen Datentyp passen – in einer Zahlenspalte steht kein Text. |
Wie geht es weiter? In LU05 setzen wir ein solches logisches Modell in eine echte Datenbank um: Wir wählen passende Datentypen und legen die Tabellen mit SQL-Befehlen (CREATE TABLE …) an.