1. 程式人生 > >關係代數運算之連線

關係代數運算之連線

1.關於連線的理解:連線也稱為θ連線,關係R與關係S的連線運算是從兩個關係的笛卡爾積中選取屬性間滿足一定條件的元組形成一個新的連線。這個條件為θ(比較運算子,如>、<、=)。

2.自然連線:是一種特殊的等值連線,比較兩個關係中分量相同的屬性組,並且在結果中把重複的屬性列去掉,最後只保留屬性組中分量相同的元組。

3.左連線:在自然連線的基礎上加上左邊表上不包含自然連線中所含元組(行)的元組。

4.右連線:在自然連線的基礎上加上右邊表上不包含自然連線中所含元組(行)的元組。

5.外連線:左連線+右連線

下面用一個例子來說明上述連線:

關係R                                             

A B C
2 4 6
3 5 7
4 6 8

關係S
B C D
4 6 8
5 6 7
4 6 2
6 8 5

R與S的笛卡爾積為
R.A R.B R.C S.B S.C S.D
2 4 6 4 6 8
2 4 6 5 6 7
2 4 6 4 6 2
2 4 6 6 8 5
3 5 7 4 6 8
3 5 7 5 6 7
3 5 7 4 6 2
3 5 7 6 8 5
4 6 8 4 6 8
4 6 8 5 6 7
4 6 8 4 6 2
4 6 8 6 8 5
關係R和關係S中的共同屬性組為B和C,找出笛卡爾積中B與C對應相等的元組,去掉其中重複的屬性值,得到如下自然連線
A B
C D
2 4 6 8
2 4 6 2
4 6 8 5

R與S的左連線:對照關係R中,元組3、7、5不包含在自然連線中,在自然連線的基礎上加上該元組,沒有屬性的列補空值。
A B C D
2 4 6 8
2 4 6 2
4 6 8 5
3 7 5 null

R與S的右連線:對照關係S中,元組5、6、7不包含在自然連線中,在自然連線的基礎上加上該元組

A B C D
2 4 6 8
2 4 6 2
4 6 8 5
null 5 6 7
R與S的外連線RS):左連線+右連線
A B C D
2 4 6 8
2 4 6 2
4 6 8 5
3 5 7 null
null 5 6 7

注意:R(
)S,誰在前誰在後