Skip to content
IRC-Coding IRC-Coding
Datenbankdesign Normalisierung 1NF 2NF 3NF BCNF Anomalien Funktionale Abhängigkeiten Beziehungen

Datenbankdesign Normalisierung einfach erklärt

Normalisierung eliminiert Redundanzen und Anomalien in Datenbanken. Mit 1NF, 2NF, 3NF, BCNF, atomaren Werten, funktionalen Abhängigkeiten, Schlüsseln und Beziehungen.

S

schutzgeist

2 min read

Datenbankdesign Normalisierung – 1NF, 2NF, 3NF, BCNF, Anomalien, Beziehungen

Dieser Beitrag ist eine Begriffserklärung zur Datenbanknormalisierung – inklusive Prüfungsfragen und Tags.

In a Nutshell

Normalisierung eliminiert Redundanzen und Anomalien in Datenbanken durch schrittweise Zerlegung von Relationen in wohldefinierte Normalformen, um Datenintegrität und Konsistenz zu gewährleisten.

Kompakte Fachbeschreibung

Normalisierung ist ein systematischer Prozess zur Umgestaltung relationaler Datenbanken, um Redundanzen zu eliminieren und Anomalien zu vermeiden. Die 1. Normalform (1NF) fordert atomare Werte und eindeutige Primärschlüssel. Die 2. Normalform (2NF) erfordert 1NF und eliminiert partielle Abhängigkeiten von Nicht-Schlüsselattributen. Die 3. Normalform (3NF) verlangt 2NF und entfernt transitive Abhängigkeiten. Die Boyce-Codd-Normalform (BCNF) ist eine stärkere Form der 3NF, die alle determinanten Schlüsselkandidaten sein lässt. Durch Normalisierung werden Insert-, Update- und Delete-Anomalien vermieden und die Datenintegrität verbessert.

Prüfungsrelevante Stichpunkte

  • 1NF: Atomare Werte, keine Wiederholungsgruppen, eindeutige Primärschlüssel
  • 2NF: 1NF erfüllt, keine partiellen Abhängigkeiten, Nicht-Schlüssel-Attribute voll abhängig
  • 3NF: 2NF erfüllt, keine transitiven Abhängigkeiten
  • BCNF: Jede Determinante ist ein Schlüsselkandidat
  • Funktionale Abhängigkeiten: X → Y bedeutet Y funktional abhängig von X
  • Anomalien vermeiden: Insert-, Update-, Delete-Anomalien
  • IHK relevant: Normalformen erkennen und anwenden können
  • Praxis: Redundanzen reduzieren, Performance optimieren, Konsistenz sichern

Kernkomponenten

  1. Atomare Werte und 1NF
  2. Funktionale Abhängigkeiten
  3. Primärschlüssel und Schlüsselkandidaten
  4. Partielle Abhängigkeiten und 2NF
  5. Transitive Abhängigkeiten und 3NF
  6. Determinanten und BCNF
  7. Anomalien (Insert, Update, Delete)
  8. Redundanzen und ihre Folgen
  9. Beziehungen und Fremdschlüssel
  10. Denormalisierung als Gegenstück

Praxisbeispiel

// Vor Normalisierung (Problem mit Redundanzen)
Bestellung(BestellNr, KundenNr, KundenName, ArtikelNr, ArtikelName, Menge)

// Nach Normalisierung in 3NF
Kunde(KundenNr, KundenName)
Artikel(ArtikelNr, ArtikelName)
Bestellung(BestellNr, KundenNr, Datum)
BestellPosition(BestellNr, ArtikelNr, Menge)

Erklärung: Redundanzen eliminiert, jeder Datensatz nur einmal gespeichert, Anomalien vermieden.

Vorteile und Nachteile

Vorteile

  • Reduziert Redundanzen und Speicherbedarf
  • Vermeidet Anomalien bei Datenmanipulation
  • Verbessert Datenintegrität und Konsistenz
  • Ermöglicht flexiblere Datenstrukturänderungen

Nachteile

  • Erhöhte Komplexität durch viele Tabellen
  • Performance-Einbußen durch Joins
  • Höherer Implementierungsaufwand
  • Eventuell notwendige Denormalisierung für Performance

Typische Prüfungsfragen (mit Kurzantwort)

  1. 1NF fordert? Atomare Werte, keine Wiederholungsgruppen, eindeutige Primärschlüssel.

  2. 2NF unterscheidet sich von 1NF? 2NF erfordert 1NF und eliminiert partielle Abhängigkeiten von Nicht-Schlüsselattributen.

  3. Transitive Abhängigkeit bei 3NF? Attribut A hängt von B ab, B hängt von C ab, aber A hängt nicht direkt von C ab.

  4. BCNF stärker als 3NF? BCNF fordert, dass jede Determinante ein Schlüsselkandidat ist, strengere Bedingung als 3NF.

  5. Insert-Anomalie vermeiden? Durch Normalisierung können neue Daten eingefügt werden, ohne vorhandene Daten duplizieren zu müssen.

  6. Funktionale Abhängigkeit X → Y bedeutet? Für jeden Wert von X gibt es genau einen zugehörigen Wert von Y.

  7. Update-Anomalie und Beispiel? Änderung eines Kundennamens erfordert Änderung in allen Bestellungen, riskiert Inkonsistenz.

  8. Wann Denormalisierung sinnvoll? Bei Performance-Problemen durch komplexe Joins, gezielte Redundanzen bewusst in Kauf nehmen.

Wichtigste Quellen

  1. https://de.wikipedia.org/wiki/Normalisierung_(Datenbanken)
  2. https://docs.microsoft.com/de-de/sql/relational-databases/normalization
  3. https://www.guru99.com/database-normalization.html
Zurück zum Blog
Share:

Ähnliche Beiträge