Navigation überspringen

1. Normalform (NF)

Beabsichtigte Lernziele

Dieser Abschnitt widmet sich der Übertragung unserer Grund-Daten in die 1. Normalform. 

Dabei ist zu erreichen, dass alle Datenbank-Tabellen

  1. atomare Attribute aufweisen und
  2. wiederholungsgruppenfrei sind.

Wiederholungsgruppen

Wiederholungsgruppen sind Listen oder Folgen gleichen Datentyps innerhalb eines Attributs (hier aus unseren Grzunddaten das Attribut cdIDFolge).

cdausleihe
ausleihID cdIDFolge Ausleihdatum Person
1 1;34;21 18.01.2017 Max Müller, 0491 222222
2 13;55 12.02.2017 Gabriela Fritz, 0213 4567

Anwendung

Im ersten Schritt zur Erzeugung der 1. Normalform kümmern wir uns um die einheitliche Eintragsform "atomar".

In unseren Grunddaten betrachten wir dafür jede Tabelle zunächst einzeln

cdsammlung
cdID Interpret Titel Erscheinungsjahr
1 Prong Cleansing 1994
34 Revolter Datamerica 1996
55 coal chamber Chamber Music 1999
13 Anthrax sound of white noise 1993
21 Helmet Meantime 1992

  atomar

Erklärung: die Tabelle cdsammlung enthält nicht nur zufällig keine verketteten Einträge innerhalb der Attribute.

cdausleihe
ausleihID cdIDFolge Ausleihdatum Person
1 1;34;21 18.01.2017 Max Müller, 0491 222222
2 13;55 12.02.2017 Gabriela Fritz, 0213 4567

  atomar

Erklärung:

Die Tabelle cdausleihe enthält verketteten Einträge inin den Attributen cdIDFolge und Person.

Abhilfe:

Die beiden Attribute cdIDFolge und Person werden logisch ausgelagert.

Überarbeitung:

1. Wir beginnen mit der näheren des Attributs Person. Die vorhandenen Daten Vorname, Nachname und Telefonnummer werden zunächst in einzelne Attribute verteilt. 

Zwischenergebnis

cdausleihe
ausleihID cdIDFolge Ausleihdatum Vorname Nachname Telefon
1 1;34;21 18.01.2017 Max Müller 0491 222222
2 13;55 12.02.2017 Gabriela Fritz 0213 4567

2.   Die Personendaten sind nun atomar

3.   Oben sehen wir die Forderung nach Wiederholungsgruppenfreiheit. Das Attribut cdIDFolge ist in seiner Eigenschaft eine Wiederholungsgruppe, da es ausschließlich die cdIDs der Tabelle cdsammlung enthält. Das heißt, es kommtin diesem Attribut nur ein Datentyp in Form einer Liste vor. Hier gilt es die eine neue eigenständige Relation (Tabelle) für diese Wiederholungsgruppe zu erzeugen.

  Auch hier gilt: Informationen dürfen nicht verloren gehen oder sinnlos werden. Aus diesem Grunde trennen wir die Tabelle cdausleihe auf in zwei Tabellen und verteilen wieder Schlüssel...

cdausleihe
ausleihID Ausleihdatum Vorname Nachname Telefon
1 18.01.2017 Max Müller 0491 222222
2 12.02.2017 Gabriela Fritz 0213 4567

ausgeliehenecds
ausleihID cdID
1 1
1 34
1 21
2 13
2 55

4.   Die Wiederholungsgruppe cdIDFolge wurde aufgelöst.

5.   Die Informationen der ursprünlichen Daten wurden erhalten.

6.   Die Daten sind nun grundsätzlich für eine SQL-basierte Suche aufbereitet!

Fazit:

Alle Forderungen der 1. Normalform (siehe oben) wurden erfüllt.