Zum Hauptinhalt springen

Die Tabelle befindet sich in der zweiten normalen Form, wenn keine mehrwertigen Abhängigkeiten vorhanden sind und jedes Nichtschlüsselattribut vollständig vom Primärschlüssel abhängt

Bei der Gestaltung von Datenbanken ist es ein wichtiger Aspekt, die Daten in Tabellen zu organisieren und zu normalisieren. Eine der wichtigsten Normalisierungen ist die zweite Normalform (2NF), die es ermöglicht, doppelte Datenprobleme und damit verbundene Anomalien beim Aktualisieren, Hinzufügen und Löschen von Informationen zu beheben.

Eine Tabelle wird als in der zweiten Normalform betrachtet, wenn sie zwei Kriterien erfüllt. Zuerst muss ein Primärschlüssel vorhanden sein, der aus einem oder mehreren Feldern besteht, die jeden Datensatz in der Tabelle eindeutig identifizieren. Zweitens muss jedes Nichtschlüsselattribut (Feld) voll funktionsfähig vom Primärschlüssel abhängen.

Dieser zweite Normalisierungsschritt hilft dabei, die Daten in verknüpfte Tabellen aufzuteilen, um die referenzielle Integrität zu bestätigen und die Verarbeitung der Daten zu verbessern. Dies reduziert auch die Menge der gespeicherten Daten, verbessert die Abfrageleistung und sorgt für eine effiziente Speichernutzung.

Was ist die zweite normale Form?

Die Grundidee der zweiten normalen Form besteht darin, die funktionellen Abhängigkeiten zwischen Nichtschlüsselattributen und einem Teil des Primärschlüssels zu beseitigen. Mit anderen Worten, jedes Attribut in einer Tabelle muss vollständig vom gesamten Primärschlüssel und nicht nur von seinem Teil abhängen.

Um die zweite Normalform zu erreichen, müssen zwei Bedingungen erfüllt sein:

  • Die Tabelle sollte in der ersten normalen Form (1NF) sein.
  • Alle Nichtschlüsselattribute müssen vollständig vom gesamten Primärschlüssel abhängen.

Die zweite normale Form hilft, die Datenstruktur in Tabellen zu verbessern und Redundanzen und Anomalien bei der Arbeit mit der Datenbank zu vermeiden. Es ermöglicht eine effizientere Speicherung und Verarbeitung von Daten und bietet eine einfachere und verständlichere Tabellenstruktur in der Datenbank.

Definition und Grundprinzipien

Die erste normale Form (1NF) ist die Anforderung, dass Tabellenfelder atomar sind. Das heißt, sie sollten keine doppelten Datengruppen enthalten. Die zweite normale Form versucht, die funktionale Abhängigkeit zwischen den nicht definierten Schlüsseln einer Tabelle und ihren Spalten zu beseitigen.

Die Grundprinzipien, denen die Tabelle in der zweiten normalen Form entsprechen sollte, sind:

  1. Alle nicht definierten Schlüssel müssen vollständig vom Primärschlüssel der Tabelle abhängen.
  2. Es gibt keine irreduzierbaren funktionalen Abhängigkeiten zwischen Tabellenspalten.

Das Prinzip der vollständigen funktionalen Abhängigkeit bedeutet, dass alle nicht definierten Schlüssel nur vom gesamten Primärschlüssel und nicht von seinen Bestandteilen abhängen sollten. Wenn ein nicht definiertes Feld nur von einem Teil des Primärschlüssels abhängt, müssen Sie dieses Feld einer separaten Tabelle zuweisen.

Das zweite Prinzip erfordert, dass keine irreduzierbaren funktionalen Abhängigkeiten zwischen den Spalten der Tabelle vorhanden sind. Dies bedeutet, dass jede Spalte in einer Tabelle nur von ihrem Primärschlüssel und nicht von den anderen Spalten abhängen sollte.

Warum ist die zweite normale Form wichtig?

Hier sind einige Gründe, warum die zweite normale Form wichtig ist:

  1. Eliminierung der Datenredundanz: 2NF entfernt doppelte Werte und Strukturen, wodurch die Menge der gespeicherten Daten reduziert und die Aktualisierung und Wartung erleichtert wird.
  2. Verbesserung der Abfrageeffizienz: durch die 2-PH-Normalisierung können Sie bessere Datenbankabfragen erstellen, wodurch Such- und Sortiervorgänge schneller ausgeführt werden.
  3. Verhindern von Datenanomalien: die Anwendung von 2NF minimiert das Risiko von Datenanomalien, wie Duplizierung von Informationen, Datenverlust oder falschen Berechnungsergebnissen.

