第二章 關係數據庫
**大家想一起學習交流的可以加羣,WX:MrCroods。**
第一節 關係數據庫概述
關係數據庫的基本特徵是使用關係數據模型
組織數據。
第二節 關係數據模型
關係模型:關係數據結構、關係操作集合、關係完整性約束。
一、關係數據結構
(1)、關係模型是把數據庫表示爲關係的集合,且關係數據庫是以二維表格的形式組織數據。
1、表(
稱爲關係,二維的數據結構
)
2、關係(一個關係邏輯對應一張二維表
)三種基本關係:
基本關係:基本表,實際存儲數據的邏輯表示;
查詢表:查詢結果對應的表;
視圖表:由基本表或其他視圖表導出的表,虛表。3、列(
稱爲字段或屬性
)一個數據庫中,表名必須唯一,字段名必須唯一,不同表可以出現相同字段名。
4、屬性
5、行
6、元組(表中的一行既爲一個元組)
7、分量(元組中的一個屬性值,稱爲分量)
8、碼或鍵屬性的值都能用來唯一標識該關係的元組,則稱這些屬性爲該關係的碼或鍵。
9、超碼或超鍵
如果在關係的一個碼中移去某個屬性,仍然有這個關係的碼。
每個關係至少有一個默認的超碼或超鍵。(這個關係的最大超碼或超鍵)10、候選碼或候選鍵
如果在關係的一個碼或鍵中,不能移去某個屬性,否者它就不是這個關係的碼或鍵。(這個關係的最小候選超碼或超鍵)
11、主碼或主鍵
12、全碼或全鍵(一個關係模式的所有屬性集合是這個關係的主碼)13、主屬性和非主屬性
關係中包含在任何一個候選碼中的屬性稱爲主屬性或碼屬性,不包含的屬於非主屬性或非碼屬性。
14、外碼或外鍵
15、參照關係(從關係)和被參照關係(主關係)以外碼爲主碼的關係稱爲被參照關係。
外碼所在的關係稱爲參照關係。16、域(表示屬性的取值範圍)
17、數據類型
18、關係模式關係模式是對關係的描述,關係則是元組的集合,關係模式是靜態的、穩定的,而關係是動態的、隨時間不斷變化。
19、關係數據庫
關係數據庫是以關係模型作爲數據的邏輯結構,並採用關係作爲數據組織方式的一類數據庫。
(2)、關係數據庫對關係是有限定的,具體如下要求:
每一個屬性都是不可分的。(不可存在表中表)
每一個關係僅有一種關係模式,即每一個關係模式中的屬性的數據類型以及屬性的個數是相對固定的。
每一個關係模式中的屬性必須命名,同一關係模式中,屬性名必須是不同的。
每一關係中不允許出現候選碼或候選鍵值完全相同的元組。
在關係中元組的順序(行序)是無關緊要的,可任意交換。
在關係中屬性的順序(列序)是無關緊要的,可任意交換。
二、關係操作集合
關係操作的特點是集合操作方式,即操作的對象和結果都是集合。
(1)、基本的關係操作
查詢(Query)、插入(Insert)、刪除(Delete)、修改(Update)
(2)、關係數據語言的分類
關係代數語言
關係演算語言
兼具兩者雙重特點的語言(SQL)
(3)、關係代數
操作的三要素:操作對象、操作符、操作結果
1、傳統的集合運算
U 並、- 差、∩ 交、X 笛卡兒積
2、專門的集合運算
σ 選擇(select)、π 投影(projection)、連接(join)、÷ 除(division)
三、關係的完整性約束
數據完整性是指數據庫中數據的正確性、相容性和一致性,這些規則從而保證了用戶查詢等操作得到的數據是否有意義。
關係模型有三種完整性約束:
實體完整性約束
參照完整性約束
用戶自定義完整性約束
(1)、實體完整性約束(主碼的組成不能爲空,主碼用下劃線標識)
(2)、參照完整性約束(定義外碼和主碼之間的引用規則)
若屬性F是基本關係R的外碼,它與基本關係S的主碼K相對應,則對於R中每個元組在F上的值只允許兩種可能,即要麼空值,要麼等於S中某個元組的主碼值。
(3)、用戶自定義完整性約束
(4)、關係模型完整性約束的檢驗(執行插入、刪除、更新操作檢驗)
第三節 關係數據庫的規範化理論
關係數據庫的規範化理論是關係數據庫設計的理論依據,概念設計階段使用
一、關係模式中可能存在的冗餘和異常問題
(1)、數據冗餘
(2)、更新異常
(3)、插入異常
(4)、刪除異常
二、函數依賴與關鍵字
(1)、函數依賴是指關係中的屬性間的對應關係。
1、完全函數依賴
設R爲任一給定關係,X、Y爲其屬性集,若X→Y,且對X中的任何真子集X’都有X’↛ Y,則稱Y完全函數依賴於X。
2、部分函數依賴
設R爲任一給定關係,X、Y爲其屬性集,若X→Y,且對X中存在一個真子集X’都有X’→ Y,則稱Y部分函數依賴於X。
3、傳遞函數依賴
設R爲任一給定關係,X、Y、Z爲其不同屬性子集,若X→Y,X’↛ Y,Y→Z,則X→Z,稱爲Z傳遞函數依賴於X。
三、範式與關係規範化過程
滿足最低要求的稱爲第一範式,稱1NF;第二範式,稱2NF;第三範式,稱3NF,以此類推…
一個低一級範式的關係模式通過模式分解可以轉換爲若干個高一級範式的關係模式的集合,這種過程就叫規範化
(1)、第一範式:如果R中每個列與行的交點處的取值都是不可再分的基本元素。
一個不含重複組的關係,其中不存在嵌套結構。
(2)、第二範式:設R爲任一給定關係,若R爲1NF,且其所有非主屬性都完全函數依賴於候選關鍵字。
(3)、第三範式:設R爲任一給定關係,若R爲2NF,且其每一個非主屬性都不傳遞函數依賴於候選關鍵字。
(3)、BCNF:設R爲任一給定關係,X、Y爲其屬性集,F爲其函數依賴,若R爲3NF,且其F中所有函數依賴X→Y中的X必包含候選關鍵字。
四、關係規範化理論的應用
關係規範化理論主要用於數據庫設計中的概念設計階段
。