这种关系代数陈述是否会回归我的期望

问题描述 投票:2回答:1

目前在数据库课程和学习关系代数,并与另一名学生就此声明进行辩论

/Project pizza (/Select age < 24 (Person ⋈ Eats))

这个声明是否会回馈24岁以下的人吃掉的所有比萨饼?

架构在这里 -

Person (name, age, gender)  
Frequents (name, pizzeria)  
Eats (name, pizza)      
Serves (pizzeria, pizza, price) 

我的同事认为,因为我们正在投射披萨而且这个人的架构不包括披萨,它不会起作用。但是我相信,因为我们加入了人和吃,因此我们创造了一个新的关系,我们投射比萨饼,并可以按年龄选择。

relational-database relational-algebra
1个回答
2
投票

要获得正确答案,请简单评估表达式:

人/加入吃

将产生一张桌子,其中每个吃披萨的人都在场。它的架构现在是:

(姓名,年龄,性别,披萨)

现在你选择。选择不会影响架构,因此其结果的架构是相同的。

现在你投射披萨。架构很简单(披萨)。

所以你现在已经预测了24岁以下人们吃的比萨饼的名字。

是的,你是对的。 JOIN创建一个新表。

--dmg

© www.soinside.com 2019 - 2024. All rights reserved.