資料庫複習筆記(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的投影的部分。
在關系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 }