在數據庫的關系代數中,專門的關系運算包括選擇,投影,連接和除。本文主要探討一下連接運算。
連接運算是二元關系操作,以符號表示連接,它的定義為:
連接與笛卡爾積的區別在于笛卡爾積包含兩個關系的所有元組的組合,而連接只包含那些滿足連接條件的元組的組合。如果沒有連接條件,即無條件連接,則連接變成笛卡爾積。因此,在關系數據模型中連接可用笛卡爾積表示。笛卡爾積可以看成連接的特例。連接條件為兩關系中對應屬性的比較,所謂對應屬性不一定同名,但要有相同的域。其普遍形式可表示為:
<條件1> and <條件2> and … and <條件k>
其中,每個條件的普遍形式為:
AiθBj
Ai為R的一個屬性,Bj為S中與Ai對應的屬性,θ∈{=,<,≤,>,≥,≠}。這種普遍的連接又稱為θ連接。在有些DBMS中,允許連接條件為對應屬性的函數的比較,對應屬性的域不一定相同,但兩個函數的域要一樣。如果所有條件中的θ都為=,則此種連接稱為等值連接。在等值連接的結果中,對應屬性的值是相同的,沒有必要重復列出,只要在兩個對應屬性中取一個就可以了。這種消除冗余屬性的等值連接稱為自然連接。自然連接在關系模型中用得很多,關系間的聯系主要靠自然連接來實現。自然連接一般記為RS。它等于如下的操作:
即若R和S具有相同的屬性組B,則自然連接是選擇R與S笛卡爾積中B屬性值相同的元組,同時并去除重復的屬性B(式中用表示)。
設關系R和S分別由表1、表2給出,請求出下列的關系操作結果:
根據上面的講解,求得的各操作結果如表3、表4和表5所示。
新聞熱點
疑難解答