【发布时间】:2011-10-19 13:01:07
【问题描述】:
我正在关注斯坦福数据库课程,有一个问题是我们仅使用关系代数查找所有为 30 岁以上的人吃的每一份比萨饼提供服务的比萨店。
问题包括a small database with four relations:
Person(name, age, gender) // name is a key
Frequents(name, pizzeria) // [name,pizzeria] is a key
Eats(name, pizza) // [name,pizza] is a key
Serves(pizzeria, pizza, price) // [pizzeria,pizza] is a key
我知道如何找出 30 岁以上的人吃的比萨饼,并制作它们的交叉产品,因此我可以检查哪家比萨饼店两者兼有。
我可以列出所有提供这些披萨的披萨店,但我不知道如何删除任何只有一种组合的披萨店(如多米诺骨牌)。
Chicago Pizza cheese cheese
Chicago Pizza cheese supreme
Chicago Pizza supreme cheese
Chicago Pizza supreme supreme
Dominos cheese cheese
Dominos cheese supreme
问答论坛告诉我们使用除法和point us to several presentations. 虽然我知道操作的结果是什么,但我真的不明白如何将公式转换为关系代数语法。
谁能解释我缺少什么,希望不要直接给出解决方案?
【问题讨论】:
-
这个问题经常被问到。请参阅stackoverflow.com/questions/7731877/…您所询问的详细信息在我对该问题的回答中。
-
我不知道,但你的回答不是很有帮助。我在将自己的数据转换为部门查询时遇到了问题,因此将我发送到另一个完全不相关的示例并没有帮助我解决它
标签: relational-algebra relational-division