2. Normalform
- 2. Normalform:
- Ein Relationenschema ist in 2. Normalform, wenn es in 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)
Die obere Tabelle ist in 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 bei der Löschung von Studenten ist damit behoben.