如何在Relational Algebra中编写我的查询?

时间:2016-04-15 19:32:54

标签: relational-algebra

我有一个包含酒店评论文件的数据集。每个文件包含一个酒店的多个评论。以下是我在BCNF的两个关系:

  1. 酒店(hotelID,OverallRating,AveragePrice,URL)
  2. 评论(hotelID,作者,内容,日期,编号读者,没有帮助, 总体而言,价值,客房,位置,清洁,入住/前台, 服务,商业服务)
  3. 我试图在关系代数中编写以下查询:

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

    按用户ID,问题是指我的第二个关系中找到的Author属性。我理解这个问题的方式,必须将用户ID作为参数。也许你看到的不一样了?

    这是我到目前为止所做的:

    (Selection) Author = $1 (Review)
    

    将选择替换为用于表示关系代数中的选择的sigma符号,我无法将其插入到我的问题中。 $ 1代表用户ID参数所在的位置,这只是为了表明我的想法,我认为不正确。

    感谢您的时间

1 个答案:

答案 0 :(得分:1)

查询将是:

σ(作者=“Your_User Id”)(酒店加入(X)(Hotel.hotelID = Review.hotelID)评论)

哪里

 σ = Selection Operator

  X= Join Operator

  (-----) = Condition

希望它有所帮助。有关详细信息,请参阅我对DBMS的说明:Relational Algebra 在网站中搜索“关系代数”术语,快速找到您的确切信息。