钱学忠 李京 主编
- ︵
自然连接(Natural join)是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且要在结果中把重复的属性去掉。即若R和S具有相同的属性组B,则自然连接可记作: R∞S={ trts[B]|tr∈R∧ts∈S∧tr[B]=ts[B]}。为此:R∞S=∏ ( R.B=S.B(R×S))
(8)除:给定关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域。R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X属性列上的投影:元组在X上分量值x的象集Yx包含S在Y上投影的集合。记作:P=R÷S ={tr[X]|tr∈R∧Yx ∏Y(S)},其中Yx为x在R中的象集,x=tr[X]。 6、关系代数的基本运算有哪些?请用基本运算表示非基本运算。 解:
1)8种关系代数运算中并、差、广义笛卡尔积、投影和选择5种运算为基本的关系代数运算。 2)另外3种运算,即交、连接和除为非基本运算,均可以用这5种基本运算来表达。表达如下: (1)R∩S=R-(R-S) 或 R∩S=S-(S-R) (2) = AθB(R×S) -
= A=B(R×S)
R∞S=∏ ( R.B=S.B(R×S)) (3)
R÷S =∏X(R)-∏X(∏X(R)×∏Y(S)-R)
7、举例说明等值连接与自然连接的区别与联系。 解: ︵
θ为”=”的连接运算称为等值连接。它是从关系R与S的广义笛卡尔积中选取A、B属性值相等的那些元组。等值连接表示为:
={ t t | ∈R∧t ∈S∧t [A]=t [B]}。为此: = A=B(R×S) - - ︵
自然连接(Natural join)是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且要在结果中把重复的属性去掉。即若R和S具有相同的属性组B,则自然连接可记作: R∞S={ trts[B]|tr∈R∧ts∈S∧tr[B]=ts[B]}。为此:R∞S=∏ ( R.B=S.B(R×S))
一般的连接操作是从行的角度进行运算。但自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。
举例:设图2.10(a)和图2.10(b)分别为关系R和关系S, R.B=S.B
图2.10(d)为等值连接R∞S的结果,图2.10(e)为自然连接R∞S的结果。从中能明显看出其列数的不同。 R S
钱学忠 李京 主编
R.B=S.B
(a) (b)
(d) (e)
图2.10 连接运算举例
8、设有关系R、S(如下表所示),计算: R S A B C C D E 3 6 7 3 4 5 4 5 7 6 2 3 6 2 3 5 4 3 2<2
(1) R1 =R S (2) R2=R S (3) R3 = B=D(R×S) 解: (1) A B C D E 6 2 3 4 5 5 4 3 4 5
(2) A B R.C S.C D E 6 2 3 3 4 5