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