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