Geschrieben von Nicholls am 28.06.2019 um 16:27:
Relationenkalküle
Meine Frage:
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?
Meine Ideen:
Die Anfrage soll letztlich Paare von Kunden ausgeben, also starte ich mal so:
{ x_k, y_k | Es gibt x_k Kunde(x_k, x_n, x_o)
und Es gibt 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 | Es gibt x_k Kunde(x_k, x_n, x_o)
und Es gibt y_k Kunde(y_k, y_n, y_o)
und (Es gibt x_b Buchung(x_b, x_k, flnr, x_h, anr, abr, x_p)
=> Es gibt 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 | Es gibt x_k Kunde(x_k, x_n, x_o)
und Es gibt y_k Kunde(y_k, y_n, y_o)
und (Es gibt x_b Buchung(x_b, x_k, flnr, x_h, anr, abr, x_p)
=> (Es gibt y_b Buchung(y_b, y_k, flnr, y_h, anr, y_p))
und nicht Buchung(y_b, y_k, flnr, x_h, anr, y_p)) }
Keine Ahnung, ob das irgendeinen Sinn ergibt; vielleicht kann mir ja jemand weiterhelfen..
Ach ja, und... kann man auf dieser Plattform keine Formel-Codierung oder so nutzen?
Liebe Grüße,
Nicholls