Abhängigkeit

BestellID

Kunde

Artikel

Lieferdatum

Lieferant

Lieferantenadresse

1001

Max Mustermann

Laptop, Maus, Tastatur

2025-10-10

TechShop

Berlin, Hauptstraße 1

1002

Anna Schmidt

Monitor, Kopfhörer

2025-10-12

TechShop

Berlin, Hauptstraße 1

1003

Peter Müller

Drucker, Tinte

2025-10-15

BüroBedarf

Hamburg, Hafenstraße 10

Funktionale Abhängigkeit

Eine funktionale Abhängigkeit liegt vor, wenn der Wert einer Spalte eindeutig durch den Wert einer anderen Spalte bestimmt wird.

Beispiel aus der Tabelle:

  • Jede BestellID ist genau einem Kunden, einem oder mehreren Artikeln, einem Lieferdatum, einem Lieferanten und einer Lieferantenadresse zugeordnet.

  • Das bedeutet: BestellID → Kunde, Lieferdatum, Lieferant, Lieferantenadresse (Die Artikel sind hier eine Wiederholungsgruppe und verstoßen gegen die 1NF.)

Surrogatschlüssel:

  • In deiner Tabelle ist BestellID ein Surrogatschlüssel: ein künstlicher, eindeutiger Schlüssel, der nur zur Identifikation einer Zeile dient und keine inhaltliche Bedeutung hat.

  • Warum ist das wichtig? Durch die Nutzung von BestellID als Primärschlüssel wird jede Zeile eindeutig, und wir können funktionale Abhängigkeiten sauber erkennen.

Transitive Abhängigkeit

Eine transitive Abhängigkeit liegt vor, wenn eine Spalte nicht direkt vom Primärschlüssel abhängt, sondern über eine andere Spalte bestimmt wird.

Beispiele aus deiner Tabelle:

  • Lieferantenadresse hängt von Lieferant ab: Lieferant → Lieferantenadresse

  • Da Lieferant selbst von der BestellID abhängt, ergibt sich eine transitive Abhängigkeit: BestellID → Lieferant → Lieferantenadresse

Problem:

  • Wenn sich die Adresse eines Lieferanten ändert, müsste man in allen Zeilen der Tabelle die Lieferantenadresse anpassen – das erzeugt Redundanzen und Anomalien.