GDB Blatt 3
2009-11-21 17:46
Anonymer User
Soll die Anfrage in 4 c) derart redundant sein oder liegt ein Fehler vor?
Soll die Anfrage in 4 c) derart redundant sein oder liegt ein Fehler vor?Auf den ersten Blick finde ich das doch ganz gut und würde keinen Fehler vermuten. Es muss halt optimiert werden und da kann es sein, dass die Ausgangsanfrage Redundanz enthält.
bin erst bei 3. aber selbst diese Aufgabe ist fehlerhaftScheint wirklich ein Tippfehler zu sein, gemeint ist wohl PID → Personal.PID, dann macht das wieder Sinn.
beim ProjektArbeiter
Leiter → Personal.PID
Nur dass es in der Tabelle keinen "Leiter" gibt…
andere frage zu 4.: ist das normal, dass da kardinalitätswerte <1 rauskommen? ich dachte, das soll die tupel- bzw. zeilenanzahl darstellen?Ja das ist möglich, da es ja eine Berechnung auf statistischen Werten(SF) ist. Und wenn man nun 5Tupel hat und einen Selektivitätsfaktor von 1/500 dann kommt man auf 1/100 Tupel..
Naja, die ersten beiden Teilaufgaben enthielten einigermaßen sinnvolle Anfragen, insofern tanzt c) schon mal etwas aus der Reihe.Soll die Anfrage in 4 c) derart redundant sein oder liegt ein Fehler vor?Auf den ersten Blick finde ich das doch ganz gut und würde keinen Fehler vermuten. Es muss halt optimiert werden und da kann es sein, dass die Ausgangsanfrage Redundanz enthält.
Soll die Anfrage in 4 c) derart redundant sein oder liegt ein Fehler vor?
Naja, die ersten beiden Teilaufgaben enthielten einigermaßen sinnvolle Anfragen, insofern tanzt c) schon mal etwas aus der Reihe.Was meinst du mit "redundant" und "tanzt aus der Reihe"? Die Anfrage in Aufgabe 4c) ist durchaus sinnvoll. Hast du dir die exakte Bedeutung klar gemacht?
Ich denke, dass man sich bei Aufgabe 4 auf die Berechnung der Zwischenergebnisse anhand von Kardinalitäten und Selektivitätsfaktoren beschränken sollte und einzelne Datenbankeinträge aus Aufgabe 3, mit denen eine Anfrage zufällig konkret beantwortet werden kann, getrost vernachlässigen darf.Genau so ist es gedacht.
Gesucht sind mMn PID, Vorname und Nachname des Projektleiters mit der PID=22 und dem Nachnamen=Meier. Dass ausgerechnet zwei Attribute, nach denen innerhalb der Abfrage aussortiert wird, am Ende wieder dargestellt werden sollen, ist im Vergleich mit den Voraufgaben neu, insofern wird hier "aus der Reihe getanzt".Soll die Anfrage in 4 c) derart redundant sein oder liegt ein Fehler vor?Naja, die ersten beiden Teilaufgaben enthielten einigermaßen sinnvolle Anfragen, insofern tanzt c) schon mal etwas aus der Reihe.Was meinst du mit "redundant" und "tanzt aus der Reihe"? Die Anfrage in Aufgabe 4c) ist durchaus sinnvoll. Hast du dir die exakte Bedeutung klar gemacht?
Gesucht sind mMn PID, Vorname und Nachname des Projektleiters mit der PID=22 und dem Nachnamen=Meier. Dass ausgerechnet zwei Attribute, nach denen innerhalb der Abfrage aussortiert wird, am Ende wieder dargestellt werden sollen, ist im Vergleich mit den Voraufgaben neu, insofern wird hier "aus der Reihe getanzt".Diese Interpretation ist nicht korrekt. In der Aufgabe steht "Leiter=22" und nicht "PID=22". Die Kritik an der Projektion auf Nachname ist jedoch nachvollziehbar. Man kann sie allerdings damit begründen, dass ein schönes Ergebnis gewünscht ist, welches alle interessanten Daten (eben Vor- und Nachname, sowie PID) enhält.
Aber redundant und damit nicht wirklich sinnvoll sind z.B. auch der natürliche Verbund von Personal mit ProjektArbeiter, obwohl die Anfrage nur an Projektleitern interessiert istDiese Folgerungen sind ebenfalls nicht korrekt, da sie aus der falschen Interpretation folgen. Beachte, in welchen Relationen die Attribute liegen, auf die selektiert wird.
Diese Interpretation ist nicht korrekt. In der Aufgabe steht "Leiter=22" und nicht "PID=22". [..] Beachte, in welchen Relationen die Attribute liegen, auf die selektiert wird.Aber Leiter verweist doch auf PID, d.h. das Ergebnis der Anfrage stammt aus Personal, auch wenn "Leiter=22" zunächst auf einer anderen Relation selektiert. Deshalb auch meine Formulierung "Projektleiter mit ID.." anstelle von "Mitarbeiter mit ID..".
Aber Leiter verweist doch auf PID, d.h. das Ergebnis der Anfrage stammt aus Personal, auch wenn "Leiter=22" zunächst auf einer anderen Relation selektiert.Nein. Schau dir nochmal genau die Definition des natürlichen Verbunds im Skript an. Fremdschlüssel-Eigenschaften finden dort keine Berücksichtigung, da Fremdschlüssel lediglich Integritätsbedingungen darstellen. Integritätsbedingungen werden bei Anfragen jedoch nicht berücksichtigt, da das Datenbanksystem davon ausgeht, dass die gespeicherten Daten konsistent sind (was ja durch Integritätsbedingungen sichergestellt ist).
Nein. Schau dir nochmal genau die Definition des natürlichen Verbunds im Skript an. Fremdschlüssel-Eigenschaften finden dort keine Berücksichtigung, da Fremdschlüssel lediglich Integritätsbedingungen darstellen. Integritätsbedingungen werden bei Anfragen jedoch nicht berücksichtigt, da das Datenbanksystem davon ausgeht, dass die gespeicherten Daten konsistent sind (was ja durch Integritätsbedingungen sichergestellt ist).Ahh.. Alles klar, das hatte ich nicht berücksichtigt. Vielen Dank!
.. und da jedes Projekt eine feste PrID hat kann auch nicht ein Leiter mehrere Projekte leiten…Was hat die PrID damit zu tun? Die Leitung eines Projektes ist in diesem Fall eine 1 zu n Beziehung, d.h. jedes Projekt hat einen Leiter, und jeder ProjektArbeiter kann beliebig viele Projekte leiten. Das wird dadurch gewährleistet, dass der Leiter als Fremdschlüssel in der Relation Projekte angeben ist.