给定SQL查询的等效关系代数语句

时间:2012-10-29 16:56:48

标签: sql relational-database relational-algebra

以下SQL:

SELECT DISTINCT a1,a2,a3.....an
FROM   R1,R2,R3......Rm
Where P
(P is any predicate)

我想知道什么可能是它的等效关系代数。我想它可能是这样的: πa1,a2,a3...an(σP(R1 U R2 U R3 ....U Rm)。 但我又不确定我是否正确。任何人都可以帮助我在关系代数中使用正确的等价物吗?

2 个答案:

答案 0 :(得分:1)

在SQL中仔细查看逗号在FROM子句中的含义,然后仔细研究U(我想UNION?)在代数中的作用。

答案 1 :(得分:0)

SQL表达式的FROM子句中的逗号表示叉积。

所以等效的关系代数表达式是:

π a1,a2,a3...an (σ P (R1 x R2 x ... x Rm))