Relationenalgebra: so richtig?



  • Hallo zusammen,

    ich habe drei Tabellen, deren Relationenschemata so aussehen:

    Besucht: [Gast, Bistro]
    Serviert: [Bisto, Getränk]
    Mag: [Gast, Getränk]

    Nun soll ich ich alle Gäste ausgeben, die mindestens ein Bistro, das auch das Getränk serviert, das sie mögen, besuchen. Die Aussgabe soll ich in der Relationenalgebra schreiben.

    Meine Lösung sah so aus:

    πGast(BesuchtMagServiert)\pi_{Gast}(Besucht \bowtie Mag \bowtie Serviert)

    In den Lösungen steht aber jetzt folgendes.

    πGast(Besucht(πBistro,Gast(ServiertMag)\pi_{Gast}(Besucht \bowtie(\pi_{Bistro,Gast}(Serviert \bowtie Mag)

    Dass da schließende Klammern fehlern ist wohl ein Fehler der Lösung. Aber ist mein Weg jetzt auch richtig? Die Lösung macht noch eine Projektion auf "Bistro" und "Gast" und schmeißt nicht gebrauche Spalten raus. Ich weiß nicht so recht, was das reicht, aber ich denke, dass es in der Realität Effizienzgründe gibt.

    Ist meine Lösung auch richtig?

    Danke
    lg, freakC++



  • freakC++ schrieb:

    Ist meine Lösung auch richtig?

    Nein.



  • warum?

    Eigentlich müsste es doch egal sein, ob ich bereits im Voraus unwichtieg Spalten mittels einer Projektion streiche. Ich mache das eben erst am Schluss. Ich sehe nicht meinen Fehler.



  • keine Idee? Ich auch nicht 😕



  • Ich finde das ja richtig spannend... Wir haben gelernt unsere Daten in die 3. vielleicht auch 4. Normalform zu bringen und nennen uns DB Designer 🙂 und Datenbankspezialist... und dann kommt jemand daher und redet von Relationenalgebra... Frag mal Deinen Prof, ob der damit eine Datenbank erstellen kann, geschweige denn eine vernünftige Abfrage..



  • Über denn Sinn deiser Relationanalgebra reden wir besser nicht. Mein Lehrer hat das eingeführt und es ist eben abiturrelevant, weswegen ich das Zeug können muss. Ich bin immer noch davon überzeugt, dass meine Variante stimmt. 🙂

    lg, freakC++


Log in to reply