第4章 關系運算
4.1 關系代數
基于集合運算分類
傳統的集合運算:并、差、交、乘積
專門的關系運算:選擇、投影、連接、自然連接、除法等
基于關系代數完備性分類
五種基本運算:并、差、乘積、選擇、投影,構成關系代數完備運算集
其他擴充運算:交、連接、自然連接、除法等
4.1.1 關系代數的五種基本運算
并:與集合論中的求和運算相同
合并的結果中必須刪除重復的元組
必須是相容的關系
差:與集合論中的差運算相同
乘積:由原來兩個集合中的元組連接而成新的元組
乘積的基等于原來兩個關系的基的乘積
選擇:對關系進行水平分割
投影:對關系進行垂直分割
4.1.2 關系代數的其他運算
交:與集合論中的交運算相同
R∩S=R-(R-S)=S-(S-R)
連接:θ連接與F連接(多個θ比較)
自然連接:
默認公共屬性上的等值連接。
自然連接是一種很實用的操作,用于表達數據間聯系結果。
如果兩個關系沒有公共屬性,則自然連接轉化為乘積運算。
除法:乘積的逆運算。
外連接:連接的擴充運算,目的是保留那些連接時被舍棄的元組。
外連接(又稱全外連接)
左外連接
右外連接
外部并:并的擴充運算,目的是滿足不相容的兩個關系求并的需要。
4.2 關系演算
關系演算就是數理邏輯的謂詞演算推廣到關系運算中
元組演算:以元組為變量
域演算:以域為變量
4.2.1 元組關系演算
一個關系可以用一個元組表達式表示
原子公式
自由元組變量:原子公式中沒有使用存在量詞和全稱量詞的元組變量
約束變量:原子公式中使用了存在量詞和全稱量詞的元組變量
公式:定義是可遞歸的
每個原子公式是一個公式,其中的元組變量是自由變量
所有公式都可以按照規則進行有限次復合求得
公式等價變換
QUEL:基于元組關系演算的數據查詢語言
4.2.2 域關系演算
原子公式
公式:定義是可遞歸的
元組表達式與域表達式的轉換
QBE:基于域演算的數據查詢語言
4.2.3 關系演算安全約束簡介
安全約束是對關系運算附加的一種限制
關系代數:舍棄“補”運算,保證安全性
關系演算:規定有限集合DOM(B),防止無限關系和無窮驗證過程的出現,保證安全性。
經過安全約束的三類運算具有同等的表達能力。
備注:
《數據庫技術基礎與應用(第2版)》的豆瓣鏈接https://book.douban.com/subject/2995584/