Daten, Informationen und Datenbanken

separation line
Go to previous page zurück Go to next page vor

4.1.6 Normalisierung von Relationen

Unter Normalisierung versteht man die systematische Untersuchung einer Relation mit dem Zweck, qualitativ hochwertige Relationen zu erhalten. Eine Relation ist dann normalisiert, wenn sie folgende Eigenschaften aufweist:

  • Sie ist redundanzfrei.
  • Sie verursacht keine Probleme bei der Datenpflege.
  • Sie beschreibt einen Ausschnitt aus der Realität angemessen und richtig.

Unnormalisierte Relationen enthalten nichtatomare Attribute, d. h. die Attribute selbst besitzen eine gewisse Struktur z. B. eine Menge von Werten. Das Ziel des Normalisierungsprozesses besteht darin, die zur Datenintegrität notwendige Einheitlichkeit in den Entwurf der Datenbank zu bringen. Es ist schon beim Design einfacher Relationen notwendig sich über die Normalisierungsprinzipien im Klaren zu sein, um eine korrekte Implementierung des logischen Schemas zu ermöglichen. Um die Umwandlung der Relationen in die drei Normalformen zu verstehen, müssen wir zuerst das Konzept der Abhängigkeiten zwischen Attributen dieser Relationen einführen.

Funktionale Abhängigkeit

ID Name
S1 Meier
S2 Weber

Das Attribut Name ist termfunktional abhängig vom Attribut ID (ID --> Name).



Identifikationsschlüssel

ID Name Vorname
S1 Meier Hans
S2 Weber Ueli

Das Attribut ID ist der termIdentifikationssschlüssel.



Volle funktionale Abhängigkeit

IDStudent Name IDProfessor Note
S1 Meier P2 5
S2 Weber P1 6

Das Attribut „Note“ ist termvoll funktional abhängig von den Attributen „IDStudent“ und „IDProffesor“ („IDSt, IDProf ==> Note“).



Transitive Abhängigkeit

ID Name Konto_Nr Bank_Clearing_Nr Bank
L1 Meier 1234-5 836 UBS
L2 Weber 5432-1 835 CS

Die funktionale Abhängigkeit bezüglich „Bank_Clearing_Nr --> Bank“ ist eine termtransitive Abhängigkeit, da „Bank_Clearing_Nr“ nicht Primärschlüssel der Relation ist.

Erste Normalform

1. Normalform:
Ein Relationenschema befindet sich in der 1. Normalform, wenn alle seine Attribute einfach und einwertig sind.

Zur Verwaltung der Studenten sei folgende Relation gegeben:

Student(Vorname, Nachname, Informatikkentnisse)

Im Attribut „Informatikkenntnisse“ können mehrere Werte stehen.

Die Attribute „Vorname“ und „Nachname“ sind einfach und einwertig.

Beispiel 1. NormalformBeispiel 1. Normalform (GITTA 2005)

Um die 1. Normalform zu erreichen, muss für jeden Wert eines mehrwertigen Attributes ein separates Tupel erzeugt werden.

Zweite Normalform

2. Normalform:
Ein Relationenschema ist in der 2. Normalform, wenn es in der 1. Normalform ist und wenn jedes nicht zum Identifikationsschlüssel gehörige Attribut von diesem voll funktional abhängig ist.

Zur Verwaltung der Prüfungsnoten sei folgende Relation gegeben:

Student(IDSt, StudentNachname, IDProf, ProfessorNachname,Note)

Die Attribute IDSt und IDProf bilden den Identifikationsschlüssel.
Alle Attribute sind einfach und einwertig.

Zudem ist bekannt, dass folgende funktionale Abhängigkeiten existieren:

1. Das Attribut „ProfessorNachname“ ist funktional abhängig vom Attribut „IDProf“ („IDProf --> ProfessorNachname“)

2. Das Attribut „StudentNachname“ ist funktional abhängig vom Attribut „IDSt“ („IDSt --> StudentNachname“)

