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

时间:2013-04-11 09:12:59

标签: relational-database relational-algebra

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

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

这句话是否会回馈24岁以下的人吃的所有比萨饼?

架构在这里 -

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

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

1 个答案:

答案 0 :(得分:2)

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

人/加入吃

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

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

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

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

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

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

- dmg