Relationenkalküle

Neue Frage »

Auf diesen Beitrag antworten »
Nicholls 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 smile
 
Auf diesen Beitrag antworten »
Nicholls Tupelkalkül

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 | Es gibt y in Buchung (x.kNr = y.kNr
und y.bPersonen > 20
und Es gibt nicht z in Hotel (z.hNr = y.hNr
und 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?
 
Neue Frage »
Antworten »


Verwandte Themen