Professional Documents
Culture Documents
Die folgende Übung versucht, das Wissen über Standardisierung anhand eines vereinfachten Beispiels einer
Datenbank für eine kleine Bibliothek zu überprüfen.
Diese Tabelle erfüllt nicht die Anforderung der Ersten Normalform (1FN), nur atomare Felder zu haben, da der
Name des Lesers ein Feld ist, das in den väterlichen Nachnamen, den mütterlichen Nachnamen und die
Vornamen zerlegt werden kann (und sollte).
1NF
CodLibro Titel Autor Redaktion Paterno Mütterli Namen DateDev
cherseit
s
Komplexe McGraw
1001 Murray Spiegel Pérez Gomez John 15/04/2005
Variable Hill
1004 Visual Basic 5 E. Petroustsos Anaya Flüsse Terán Ana 17/04/2005
McGraw
1005 Statistik Murray Spiegel Felsen René 16/04/2005
Hill
Oracle Nancy Oracle
1006 Garcia Roque Luis 20/04/2005
Universität Greenberg Corp.
Oracle Oracle
1006 Priya Nathan Garcia Roque Luis 20/04/2005
Universität Corp.
McGraw
1007 Clipper 5.01 Ramalho Pérez Gomez John 18/04/2005
Hill
Wie man sehen kann, gibt es eine gewisse Redundanz, die für 1NF charakteristisch ist.
Die zweite Normalform (2FN) verlangt, dass es keine partiellen Abhängigkeiten gibt, oder anders gesagt, alle
Nicht-Schlüsselattribute müssen vollständig vom Primärschlüssel abhängig sein.
Derzeit haben wir in unserer Tabelle mehrere Teilabhängigkeiten, wenn wir als Schlüsselattribut den Buchcode
betrachten.
So wird beispielsweise der Titel vollständig durch den Buchcode identifiziert, aber der Name des Lesers hängt
nicht wirklich von diesem Code ab, so dass diese Daten in eine andere Tabelle verschoben werden müssen.
2FN
Wir haben eine Tabelle erstellt, die die Leserdaten enthält, und mussten auch die Spalte CodLector erstellen,
um jeden Leser eindeutig zu identifizieren.
Dieses neue Datenbanklayout macht jedoch eine weitere Tabelle erforderlich, in der die Informationen darüber
gespeichert werden, welche Bücher an welche Leser ausgeliehen sind.
Für die dritte Normalform (3FN) muss die Beziehung 2FN sein, und außerdem müssen die Nicht-
Schlüsselattribute voneinander unabhängig und vollständig vom Primärschlüssel abhängig sein.
Erinnern Sie sich auch daran, dass wir gesagt haben, dass dies bedeutet, dass die Spalten in der Tabelle nur
Informationen über die Entität enthalten dürfen, die durch den Primärschlüssel definiert ist, und daher dürfen die
Spalten in der Tabelle nur Daten über eine Sache enthalten.
In unserem 2FN-Beispiel enthält die erste Tabelle Informationen über das Buch, die Autoren und die Verlage, so
dass wir neue Tabellen erstellen müssen, um die 3FN-Anforderungen zu erfüllen.
3FN
CodLibro Titel
1001 Komplexe Variable
1004 Visual Basic 5
1005 Statistik
1006 Oracle Universität
1007 Clipper 5.01
CodAutor Autor
801 Murray Spiegel
802 E. Petroustsos
Nancy
803 Greenberg
804 Priya Nathan
806 Ramalho
CodEditorial Redaktion
901 McGraw Hill
902 Anaya
903 Oracle Corp.
Obwohl wir neue Tabellen erstellt haben, so dass jede Tabelle nur Informationen über eine Entität enthält, haben
wir auch die Informationen darüber verloren, welcher Autor welches Buch geschrieben hat und die
entsprechenden Verlage, so dass wir andere Tabellen erstellen müssen, die jedes Buch mit seinen Autoren und
Verlagen in Verbindung bringen.
CodLibro codAutho
r
1001 801
1004 802
1005 801
1006 803
1006 804
1007 806
CodLibro codEditorial
1001 901
1004 902
1005 901
1006 903
1007 901
Die übrigen Tabellen brauchen nicht geändert zu werden.