2016-04-15 14 views
1

Ich habe einen Datensatz, der Dateien von Hotelbewertungen hat. Jede Datei enthält mehrere Bewertungen für ein einzelnes Hotel. Hier sind meine beiden Beziehungen in BCNF:Wie schreibe ich meine Abfrage in Relationale Algebra?

  1. Hotel (hotelID, OverallRating, AveragePrice, URL)
  2. Review (hotelID, Autor, Inhalt, Datum, Nr Reader, Nr Hilfreich, Insgesamt Wert, Zimmer, Lage, Sauberkeit, Check-in/Rezeption, Service, Business Service)

ich versuche, die folgende Abfrage in der relationalen Algebra zu schreiben:

Find all the reviews by the same user (i.e., given a user ID, return the list of all their 
reviews). 

Nach Benutzer-ID bezieht sich die Frage auf das Autor-Attribut in meiner zweiten Beziehung. So wie ich die Frage verstehe, muss sie eine User ID als Argument haben. Vielleicht siehst du es anders?

Hier ist, was ich bisher:

(Selection) Author = $1 (Review) 

Auswahl Ersetzen mit dem Sigma-Symbol verwendet Auswahl in der relationalen Algebra darzustellen, war ich Mühe, es in meine Frage einsetzen. $ 1 stellt dar, wo es das Benutzer-ID Argument nehmen würde, das ist nur um mein Denken zu zeigen, ich denke nicht, dass es korrekt ist.

Vielen Dank für Ihre Zeit

+0

Kann jemand helfen? Bin ich auf dem richtigen Weg? –

Antwort

1

Abfrage wird: (Join Hotel (X) (Hotel.hotelID = Review.hotelID) Review)

σ (Autor = "Your_User Id")

Wo

σ = Selection Operator 

    X= Join Operator 

    (-----) = Condition 

Ich hoffe, es hilft. Weitere Einzelheiten finden Sie unter Meine Notizen für DBMS: Relational Algebra Suchen Sie "relationale Algebra" Begriff auf der Website, um Ihre genauen Informationen schnell zu finden.

Verwandte Themen