Matroids Matheplanet Forum Index
Moderiert von matroid
Informatik » Datenbanken » Relationenkalküle
Autor
Universität/Hochschule Relationenkalküle
Nicholls
Neu Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 29.06.2019
Mitteilungen: 1
  Themenstart: 2019-06-29

Halli Hallo, kann mir vielleicht jemand genau die Bedeutung der Quantoren im Domänenkalkül erklären? Wenn ich mir Beispiele anschaue, verstehe ich meist intuitiv, wie's gemeint ist, aber wenn ich dann selbst eine Anfrage im Domänenkalkül formulieren muss, werde ich unsicher... Nehmen wir als Beispiel folgendes Relationenmodell: Buchung (bNr, kNr, fNr, hNr, bDatAn, bDatAb, bPersonen) Kunde (kNr,kName, kOrt) Flugdaten (fnr, fAbflugOrt, fZielOrt, fPreis, fFluglinie) Hotel (hNr, hName, hOrt, hPreis) Nun möchte ich finden: Alle Paare von Kunden, die gleiche Anreise und Abreise Daten haben, im gleichen Flieger sitzen, aber in unterschiedlichen Hotels wohnen. Wie gehe ich bei einer solchen Aufgabenstellung vor? Wenn ich mich jetzt einfach mal dran probieren sollte, würde ich wohl folgendes tun: Die Anfrage soll letztlich Paare von Kunden ausgeben, also starte ich mal so: { x_k, y_k | \exists\ x_k Kunde(x_k, x_n, x_o) \and\ \exists\ y_k Kunde(y_k, y_n, y_o) ... } Jetzt stehe ich vor der Frage, welche der Bedingungen ich zuerst abfrage. Nehmen wir mal zuerst die Bedingung, dass die Kundenpaare die gleichen Reisedaten haben. { x_k, y_k | \exists\ x_k Kunde(x_k, x_n, x_o) \and\ \exists\ y_k Kunde(y_k, y_n, y_o) \and\ (\exists\ x_b Buchung(x_b, x_k, flnr, x_h, anr, abr, x_p) => \exists\ y_b Buchung(y_b, y_k, flnr, y_h, anr, y_p)) ... } Auch wenn ich da vermutlich schon was falsch gemacht habe, versuche ich mal noch zu integrieren, dass die Kunden in unterschiedlichen Hotels wohnen sollen. { x_k, y_k | \exists\ x_k Kunde(x_k, x_n, x_o) \and\ \exists\ y_k Kunde(y_k, y_n, y_o) \and\ (\exists\ x_b Buchung(x_b, x_k, flnr, x_h, anr, abr, x_p) => (\exists\ y_b Buchung(y_b, y_k, flnr, y_h, anr, y_p)) \and\ \not\ Buchung(y_b, y_k, flnr, x_h, anr, y_p)) } Keine Ahnung, ob das irgendeinen Sinn ergibt; vielleicht kann mir ja jemand weiterhelfen.. Und um mich gleich noch im Tupelkalkül zu üben, betrachte ich mal folgende Anfrage: Welche Kunden buchen für Reisen mit über 20 Personen ausschließlich Hilton Hotels? Ich starte mal einen Versuch, auch wenn ich ähnlich wenig Ahnung hab wie vom Domänenkalkül... { x.kNr | \exists\ y \el\ Buchung (x.kNr = y.kNr \and\ y.bPersonen > 20 \and\ \not\ \exists\ z \el\ Hotel (z.hNr = y.hNr \and\ z.hName = 'Hilton')) } Das kommt mir jedenfalls schon mal nicht ganz so Spanisch vor wie das, was ich beim Domänenkalkül gemacht hab... Kann mir evtl. jemand helfen und mir ggfs. sagen, was ich falsch mache und wie's richtig geht?


   Profil

Wechsel in ein anderes Forum:
 Suchen    
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2021 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]