考虑3种关系:r,p和e。
考虑r:
+-------+
| CD RD |
+-------+
| 1 11 |
| 2 22 |
| 3 33 |
+-------+
和p:
+-------+
| PD PR |
+-------+
| 1 U |
| 2 C |
| 3 S |
+-------+
和e:
+---------+
| ED Name |
+---------+
| 1 B |
| 2 BB |
| 3 BBB |
+---------+
什么是r?p?e?让我感到困惑的是他们没有共享属性。这与笛卡尔积相同吗?
答案 0 :(得分:0)
(RA有很多不同的概念(关系代数),有不同的运算符集,不同的运算符定义,关系是什么。还有RA启发的查询语言被调用&# 34; RA" s。这个答案用于典型的RA - 用于自然或theta(受限制的笛卡尔积)内部和外部连接以及与标题集或属性列表的关系。)
阅读左外连接的定义。它返回相应内连接的元组以及由null扩展的每个非参与左关系元组。如果没有用于自然连接的共享属性或用于theta连接的始终为真的条件,则内连接返回左关系元组与右关系元组的每个可能组合。 (这是一个所谓的关系笛卡尔积。)由于每个左关系元组都参与,左外连接中没有额外的元组。所以左外连接与内连接(以及右外连接和内连接)相同,它是笛卡尔积。同样适用于右外连接。全外连接是左外连接和...的结合。右外连接所以在这种情况下,所有三个是相等的。
请注意,对于与标题集合的关系(或忽略与列表标题的关系的列顺序):虽然一般(内部)连接是可交换的(R join S = S join R)和associative(R join) S join T)=(R join S)join T),外连接不是。所以没有"左边的3个关系的外连接"除非您指定申请单。全外部自然连接是可交换的。如果多个调用位于同一个公共属性集上,则它是关联的。 (然后我们可以谈论""多个关系的左外部自然联接。)