1. 程式人生 > >詳解資料庫的自然連線

詳解資料庫的自然連線

      首先來看自然連線的定義:

      自然連線:是一種特殊的等值連線,它要求兩個關係進行比較的分量必須是相同的屬性組,並且在結果集中將重複屬性列去掉。

      一個簡單的例子,將下列關係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四個列。