在數(shù)據(jù)庫(kù)的關(guān)系代數(shù)中,專門的關(guān)系運(yùn)算包括選擇,投影,連接和除。本文主要探討一下連接運(yùn)算。
連接運(yùn)算是二元關(guān)系操作,以符號(hào)
表示連接,它的定義為:

連接與笛卡爾積的區(qū)別在于笛卡爾積包含兩個(gè)關(guān)系的所有元組的組合,而連接只包含那些滿足連接條件的元組的組合。如果沒(méi)有連接條件,即無(wú)條件連接,則連接變成笛卡爾積。因此,在關(guān)系數(shù)據(jù)模型中連接可用笛卡爾積表示。笛卡爾積可以看成連接的特例。連接條件為兩關(guān)系中對(duì)應(yīng)屬性的比較,所謂對(duì)應(yīng)屬性不一定同名,但要有相同的域。其普遍形式可表示為:
<條件1> and <條件2> and … and <條件k>
其中,每個(gè)條件的普遍形式為:
AiθBj
Ai為R的一個(gè)屬性,Bj為S中與Ai對(duì)應(yīng)的屬性,θ∈{=,<,≤,>,≥,≠}。這種普遍的連接又稱為θ連接。在有些DBMS中,允許連接條件為對(duì)應(yīng)屬性的函數(shù)的比較,對(duì)應(yīng)屬性的域不一定相同,但兩個(gè)函數(shù)的域要一樣。如果所有條件中的θ都為=,則此種連接稱為等值連接。在等值連接的結(jié)果中,對(duì)應(yīng)屬性的值是相同的,沒(méi)有必要重復(fù)列出,只要在兩個(gè)對(duì)應(yīng)屬性中取一個(gè)就可以了。這種消除冗余屬性的等值連接稱為自然連接。自然連接在關(guān)系模型中用得很多,關(guān)系間的聯(lián)系主要靠自然連接來(lái)實(shí)現(xiàn)。自然連接一般記為R
S。它等于如下的操作:

即若R和S具有相同的屬性組B,則自然連接是選擇R與S笛卡爾積中B屬性值相同的元組,同時(shí)并去除重復(fù)的屬性B(式中用
表示)。
設(shè)關(guān)系R和S分別由表1、表2給出,請(qǐng)求出下列的關(guān)系操作結(jié)果:


根據(jù)上面的講解,求得的各操作結(jié)果如表3、表4和表5所示。

新聞熱點(diǎn)
疑難解答