Übung 3.1 Lösung

Benutzeravatar
ob1
Windoof-User
Windoof-User
Beiträge: 37
Registriert: 10. Dez 2012 14:30

Übung 3.1 Lösung

Beitrag von ob1 »

Hallo,

ich hätte eine Frage zur Lösung der Hausübung 3.1. Es ging darum, das ER-Modell zur Universität aus Aufgabe 1 in Relationen-Schemata darzustellen. Ich glaube das wurde in der Besprechung auch schon angesprochen, ich weiß aber nicht mehr was damals gesagt wurde.

In der Aufgabe kann laut Text und Modell eine Klausur auf mehrere Räume aufgeteilt sein. In der Lösung ist der Raum aber als Foreign Key bei Klausur eingetragen, d.h. eine Klausur-Tabelle kann hier nur einen Raum haben. Um den Fall zu modellieren, dass eine Klausur auf mehrere Räume aufgeteilt ist, müsste man also mehrere Klausur-Tabellen anlegen.

Hier ist nun das Problem, dass "Raum" in Klausur kein Primary Key ist, d.h. die beiden Primary Keys "Art" und "Vorlesung" würden die Klausur-Tabellen nicht mehr eindeutig identifizieren. Es gäbe mehrere Klausur-Tabellen mit identischer Art und Vorlesung.

Meine Idee wäre, dass man, weil hier eine N:N-Beziehung gilt, Raum als Primary Key führen müsste.

Eine Erklärung wäre nett. :)

Benutzeravatar
Robert
Ehemalige Fachschaftler
Beiträge: 511
Registriert: 6. Okt 2004 17:38
Wohnort: DA

Re: Übung 3.1 Lösung

Beitrag von Robert »

Ja, stimmt. Der Fehler ist korrigiert.

Es lag daran, dass ich die Aufgabe 1 leicht abgeändert hatte (an genau dem Punkt) und das bei der Übung 3 vergessen hatte und auch das falsche ER Diagramm zugrunde gelegt habe. Ich hab jetzt sowohl das ER Diagramm im Lösungsvorschlag der 3.1, wie auch die Lösung korrigiert. Es ist natürlich so, dass man eine extra Tabelle braucht um die N:N Beziehung darzustellen.

Benutzeravatar
ob1
Windoof-User
Windoof-User
Beiträge: 37
Registriert: 10. Dez 2012 14:30

Re: Übung 3.1 Lösung

Beitrag von ob1 »

Danke! Ich habe gerade gemerkt, dass ich in meiner Frage oben noch einen Verständnisfehler hatte. Ich kann nun selbst die Erklärung nachliefern, damit hier alles seine Richtigkeit hat:
ob1 hat geschrieben:In der Aufgabe kann laut Text und Modell eine Klausur auf mehrere Räume aufgeteilt sein. In der Lösung ist der Raum aber als Foreign Key bei Klausur eingetragen, d.h. eine Klausur-Tabelle kann hier nur einen Raum haben. Um den Fall zu modellieren, dass eine Klausur auf mehrere Räume aufgeteilt ist, müsste man also mehrere Klausur-Tabellen anlegen.
Nein, um diesen Fall zu modellieren, müsste man mehrere Datensätze / Reihen / Tupel in die Klausur-Tabelle eintragen.
ob1 hat geschrieben:Hier ist nun das Problem, dass "Raum" in Klausur kein Primary Key ist, d.h. die beiden Primary Keys "Art" und "Vorlesung" würden die Klausur-Tabellen nicht mehr eindeutig identifizieren. Es gäbe mehrere Klausur-Tabellen mit identischer Art und Vorlesung.
Nein, das einzige Problem wäre, dass die Datensätze im schlimmsten Fall halt redundant vorhanden wären was zu Inkonsistenzen führen kann. Anders herum gesagt, die Tabelle wäre nicht in 2NF da "Raum" zur eindeutigen Identifizierung eines Datensatzes nötig ist, aber eben kein Primary Key ist.
ob1 hat geschrieben:Meine Idee wäre, dass man, weil hier eine N:N-Beziehung gilt, Raum als Primary Key führen müsste.
Der Grund, weshalb man N:N Beziehungen in eine eigene Tabelle auslagert, ist, dass das Problem auch anders herum besteht: Nach Modell können mehrere Klausuren in einem Raum stattfinden, aber zu unterschiedlichen Zeiten, d.h. Zeit ist wieder nicht (funktional) abhängig von den Hauptschlüsselattributen und wieder ist 2NF verletzt.

Falls jetzt noch ein Fehler drin ist, bitte Bescheid sagen! =)

Antworten

Zurück zu „Archiv“