關系資料庫
一、關系操作
1.基本關系操作:
關系模型中常用的關系操作包括查詢(query) 操作和插入(insert)、 删除(delete)、修改(update) 操作兩大部分。
關系的查詢表達能力很強,是關系操作中最主要的部分。查詢操作又可以分為選擇(select)、投影( project)、連接配接(join)、除(divide)、并(union)、差(except)、交( intersection)、笛卡兒積等。其中選擇、投影、并、差、笛卡兒積是5種基本操作,其他操作可以用基本操作來定義和導出,就像乘法可以用加法來定義和導出一樣。
二、關系的完整性
關系模型中有三類完整性限制:實體完整性( entity integrity)、參照完整性(referentialintegrity)和使用者定義的完整性(user-defined integrity)。 其中實體完整性和參照完整性是關系模型必須滿足的完整性限制條件,被稱作是關系的兩個不變性,應該由關系系統自動支援。使用者定義的完整性是應用領域需要遵循的限制條件,展現了具體領域中的語義限制。
三、關系代數
1.關系代數的運算分類
按運算符的不同可分為傳統的集合運算和專門的關系運算兩類。
2.傳統的集合運算
傳統的集合運算是二目運算,包括并、差、交、笛卡兒積4種運算。
3.專門的關系運算
專門的關系運算包括選擇、投影、連接配接、除運算等。
4.連接配接
自然連接配接是一種特殊的等值連接配接。 它要求兩個關系中進行比較的分量必須是同名的屬性組,
并且在結果中把重複的屬性列去掉。即若R和S中具有相同的屬性組B,U為R和S的全體屬
性集合。
兩個關系R和S在做自然連接配接時,選擇兩個關系在公共屬性上值相等的元組構成新的關系。此時,關系R中某些元組有可能在S中不存在公共屬性上值相等的元組,進而造成R中這些元組在操作時被舍棄了,同樣,S中某些元組也可能被舍棄。這些被舍棄的元組稱為懸浮元組(dangling tuple)。
如果把懸浮元組也儲存在結果關系中,而在其他屬性上填空值(NULL),那麼這種連接配接就叫做外連接配接(outer join)如果隻保留左邊關系R中的懸浮元組就叫做左外連接配接(left outer join 或left join)如果隻保留右邊關系S中的懸浮元組就叫做右外連接配接(right outer join或right join)