3. Das Attribut „Note“ ist voll funktional abhängig von den Attributen „IDSt“ und „IDProf“ („IDSt, IDProf ==> Note“)

Beispiel 2. NormalformBeispiel 2. Normalform (GITTA 2005)

Die obere Tabelle ist in der 1. Normalform, da alle Attribute einfach und einwertig sind. Wenn jedoch der Student 1 von der Schule abgeht und gelöscht wird, gehen auch alle Informationen über den Professor Schmid verloren. Das Attribut „Professor“ ist nämlich nicht voll funktional abhängig vom Identifikationsschlüssel „IDSt“. Um dieses Problem zu lösen, wird eine neue Relation „Professoren“ mit den Attributen „ProfID“ und „Professor“ geschaffen. Die Relation „Noten“ dient dazu, die beiden Relationen „Studenten“ und „Professoren“ zu verbinden und die Noten zu verwalten. In die Relation „Noten“ wird die ID des Professors und des Studenten eingefügt. Auf diese Weise können die drei Relationen miteinander verknüpft werden. Das Problem des Verlusts von Professoren-Informationen beim Löschen von Studenten ist damit behoben.

Dritte Normalform

3. Normalform:
Ein Relationenschema befindet sich in der 3. Normalform, wenn es in der 2. Normalform ist und kein Attribut, das nicht zum Identifikationsschlüssel gehört, von diesem transitiv abhängt.

Zur Verwaltung der Bankverbindung von Lieferanten sei folgende Relation gegeben:

Lieferant(ID, Name, Konto_Nr, Bank_Clearing_Nr, Bank)

Das Attribut ID ist Identifikationsschlüssel. Alle Attribute sind einfach und einwertig.

Zudem ist bekannt, dass folgende funktionale Abhängigkeiten existieren:

  1. Name, Konto_Nr, Bank_Clearing_Nr sind funktional abhängig von ID (ID --> Name, Konto_Nr, Bank_Clearing_Nr)
  2. Bank ist funktional abhängig von Bank_Clearing_Nr (Bank_Clearing_Nr --> Bank)
Beispiel 3. NormalformBeispiel 3. Normalform (GITTA 2005)

Vertiefen Sie ihr Wissen

Die nachstehende Tabelle ist bereits in der 1. Normalform. Sie enthält pro Zeile und Spalte nur einen Eintrag. Ihre Aufgabe ist es, diese Relation so zu normalisieren, dass sie am Ende in der 3. Normalform vorliegt.
Dokumentieren Sie Ihre Lösung in einer Word- oder PDF-Datei und veröffentlichen Sie diese auf dem Diskussionsforum unter dem Thema „Normalisierungsübung“. Schauen Sie sich die Lösungen Ihrer Mitstudierenden an und kommentieren Sie diese gegebenenfalls. Wenn Sie Probleme oder Fragen haben, können Sie diese ebenfalls im Diskussionsforum stellen und diskutieren.
Die veröffentlichten Lösungen werden von einem Tutor angeschaut und in einem allgemeinen Feedback kommentiert.

Relation zur Verwaltung der Noten von Studenten in den diversen Fächern



UnitID StudentID Datum TutorID Fach Raum Note Buch TutEmail
U1 St1 23.02.03 Tut1 GMT 629 4.7 Deumlich tut1@fhbb.ch
U2 St1 18.11.02 Tut3 GIn 631 5.1 Zehnder tut3@fhbb.ch
U1 St4 23.02.03 Tut1 GMT 629 4.3 Deumlich tut1@fhbb.ch
U5 St2 05.05.03 Tut3 PhF 632 4.9 Dümmlers tut3@fhbb.ch
U4 St2 04.07.03 Tut5 AVQ 621 5.0 SwissTopo tut5@fhbb.ch



Denken Sie nach...

  • Betrachten Sie erneut das Beispiel der ersten Normalform. Ist die 1. Normalisierung ausreichend?
  • Versuchen Sie den für das Beipiel der 3. Normalform die Zerlegung in eine weitere Relation zu begründen.

    Lösungshinweise

separation line