Alle Tabs der Lerneinheit (Erklärung · Stepper · Praxis-Übung · Klausur-Quiz) als durchgehender Text. Ideal zum Wiederholen vor der Klausur, und für Suchmaschinen wie Google, Bing und KI-Suche (ChatGPT, Perplexity).
Erklärung
Du hast ein ER-Diagramm gezeichnet — wie wird daraus ein konkretes Datenbank-Schema mit Tabellen, Primärschlüsseln und Fremdschlüsseln? Genau diese Transformation ist Klausur-Pflicht in jedem WInf-DB-Modul (12/12 implizit). Sie hat klare Regeln — wenn du sie kennst, bist du in 5 Minuten durch.
Wir gehen die 4 Transformations-Regeln systematisch durch.
Regel 1: Entität → Tabelle
Jede Entität wird eine Tabelle. Attribute werden Spalten, Schlüssel wird Primärschlüssel.
ER:
Studierende(MatrNr, Name, Semester)
Relational:
| Studierende |
|---|
| MatrNr (PK) |
| Name |
| Semester |
Direkt 1:1, kein Trick.
Regel 2: 1:N-Beziehung → Fremdschlüssel auf der N-Seite
Bei 1:N (eine Mutter, viele Kinder): füge der "vielen"-Seite einen Fremdschlüssel auf die "einer"-Seite hinzu. Keine neue Tabelle.
Interaktive Visualisierung
Interaktive Komponente: probiere sie im Topic-Player oben aus.
Klausur-Faustregeln
- 4 Regeln auswendig: Entität→Tabelle, 1:N→FK auf N-Seite, N:M→Junction, 1:1→FK+UNIQUE.
- Beziehungs-Attribute kommen dorthin, wo die Beziehung als Spalte/Tabelle landet.
- Junction-PK ist zusammengesetzt aus beiden FKs (Standardfall).
- Kardinalitäten genau lesen. 1:N und N:M unterscheiden sich nur durch ein Buchstaben — aber das ergibt komplett verschiedene Tabellen.
- Schwache Entitäten: existieren nicht ohne ihre Mutter — bekommen FK + Teil-PK aus der Mutter.
Typische Stolpersteine
1. N:M ohne Junction-Tabelle. Falsch — N:M-Beziehungen brauchen IMMER eine extra Tabelle. Klassiker-Fehler: zwei FKs in eine der Entitäten packen.
2. FK auf der falschen Seite bei 1:N. Der FK muss zur N-Seite (zur "vielen"). Sonst wäre der Spalten-Wert nicht atomar.
3. Beziehungs-Attribute vergessen. "Note" bei Belegung ist kein Studi-Attribut und kein Kurs-Attribut — sie ist ein Belegungs-Attribut und gehört in die Junction.
4. ISA-Hierarchie ignorieren. Wenn das ER eine Vererbungs-Beziehung hat (Person ← Studi, Person ← Mitarbeiter), gibt es 3 Umsetzungs-Varianten: Single Table, Class Table per ISA-Kind, oder Concrete Table. Klausur fragt oft nach der Vergleichs-Tabelle.
Stepper
ER → Relational Lab
Wähle ein ER-Diagramm und sieh die Transformation in 3 Schritten: Entitäten → 1:N-Beziehungen → N:M-Beziehungen.
Interaktive Visualisierung
Interaktive Komponente: probiere sie im Topic-Player oben aus.
Klausur-Tipp: Geh ER-Diagramme in dieser Reihenfolge durch: 1) Alle Entitäten als Tabelle. 2) Alle 1:N → FK auf N-Seite. 3) Alle N:M → Junction-Tabelle. 4) Alle 1:1 → FK+UNIQUE. 5) Beziehungs-Attribute zuordnen.
Praxis-Übung
ER → Relational — Praxis-Übung
6 Aufgaben zu den 4 Transformations-Regeln und typischen Klausur-Fallen.
Klausurfragen mit Lösungen (6)
- F1.Wie wird eine 1:N-Beziehung in Tabellen umgesetzt?
Antwort: Fremdschlüssel auf der N-Seite
Erklärung: Bei 1:N bekommt die N-Seite (die 'vielen') einen Fremdschlüssel auf die 1-Seite. Beispiel: Abteilung 1—N Mitarbeiter → Mitarbeiter-Tabelle bekommt eine Spalte AbtID (FK).
- F2.Wie wird eine N:M-Beziehung umgesetzt?
Antwort: Eine separate Junction-Tabelle mit beiden FKs als zusammengesetztem PK
Erklärung: N:M braucht IMMER eine separate Tabelle. Studi N—M Kurs → Tabelle Belegungen mit (MatrNr, KursID) als zusammengesetzter PK plus FK-Constraints auf beide Entitäten.
- F3.Wo kommt das Beziehungs-Attribut 'Note' (in Studi-belegt-Kurs) hin?
Antwort: In die Junction-Tabelle Belegungen
Erklärung: Note gehört zur Beziehung, nicht zur Entität. Wenn Beziehung als Junction-Tabelle umgesetzt wird (N:M), kommt Note dort hinein. Wäre es 1:N, käme Note auf die N-Seite (zusammen mit dem FK).
Klausur-Quiz
Klausurfragen mit Lösungen (6)
- F1.ER: Auto 1—1 Halterperson. Wie viele Tabellen sind nötig?
Antwort: 2 Tabellen
Erklärung: 1:1 → 2 Tabellen. FK auf einer Seite mit UNIQUE NOT NULL. Junction wäre erst bei N:M nötig.
- F2.ER: Kunde N—M Bestellung. Beziehungs-Attribut: Bestellnummer. Wohin?
Antwort: In die Junction-Tabelle Kunde-Bestellung
Erklärung: N:M braucht Junction. Beziehungs-Attribute (hier Bestellnummer) kommen in diese Junction. Wenn Bestellnummer eindeutig pro Bestellung sein soll, würde man sie als zusätzlichen Constraint anlegen.
- F3.Ein FK kann NULL sein, wenn die Beziehung optional ist (z.B. Mitarbeiter kann ohne Abteilung sein).
Antwort: Wahr
Erklärung: Wahr. NULL-FK = 'keine Beziehung'. Klausur-Achtung: NULL kompliziert NOT IN-Subqueries und Outer Joins. Bei Pflicht-Beziehung NOT NULL setzen.
Typ: Wahr/Falsch
- F4.Sortiere die ER → Relational-Transformations-Schritte: