Datenbanken normalisieren

Entitäten können mehr als ein Feld benötigen, um sie einmalig zu machen – deshalb erstellen wir einen so genannten zusammengesetzten Primärschlüssel. In Abbildung B besteht der Primärschlüssel der Tabelle titleauthor beispielsweise sowohl aus einer au_id als auch aus einer title_id.

Ich habe die Tabelle employee um ein Feld für die Sozialversicherungs-Nummern (ssn) ergänzt, um zu zeigen, dass eine Tabelle andere Felder haben kann, die als Primärschlüssel agieren. Aus Gründen des Designs habe ich mich jedoch entschlossen, keinen Primärschlüssel zu erstellen. In Abbildung B kann das Feld ssn verschlüsselt werden und ist so von der Anwendung nicht leicht zu verwenden. In diesem Fall ist ssn das, was als Kandidatenschlüssel bekannt ist. Dabei handelt es sich um einen Schlüssel oder eine Kombination verschiedener Schlüssel, die ausschließlich zur Identifizierung eines Datensatzes dienen. Eine Tabelle kann zwar nur einen Primärschlüssel, jedoch mehrere Kandidatenschlüssel haben.

Ist das normal?

Normalisierung ist der Prozess, in dem die Beziehungen zwischen Entitäten überprüft werden, damit potenzielle Probleme nicht während Entwicklungs-, Test- oder Produktions-Phasen auftreten. Der Kern dieser Aussage ist, dass nicht alle Beziehungen gleich sind; daher fällen wir ein normatives oder Werte-basiertes Urteil darüber, welche Beziehungen für das Modellieren unseres Systems am besten geeignet sind. Datenbank-Normalisierung hat sich zu einem Industrie-Standard entwickelt, denn Datenbank-Architekten haben die Nachteile des Arbeitens mit nicht normalisierten Datenbanken schnell bemerkt.

Derzeit gibt es fünf Normalformen, plus die Normalform Boyce-Codd. Ein Datenbank-Schema wechselt zur Boyce-Codd Normalform, indem sich wiederholende Gruppen und redundante Daten entfernt werden und indem sichergestellt wird, dass alle Nicht-Schlüssel-Attribute vollständig vom Primärschlüssel abhängen und dass alle Determinanten Kandidatenschlüssel sind.

Die Formen bewegen sich von weniger restriktiv bis zur restriktivsten. Typische Business-Anwendungen gehen nicht weiter als bis zur dritten Form, denn dies würde einen zu großen Zeit- und Geldaufwand bedeuten. Außerdem wären für das Zurückziehen der Daten zu viele Schnittstellen nötig, was die Leistungsfähigkeit einschränken würde.

Die ersten drei Normalformen lassen sich mit dem folgenden Satz zusammenfassen: „Der Schlüssel, der ganze Schlüssel und nichts als der Schlüssel“. Ich werde sie einzeln näher beleuchten.

Themenseiten: Big Data, Datenbank, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

2 Kommentare zu Datenbanken normalisieren

Kommentar hinzufügen
  • Am 15. Juli 2009 um 9:40 von Pit Zyclade

    Datenbanken normalisieren
    Die Beispiele sind nicht durchweg gut. Einige Sätze werden rekursiv erklärt, also gar nicht. Warum kann man in Beispielen keine deutschen Bezeichnungen wählen, wenn für eine deutschsprachige Leserschaft geschrieben wird?

  • Am 9. Februar 2011 um 21:22 von Jörg Friedrich

    Die Erklärung der ersten Normalform ist falsch
    Die erste Normalform hat nichts mit dem Schlüssel zu tun sondern damit, dass in jedem Feld nur atomare Werte stehen dürfen, also z.B. Trennung von Vorname und Name, Straße und Hausnummer…

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *