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
- atomare Attribute aufweisen und
- 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.
Lizenziert unter Creative Commons Attribution Non-commercial Share Alike License 4.0