gpt4 book ai didi

relational-algebra - 如何找到为 30 岁以上的人所吃的所有披萨提供服务的所有披萨店?

转载 作者:行者123 更新时间:2023-12-03 14:41:02 24 4
gpt4 key购买 nike

我正在学习斯坦福数据库类(class),有一个问题,我们有 查找所有供应 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.虽然我知道操作的结果是什么,但我真的不明白如何将公式转换为关系代数语法。

任何人都可以向我解释我缺少什么,希望不会直接给出解决方案?

最佳答案

这绝对是关系代数中除法运算符的概念。

但我试过那门课。 RA 关系代数语法不支持 dev 运算符。所以我用 diff 和 cross 代替。这是我的解决方案:

\project_{pizzeria}(Serves)
\diff
\project_{pizzeria}(
(\project_{pizzeria}(Serves)
\cross
\project_{pizza}(\project_{name}(\select_{age>30}(Person))\join Eats))
\diff
\project_{pizzeria,pizza}(Serves)
)

关于relational-algebra - 如何找到为 30 岁以上的人所吃的所有披萨提供服务的所有披萨店?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7821695/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com