Wenn die Tabelle nicht der zweiten normalen Form entspricht, treten Probleme mit der Datenintegrität, der Komplexität der Aktualisierung und Manipulation dieser Daten sowie der ineffizienten Ausführung von Datenbankabfragen auf. Daher sollten Sie sicherstellen, dass alle Tabellen in der Datenbank der zweiten normalen Form entsprechen.

Probleme mit einer Normalisierungsstörung

Wenn die Normalisierung der Tabelle unterbrochen wird und keine zweite normale Form vorliegt, können die folgenden Probleme auftreten:

  • Doppelte Daten: Wenn doppelte Daten in einer Tabelle vorhanden sind, besteht das Risiko von Fehlern beim Aktualisieren, Löschen oder Einfügen neuer Daten.
  • Verlust der Integrität: Das Fehlen einer hierarchischen Struktur in den Daten kann zu Problemen mit der Datenintegrität und zu Widersprüchen führen.
  • Schwierigkeiten bei der Begleitung: eine nicht normalisierte Tabelle erfordert mehr Aufwand, um sie zu unterstützen und zu ändern, da das Ändern eines einzelnen Teils der Daten Änderungen an mehreren Stellen erfordern kann.
  • Leistungsprobleme: eine nicht normalisierte Tabelle kann mehr Speicherplatz beanspruchen und mehr Ressourcen zum Ausführen von Abfragen benötigen, was zu einer Verschlechterung der Systemleistung führen kann.

Es wird empfohlen, die Normalisierung zu befolgen und die Tabellen in kleinere und verwandte Tabellen aufzuteilen, um diese Probleme zu lösen.

Die wichtigsten Merkmale der Tabelle in der zweiten normalen Form

In der zweiten normalen Form (VNF) hat die Tabelle die folgenden Hauptmerkmale:

  • Die Tabelle enthält keine Nichtschlüsselattribute, die vom zusammengesetzten Schlüssel abhängen.
  • Jedes Nichtschlüsselattribut hängt nur vom gesamten zusammengesetzten Schlüssel ab.

Das erste Merkmal bedeutet, dass Nichtschlüsselattribute nicht vom Teil des zusammengesetzten Schlüssels abhängen, sondern nur vom gesamten Schlüssel. Wenn eine Tabelle beispielsweise einen zusammengesetzten Schlüssel enthält, der aus zwei Attributen besteht, hängt jedes Nichtschlüsselattribut nur von diesen beiden Attributen zusammen ab, nicht von einem von ihnen.

Das zweite Merkmal stellt sicher, dass jedes Nichtschlüsselattribut nur vom gesamten zusammengesetzten Schlüssel abhängt und nicht funktional von anderen Nichtschlüsselattributen abhängig ist. Dies ermöglicht eine flexiblere und effizientere Speicherung und Verarbeitung von Daten in einer Tabelle.

Tabellen sind in der zweiten normalen Form strukturierter und ermöglichen eine effizientere Datenverwaltung, indem die Redundanz der Informationen minimiert und genauere und zuverlässigere Ergebnisse für Datenbankabfragen erzielt werden.

Ein Wert für jede Spalte

In einer Tabelle, die der zweiten normalen Form entspricht, sollte jede Spalte nur einen Wert pro Zeile enthalten. Dies bedeutet, dass jedes Feld in der Tabelle atomar sein muss, dh es muss nicht in kleinere Komponenten aufgeteilt werden.

Betrachten Sie beispielsweise die Tabelle "Mitarbeiter" mit den Feldern "Vorname", "Nachname" und "Telefon". Wenn in der Spalte "Telefon" mehrere durch Kommas getrennte Telefonnummern gespeichert werden, bricht dies die zweite normale Form. Stattdessen sollte jede Telefonnummer in einer separaten Zeile gespeichert werden, die einem bestimmten Mitarbeiter zugeordnet ist.

Durch die Einhaltung dieses Prinzips können Sie effizienter mit den Daten in einer Tabelle arbeiten und Probleme vermeiden, die mit dem Speichern und Verarbeiten mehrerer Werte in einer einzelnen Zelle verbunden sind.

