我正在学习斯坦福数据库课程,但有一个问题,就是我们要找到所有比萨饼店,这些比萨饼店只能使用Relational Algebra服务于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.,虽然我知道操作的结果是什么,但是我并不真正理解如何将公式的表达式转换为关系代数语法。
谁能解释我所缺少的,希望能不给出彻底的解决方案?
最佳答案
解决方案是join div运算符
http://en.wikipedia.org/wiki/Relational_algebra#Division_.28.C3.B7.29
看到
http://oracletoday.blogspot.com/2008/04/relational-algebra-division-in-sql.html
关于relational-algebra - 如何找到所有30岁以上的披萨饼店都可以食用的比萨饼?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7821695/