AP2Lernhub
Sehr hoch📊 75% Prüfungs-Häufigkeit🎯 ~141 Punkte kumuliert

Relationales Datenmodell

Vom Szenario zum Tabellenschema – Top-4-Thema in den letzten Prüfungen.

Warum Priorität „Sehr hoch"? Fast immer in der Prüfung (80–99%). Intensiv üben.

Lernziele

  • Aus einem ER-Modell ein relationales Schema ableiten
  • Primär- und Fremdschlüssel korrekt kennzeichnen
  • 1:1-, 1:n- und n:m-Beziehungen in Tabellen umsetzen
  • Konventionen der AP2-Schreibweise einhalten

Kernbegriffe

Relation
Tabelle mit fester Spaltenmenge und Zeilen als Datensätzen.
Primärschlüssel (PK)
Minimale Spalte(n)-Kombination, die jeden Datensatz eindeutig identifiziert.
Fremdschlüssel (FK)
Spalte, die auf einen PK einer anderen Tabelle verweist.
Referentielle Integrität
Jede FK-Verweis muss existieren oder NULL sein.

1. Notation

In der AP2 wird das Schema meist textuell notiert:

kunde (id, name, stadt)
           ↑
         Primärschlüssel wird unterstrichen (oder fett/PK markiert)

Für Fremdschlüssel wird die Spalte zusätzlich gekennzeichnet, z. B. mit einem Pfeil auf die referenzierte Tabelle:

bestellung (id, kunde_id, datum)
                 ↑
              FK → kunde(id)

2. Überführung der Beziehungstypen

1:1

Einfachster Fall. FK kann auf einer der beiden Seiten liegen. Meist auf der Seite, die optional ist oder häufiger null sein darf.

mitarbeiter (id, name, parkplatz_id)
parkplatz   (id, nummer)
-- Oder umgekehrt: parkplatz bekommt mitarbeiter_id

1:n

FK wird immer auf der »n«-Seite eingefügt.

kunde       (id, name)
bestellung  (id, kunde_id, datum)
                 ↑
              FK → kunde(id)

n:m

Immer eine Zwischentabelle. Der PK der Zwischentabelle ist typischerweise die Kombination der beiden FKs (oder eine eigene ID + UNIQUE(FK1, FK2)).

student       (id, name)
kurs          (id, titel)
belegt        (student_id, kurs_id, note)   PK = (student_id, kurs_id)
                     ↑           ↑
                  FK → student  FK → kurs

3. Integritätsregeln

  • Entitätsintegrität: Kein Teil des Primärschlüssels darf NULL sein.
  • Referentielle Integrität: Jeder FK-Wert muss in der referenzierten Tabelle vorhanden sein – oder NULL sein, wenn zulässig.
  • Domänenintegrität: Wertebereich einer Spalte wird durch Datentyp und CHECK-Constraints eingehalten.

4. Typische Constraints im DDL

sql
CREATE TABLE bestellung (
  id         INT           PRIMARY KEY,
  kunde_id   INT           NOT NULL,
  datum      DATE          NOT NULL,
  status     VARCHAR(20)   CHECK (status IN ('offen','bezahlt','storniert')),
  CONSTRAINT fk_kunde FOREIGN KEY (kunde_id) REFERENCES kunde(id)
    ON DELETE RESTRICT
    ON UPDATE CASCADE
);

5. Beispiel: Vom ERM zum Schema

Gegeben:

  • Ein Kunde kann 0..n Bestellungen haben.
  • Jede Bestellung enthält mindestens 1 Artikel, jeder Artikel kann in vielen Bestellungen auftauchen.
  • Je Artikel in einer Bestellung wird eine Menge festgehalten.

Lösung:

kunde           (id, name, stadt)
artikel         (id, bezeichnung, preis)
bestellung      (id, kunde_id → kunde, datum)
bestellposition (bestellung_id → bestellung,
                 artikel_id   → artikel,
                 menge)        PK = (bestellung_id, artikel_id)

Übungen

Eine AntwortEine n:m-Beziehung zwischen Student und Kurs soll in ein relationales Schema überführt werden. Was ist richtig?

Eine AntwortWas bedeutet »referentielle Integrität«?

SQL-ÜbungLege per CREATE TABLE eine Tabelle `bestellung` (id PK, kunde_id FK → kunde(id), datum NOT NULL) an.

💡 Primary Key + Foreign Key mit REFERENCES.

Verwandte Themen