Eindeutige Kennung

Ein eindeutiger Bezeichner kann durch eine oder mehrere Spalten in einer Tabelle dargestellt werden. Es wird normalerweise aus einer Reihe von Attributen ausgewählt, die jeden Datensatz am genauesten definieren. In der Tabelle "Studenten" kann beispielsweise eine eindeutige ID die Spalte "ID" (ID) sein, die die eindeutige Nummer jedes Studenten enthält.

Durch die Verwendung einer eindeutigen ID können Sie jeden Datensatz in einer Tabelle leicht identifizieren und ihn mithilfe von Fremdschlüsseln mit anderen Tabellen verknüpfen. Ein eindeutiger Bezeichner hilft, die Datenintegrität zu gewährleisten und die Leistung von Datenbankabfragen zu verbessern.

Abhängigkeit nur vom Primärschlüssel

In der zweiten normalen Form (2NF) muss die Tabelle einen einzelnen oder zusammengesetzten Primärschlüssel haben und nur von diesem Schlüssel abhängig sein. Abhängigkeit bedeutet, dass Attributwerte in einer Tabelle nur anhand von Primärschlüsselwerten definiert werden können.

Dies bedeutet, dass, wenn eine Tabelle Attribute enthält, die von anderen Attributen und nicht nur vom Primärschlüssel abhängen, diese Tabelle die zweite normale Form verletzt. Diese Abhängigkeit weist darauf hin, dass die Daten nicht gut strukturiert sind und Probleme beim Aktualisieren der Daten und beim Ausführen von Abfragen verursachen können.

Um dieses Problem zu beheben, müssen Sie die abhängigen Attribute in einer separaten Tabelle ablegen und eine Beziehung zwischen ihnen herstellen. Dies ermöglicht eine bessere Strukturierung der Daten und erleichtert das Ausführen von Tabellenvorgängen.

TabelleneintragungUrsache der Verletzung von 2NFWie man es repariert
BestellnummerMöglicherweise gibt es Felder, die von der Bestellnummer, aber nicht vom Primärschlüssel abhängen (z. B. Bestelldatum oder Status).Felder, die von der Bestellnummer (Bestelldatum, Status usw.) abhängig sind, in eine separate Tabelle mit einem Verweis auf die Bestellnummer als Fremdschlüssel einfügen
Produkt-CodeMöglicherweise gibt es Felder, die vom Produktcode abhängen, jedoch nicht vom Primärschlüssel (z. B. Artikelname oder Preis)Felder, die vom Produktcode abhängig sind (Artikelname, Preis usw.), in eine separate Tabelle mit einem Verweis auf den Produktcode als Fremdschlüssel einfügen

Beispieltabelle in der zweiten normalen Form

Hier ist ein Beispiel für eine Tabelle, die eine Datenbank mit Kunden und Bestellungen in einem Online-Shop darstellt:

Tabelle "Kunden"

  • client_id (PK) - eindeutige Client-ID
  • name - der Name des Kunden
  • phone - das Telefon des Kunden
  • email - E-Mail des Kunden

Tabelle "Bestellungen"

  • order_id (PK) - eindeutige Bestellkennung
  • client_id (FK) - Die Client-ID, die der Tabelle "Clients" zugeordnet ist
  • date - das Datum der Bestellung
  • total_price - Gesamtkosten der Bestellung
  • status - Status der Bestellung

In diesem Beispiel befinden sich die Tabellen Kunden und Aufträge in der zweiten normalen Form, da alle Attribute atomar sind (sie werden nicht in kleinere Teile geteilt) und jedes Nichtschlüsselattribut vollständig vom Primärschlüssel abhängt.

Die Tabelle Clients verfügt über einen Primärschlüssel client_id, der jeden Datensatz eindeutig identifiziert. Die Attribute name, phone und email hängen vollständig vom Primärschlüsselwert ab und beziehen sich ausschließlich auf diesen Client.

Die Tabelle Bestellungen enthält den Primärschlüssel order_id sowie den Fremdschlüssel client_id, der der Tabelle Kunden zugeordnet ist. Die Attribute date, total_price und status hängen vollständig vom Primärschlüsselwert ab und beziehen sich auf einen bestimmten Auftrag. Mithilfe des client_id-Fremdschlüssels können Sie einen Auftrag mit dem entsprechenden Kunden verknüpfen.