基本概念
關于關系模型
關系模型是邏輯模型中的一種,也是現在普遍使用的一種。其由實體、屬性和關系三者構成。其可以使用一張二維表進行關系呈現。
關系模型由資料結構、資料操作和完整性限制三部分構成。其中資料結構是指資料自身的組織形式;資料操作是指對資料進行的增删改查的操作,而對資料的查詢是該模型中最為重要的操作;完整性限制是指滿足現實條件的資料值的範圍等。
關系查詢操作根據其理論基礎的不同,可以分為關系代數和關系演算兩大類。其中,關系代數是以集合論為基礎發展而來的,關系演算是以謂詞邏輯為基礎發展而來的。
關系代數的主要操作包括選擇、投影、連接配接等關系專用操作和交、并、差等通用的集合操作;關系演算按照其謂詞變量的不同又分為元組關系演算和域關系演算。
其中,關系代數與安全的元組關系演算和安全的域關系演算之間是等價的。
關系的定義
關系就是由域通過笛卡爾積構成的集合上的子集。
關系在二維數表中進行呈現,其中每一清單示的是一個屬性,而除了屬性辨別列的每一行都被稱之為一個元組。
關系中的各種鍵
超鍵:能夠唯一确定一個元組的一個或者多個屬性集;
主鍵(候選鍵): 将超鍵中某些備援的屬性去掉之後的最小完備集合;
外鍵:如果關系R1的某個屬性集是關系R2的候選鍵;則稱屬性集對于R1而言是其外鍵;
值得注意的是,超鍵中可能存在備援的屬性集,也就是說去掉超鍵中的部分屬性也可以唯一辨別一個元組。
關系模式
關系模式是對關系的型的描述,也就是說關系模式是關系的執行個體化。舉例來說,如果關系是一個空貨架,那麼關系模式就是裝滿書的貨架。
關系的完整性
關系的完整性規則由域完整性限制、實體完整性限制、參照完整性限制、使用者完整性限制四個部分構成。
域完整性限制
其主要限制兩點:一則為元組分量能夠在某一屬性之下取空值;二則為元組分量在某一屬性下的取值是否在其值域之内。
實體完整性限制
實體完整性限制又被稱之為主鍵限制。其要求元組在鍵上的取值不能重複,同時也不能為空。
參照完整性限制
參照完整性限制又被稱之為外鍵限制。其要求關系中不允許引用不存在的實體。如果屬性集A為關系R的外鍵,屬性集B為關系S的主鍵,當A對B進行引用時,其值要麼等于關系S上某元組在主鍵上的值,要麼取空值。
關于其概念了解不是太清晰,後續進行細緻分析。
使用者完整性限制
根據實際應用領域的關系模式進行的語義限制。例如人的年齡是遞增的,而倉庫的庫存必須大于出貨量等。
關系代數
關系運算符
關系代數中運算對象是關系,運算結果也是關系。
關系運算符分為以下幾種:
- 集合運算符: 交并差,笛卡爾叉積
- 專門運算符: 選擇,投影,連接配接,除
- 算術運算符
- 邏輯運算符: 與或非
關于具體的關系代數的定義以及使用情況,參見課本以及PPT相關内容。
關系演算
關系演算是以數理邏輯中的謂詞演算為基礎的。按謂詞變元的分類,關系演算可以分為元組關系演算和域關系演算。其中元組關系演算以元組變量作為謂詞變元的基本對象,域關系演算以域變量作為謂詞變元的基本對象。
安全表達式
無限關系和無窮驗證在計算機中都是不允許出現的,我們将不産生無限關系和無窮驗證的表達式稱為安全表達式,為了保證運算的安全性而采取的限制措施稱為安全限制。
并、差、笛卡爾叉積、投影和選擇是關系代數最基本的操作,并構成了關系代數運算的最小完備集。
已經證明,在這個基礎上,關系代數、安全的元組關系演算、安全的域關系演算在關系的表達和操作能力上是完全等價的。