第二章 關係數據庫(四)

第四節 關係模型實現數據聯繫的方法

2.擴展的關係代數運算
關係代數的基本運算足以表達任何關係代數的查詢操作,但是,對於某些常見的查詢操作使用基本運算表達式可能會顯得冗長。如果使用擴展的關係代數運算,可以簡化這類查詢的關係代數表達式。
1.交(Intersect)
關係代數交運算的結果是由兩個關係公共的元組構成一個新關係,其結果消除重複的元組。交運算要求兩個關係的屬性數目相同,且相應屬性的性質相同。設關係R和S的屬性數目相同,且對應的屬性域相同,則關係R與S的交是由即屬於R又屬於S的元組構成的新關係。通常記作R∩S。交運算可以使用兩個差運算等價:R∩S=R-(R-S)
2.連接運算
在關係數據庫中,經常需要從多個表中獲取相關數據。即從多個表的迪卡爾積中選擇滿足條件的元組。瞭解連接運算符的原理。連接運算是從兩個關係笛卡爾積中選擇屬性之間滿足一定條件的元組。
連接運算可以用笛卡爾積,選擇和投影運算表達式。
1.內連接
從兩個關係的笛卡爾積中,選擇在聯接屬性上具有相等值的元組構成一個新關係,稱爲內連接。內連接實際上就是等值連接。在連接運算的結果中,僅包含兩個關係笛卡爾積中連接屬性值相等的元組,且不消除重複的屬性。
2.自然連接
從兩個關係的笛卡爾積中,選擇公共屬性值相等的元組,並消除重複屬性構成一個新關係,稱爲自然連接。自然連接是最重要的連接運算。在關係數據庫環境中,經常依據關係直接的公共屬性把相互獨立的表聯接在一起,從中獲取相關的數據,實現多個表之間的操作。
3.左外連接
自然聯接或內聯接的結果是由滿足聯接條件的元組構成,排除了不滿足聯接條件的元組。然而,許多實際應用問題需要保留那些不滿足聯接條件的元組,不希望丟失信息。外聯接主要是解決保留“不滿足聯接條件的元組”的問題。關係R與S進行聯接操作,聯接的結果中除了滿足聯接條件的元組之外,還包含左關係R中不滿足聯接條件的元組,而其對與右關係S的屬性上填空值(NULL),這種聯接運算稱爲左外聯接。
4.右外聯接
關係R與S進行聯接操作,聯接的結果中除了滿足聯接條件的元組之外,還包含關係S中不滿足聯接條件的元組,而對應於左關係R的屬性上填空值(NULL),這種聯接稱爲右外聯接。右外聯接的原理和操作方法與左外連接類似,除了滿足聯接條件的元組之外,還會保留右關係中不滿足條件的內容,與之對應的左關係數據填空值。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章