天天看點

資料庫系統原理(2)--關系模型基本概念關系代數關系演算

基本概念

關于關系模型

關系模型是邏輯模型中的一種,也是現在普遍使用的一種。其由實體、屬性和關系三者構成。其可以使用一張二維表進行關系呈現。

關系模型由資料結構、資料操作和完整性限制三部分構成。其中資料結構是指資料自身的組織形式;資料操作是指對資料進行的增删改查的操作,而對資料的查詢是該模型中最為重要的操作;完整性限制是指滿足現實條件的資料值的範圍等。

關系查詢操作根據其理論基礎的不同,可以分為關系代數和關系演算兩大類。其中,關系代數是以集合論為基礎發展而來的,關系演算是以謂詞邏輯為基礎發展而來的。

關系代數的主要操作包括選擇、投影、連接配接等關系專用操作和交、并、差等通用的集合操作;關系演算按照其謂詞變量的不同又分為元組關系演算和域關系演算。

其中,關系代數與安全的元組關系演算和安全的域關系演算之間是等價的。

關系的定義

關系就是由域通過笛卡爾積構成的集合上的子集。

關系在二維數表中進行呈現,其中每一清單示的是一個屬性,而除了屬性辨別列的每一行都被稱之為一個元組。

關系中的各種鍵

超鍵:能夠唯一确定一個元組的一個或者多個屬性集;

主鍵(候選鍵): 将超鍵中某些備援的屬性去掉之後的最小完備集合;

外鍵:如果關系R1的某個屬性集是關系R2的候選鍵;則稱屬性集對于R1而言是其外鍵;

值得注意的是,超鍵中可能存在備援的屬性集,也就是說去掉超鍵中的部分屬性也可以唯一辨別一個元組。

關系模式

關系模式是對關系的型的描述,也就是說關系模式是關系的執行個體化。舉例來說,如果關系是一個空貨架,那麼關系模式就是裝滿書的貨架。

關系的完整性

關系的完整性規則由域完整性限制、實體完整性限制、參照完整性限制、使用者完整性限制四個部分構成。

域完整性限制

其主要限制兩點:一則為元組分量能夠在某一屬性之下取空值;二則為元組分量在某一屬性下的取值是否在其值域之内。

實體完整性限制

實體完整性限制又被稱之為主鍵限制。其要求元組在鍵上的取值不能重複,同時也不能為空。

參照完整性限制

參照完整性限制又被稱之為外鍵限制。其要求關系中不允許引用不存在的實體。如果屬性集A為關系R的外鍵,屬性集B為關系S的主鍵,當A對B進行引用時,其值要麼等于關系S上某元組在主鍵上的值,要麼取空值。

關于其概念了解不是太清晰,後續進行細緻分析。

使用者完整性限制

根據實際應用領域的關系模式進行的語義限制。例如人的年齡是遞增的,而倉庫的庫存必須大于出貨量等。

關系代數

關系運算符

關系代數中運算對象是關系,運算結果也是關系。

關系運算符分為以下幾種:

  • 集合運算符: 交并差,笛卡爾叉積
  • 專門運算符: 選擇,投影,連接配接,除
  • 算術運算符
  • 邏輯運算符: 與或非

關于具體的關系代數的定義以及使用情況,參見課本以及PPT相關内容。

關系演算

關系演算是以數理邏輯中的謂詞演算為基礎的。按謂詞變元的分類,關系演算可以分為元組關系演算和域關系演算。其中元組關系演算以元組變量作為謂詞變元的基本對象,域關系演算以域變量作為謂詞變元的基本對象。

安全表達式

無限關系和無窮驗證在計算機中都是不允許出現的,我們将不産生無限關系和無窮驗證的表達式稱為安全表達式,為了保證運算的安全性而采取的限制措施稱為安全限制。

并、差、笛卡爾叉積、投影和選擇是關系代數最基本的操作,并構成了關系代數運算的最小完備集。

已經證明,在這個基礎上,關系代數、安全的元組關系演算、安全的域關系演算在關系的表達和操作能力上是完全等價的。