首先來看自然連接的定義:
自然連接:是一種特殊的等值連接,它要求兩個關系進行比較的分量必須是相同的屬性組,並且在結果集中將重復屬性列去掉。
一個簡單的例子,將下列關系R和S進行自然連接:
R:
A B C
a b c
b a d
c d e
d f g
S:
A C D
a c d
d f g
b d g
首先要對兩個關系中相同屬性組的分量進行比較,即比較R.A,R.C和S.A,S.C。 顯然在R中只有第一行和第二行滿足條件,因此進行連接得到結果:
A B C D
a b c d
b a d g
再來看一道2008年軟件設計師考試的題目:
若關系R、S如下所示,則R與S自然連接后的屬性列數和元組個數分別為()
R:
A B C D
a b c d
a c d c
a d g f
a b g f
S:
C D
c d
g f
分析,首先進行比較,容易得出R中有三個元組(即三行,1、3、4行)符合條件,所以元組個數為3,再然后去掉重復的列,顯然仍然剩下A、B、C、D四個列。