You are on page 1of 5

Beispiel für die Standardisierung von Bibliotheken

Die folgende Übung versucht, das Wissen über Standardisierung anhand eines vereinfachten Beispiels einer
Datenbank für eine kleine Bibliothek zu überprüfen.

CodLibro Titel Autor Redaktion NameReader DateDev


Komplexe Pérez Gómez,
1001 Murray Spiegel McGraw Hill 15/04/2005
Variable Juan
1004 Visual Basic 5 E. Petroustsos Anaya Ríos Terán, Ana 17/04/2005
1005 Statistik Murray Spiegel McGraw Hill Roca, René 16/04/2005
Nancy
García Roque,
1006 Oracle Universität Greenberg und Oracle Corp. 20/04/2005
Luis
Priya Nathan
Pérez Gómez,
1007 Clipper 5.01 Ramalho McGraw Hill 18/04/2005
Juan

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).

Wie in der nachstehenden Tabelle dargestellt.

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

CodLibro Titel Autor Redaktion


1001 Komplexe Variable Murray Spiegel McGraw Hill
1004 Visual Basic 5 E. Petroustsos Anaya
1005 Statistik Murray Spiegel McGraw Hill
1006 Oracle Universität Nancy Greenberg Oracle Corp.
1006 Oracle Universität Priya Nathan Oracle Corp.
1007 Clipper 5.01 Ramalho McGraw Hill

Die neue Tabelle enthält nur Daten aus dem Lesegerät.

CodLecto Patern Mütterli Namen


r o chersei
ts
501 Pérez Gomez John
502 Flüsse Terán Ana
503 Felsen René
504 Garcia Roque Luis

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.

Diese Tabelle ist unten abgebildet:


CodLibr CodLecto DateDev
o r
15/04/200
1001 501 5
17/04/200
1004 502 5
16/04/200
1005 503 5
20/04/200
1006 504 5
18/04/200
1007 501 5

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.

CodLector Paterno Mütterli Namen


cherseit
s
501 Pérez Gomez John
502 Flüsse Terán Ana
503 Felsen René
504 Garcia Roque Luis

CodLibr CodLect DateDev


o or
15/04/200
1001 501 5
17/04/200
1004 502 5
16/04/200
1005 503 5
20/04/200
1006 504 5
18/04/200
1007 501 5

You might also like