Dies ist eine alte Version des Dokuments!
LU04b - Die Crow’s-Foot-Notation
„Crow’s Foot“ bedeutet übersetzt Krähenfuss. Der Name kommt vom Symbol für many (viele), das wie ein kleiner Krähenfuss aussieht.
Die Crow’s-Foot-Notation stellt eine Datenbank so dar, dass man sofort erkennt:
- wie Entitäten (Tabellen) miteinander verknüpft sind,
- wie viele Objekte (Instanzen) einer Entität mit wie vielen Objekten einer anderen verbunden sein können (= Kardinalität),
- welche Primärschlüssel (PK) und Fremdschlüssel (FK) definiert sind,
- welche Attribute zu einer Tabelle gehören (auf Wunsch auch mit Datentypen).
Damit kann die Crow’s-Foot-Notation Teil eines logischen Datenbankschemas sein und bildet die Brücke von der Analyse (Chen-Notation) zur technischen Umsetzung in SQL.
Kardinalitäten in der Crow’s-Foot-Notation
Die Kardinalität beschreibt die Art der Beziehung zwischen zwei Entitäten. Es gibt drei Haupttypen:
1. One-to-One (1:1) Eine Instanz von Entität A gehört genau zu einer Instanz von Entität B.
Beispiel:
- Ein:e Mitarbeitende ↔ genau ein Arbeitsplatz
- Jeder Reisepass ↔ genau eine Person
Darstellung: Linie mit kurzem Strich auf beiden Seiten.
One-to-One (1:1) Beziehung: Ein Auto kann (gleichzeitig) immer nur einen Fahrer, eine Fahrerin haben. Eine Fahrerin, ein Fahrer kann (gleichzeitig) nur immer Ein Auto fahren.
2. One-to-Many (1:N) Eine Instanz von Entität A kann mit vielen Instanzen von Entität B verbunden sein. Umgekehrt gehört jede Instanz von B zu genau einer Instanz von A.
Beispiel:
- Ein Regisseur ↔ viele Filme
- Ein Spotify-Artist ↔ viele Songs
- Eine Klasse ↔ viele Lernende
Darstellung: Linie mit Strich (= „eins“) auf Seite A und einem „Krähenfuss“ (drei Linien) auf Seite B.
One-to-Many (1:n) Beziehung: Ein Regisseur, eine Regisseurin kann mehrere Filme drehen. Ein Film wird (in der Regel) nur von einem Regisseur, einer Regisseurin gedreht.
3. Many-to-Many (M:N) Mehrere Instanzen von Entität A können mit mehreren Instanzen von Entität B verknüpft sein.
Beispiel:
- Mehrere Schauspieler:innen ↔ spielen in mehreren Filmen
- Viele Lernende ↔ besuchen mehrere Module
- Viele Songs ↔ sind in mehreren Playlists enthalten
Darstellung: Krähenfüße auf beiden Seiten der Beziehung.
Die folgende Abbildung zeigt alle möglichen Kardinalitäten:
Warum Crow’s-Foot-Notation?
Die Crow’s-Foot-Notation wird oft in der Praxis eingesetzt, weil sie eine klare und technische Darstellung bietet.
Im Unterschied zur Chen-Notation, die eher fachlich und abstrakt ist, dient Crow’s-Foot als Brücke zur Umsetzung in SQL:
- Sie zeigt Entitäten als Tabellen mit ihren Attributen.
- Sie markiert Primärschlüssel (PK) und Fremdschlüssel (FK).
- Sie stellt Beziehungen und Kardinalitäten (1:1, 1:n, n:m) deutlich dar.
Damit ist sie die letzte Station vor der praktischen Umsetzung mit SQL-Befehlen wie `CREATE TABLE …`.
Crow’s-Foot wird also vor allem von Entwickler:innen, Datenbank-Designer:innen und Lernenden genutzt, die den Schritt von der Analyse (Chen) zur technischen Umsetzung (SQL) machen. Stakeholder ohne IT-Hintergrund können sie verstehen – aber nur, wenn sie vorher eingeführt werden.
Merksatz:
- Chen = Analyse/Planung (Welche Objekte und Beziehungen gibt es?)
- Crow’s-Foot = Umsetzung (Wie sehen Tabellen, Schlüssel und Kardinalitäten konkret aus?)
Beispiel Crow’s-Foot-Notation
Stellen wir uns einen Online-Buchshop vor. Wir haben die Entitäten:
- Kunde
- Bestellung
- Buch
Beziehungen:
- Ein Kunde kann viele Bestellungen aufgeben (1:N).
- Eine Bestellung kann mehrere Bücher enthalten, und ein Buch kann in vielen Bestellungen vorkommen (M:N).
Darstellung in Crow’s-Foot-Notation:
- Linie zwischen Kunde und Bestellung, mit Strich (1) auf der Kundenseite und Krähenfuß (N) auf der Bestellungsseite.
- Linie zwischen Bestellung und Buch mit Krähenfuß auf beiden Seiten.
Beispiel: Vom Schema zur Tabelle
Ausgangspunkt ist ein kleines Crow’s Foot Schema:
- Regisseur (RegisseurID PK, Name)
- Film (FilmID PK, Titel, Jahr, RegisseurID FK)
- Beziehung: 1 Regisseur ↔ n Filme