自然加入关系代数 - 数据库理论

时间:2018-03-28 20:51:39

标签: relational-database relational-algebra natural-join database-theory

如果删除黄色部分,我还能提出正确的答案吗?它甚至是必要的吗?

image

2 个答案:

答案 0 :(得分:2)

为了知道你是否可以将其遗漏,你必须查看谓词与表达式及其子表达式相对应的内容。

例如,最内层的限制说(我认为因为这个例子很熟悉)“供应商S#提供数量QUANTITY和P#= 3的部分P#”。或者更短的“供应商S#供应数量QUANTITY的第3部分”。

对S#的预测表示“存在一定数量的q,供应商S#供应该数量的第3部分”。

与S的JOIN然后说“供应商S#被命名为SNAME,[熟悉的部分被剪切]并且存在一些数量q,供应商S#供应该数量的第3部分”。或者更短的“供应商S#被命名为SNAME,[熟悉的部分剪断]并且提供了一定数量的第3部分”。

对SNAME的预测然后说“存在一些S#,CITY,STATUS,这样供应商S#被命名为SNAME,[熟悉的部分剪断]并且提供了一些数量的第3部分。”

对于省略“内部投影”然后尝试证明所获得的谓词必须与此相同的情况,您也会这样做。如果可以,您知道包括投影是不必要的。 [如果你不能,你必须更加努力:-)]

答案 1 :(得分:1)

假设这不是作业:

我猜|X|是自然连接,#表示主键属性。

S#上突出显示的投影不一定是必要的 查询结果的正确性(有效性)。

但是,它可能会提高效率:项目尽早到 在加入之前删除重复项。这避免了不必要的努力 首先产生重复的natjoined元组,投影在上面 sname然后必须删除。