天天看點

資料庫複習筆記(2)------關系代數

資料庫複習筆記(2)------關系代數

    • 分類
    • 傳統的集合運算
      • 并運算(∪)
      • 交運算( ∩ )
      • 差運算(-)
      • 廣義笛卡爾積(×)
    • 專門的關系運算
      • 選擇(σ)
      • 投影(π)
      • 連接配接(條件連接配接)
        • 等值連接配接
        • 自然連接配接(特殊的等值連接配接)
        • 外連接配接
        • 左外連接配接
        • 右外連接配接
      • 除(÷)

分類

傳統的集合運算

并(∪)、交(∩)、差(-)、笛卡爾積(×)

專門的關系運算

選擇(σ)、投影(π)、連接配接、除(÷)

基本的五種關系運算

選擇(σ)、投影(π)、并(∪)、差(-)、笛卡爾積(×)

傳統的集合運算

并運算(∪)

R∪S = { t|t 屬于R∨t 屬于S }

交運算( ∩ )

R∩S = { t|t 屬于R∧t 屬于S }

差運算(-)

R -S = { t|t屬于R∧t不屬于S }

廣義笛卡爾積(×)

R×S = { (tr,ts) |tr屬于R ∧ ts屬于S }

專門的關系運算

象集:用于表示關系中某一屬性上取值固定後,諸元組在其餘屬性上的分量集合。

選擇(σ)

σF® = {t|t屬于R∧F(t)= ‘真’}

F(t)為選擇條件,即在關系R中選擇滿足給定條件的元組。

例σmno = ‘01’ (Student)表示查詢Student表中,mno屬性值為01的元組

屬性還可以由其在表頭中所在位置來表示

多個限制條件可以由∧符号連接配接

投影(π)

πA® = { t[A] | t 屬于R }

A:R中的屬性列

t[A]表示取出A屬性的那一列或幾列

即從R中選擇出若幹屬性列組成新的關系

**投影之後不僅取消了原關系中的某些列,而且還可能取消某些元組來避免重複行 (自動取消重複行!)

**

連接配接(條件連接配接)

從兩個關系的笛卡爾積中選取屬性間滿足一定條件的元組。

選取的屬性分别為兩個關系上度數相等且可比的屬性組

等值連接配接

選取等值的條件,令不同關系的中的某個屬性值相同為條件進行連接配接,當條件不同時連接配接的結果也不相同,兩個關系可以沒有相同的屬性列

自然連接配接(特殊的等值連接配接)

自然連接配接必須要有相同的屬性列才能進行,以相同的屬性作為等值條件,等值連接配接之後要去除相同的屬性列

外連接配接

如果把舍棄的元組也儲存在結果關系中,而在其他屬性上填空值(Null),這種連接配接就叫做外連接配接。

左外連接配接

如果隻把左邊關系R中要舍棄的元組保留就叫做左外連接配接。

右外連接配接

如果隻把右邊關系S中要舍棄的元組保留就叫做右外連接配接。

除(÷)

兩個關系中的某個或某些屬性出自相同的域集,記為A

除運算是将被除的關系中,除去這些屬性A後對剩下的屬性進行篩選,選出其取值所在的象集中包含有除數關系中對A的投影的部分。

資料庫複習筆記(2)------關系代數

在關系R中,A可以取四個值{a1,a2,a3,a4}

a1的象集為 {(b1,c2),(b2,c3),(b2,c1)}

a2的象集為 {(b3,c7),(b2,c3)}

a3的象集為 {(b4,c6)}

a4的象集為 {(b6,c6)}

S在(B,C)上的投影為:

{(b1,c2),(b2,c1),(b2,c3) }

隻有a1的象集包含了S在(B,C)屬性組上的投影, 是以:

R ÷ S = { a1 }