數據庫系統概論之第二章關係數據庫

2.1關係數據結構及形式化定義

關係數據庫系統是支持關係模型的數據庫系統。關係模型由關係數據結構、關係操作集合和關係完整性約束3部分組成。

2.1.1關係

1.域(domain)

域是一組具有相同數據類型的值的集合;

2.笛卡爾積(cartesian product)

笛卡爾積是域上面的一種集合運算。笛卡爾積可表示爲一個二維表,表中的每行對應一個元組,表中的每一列的值來自一個域。

3.關係(relation)

關係是笛卡爾積的有限子集,所以關係也是一個二維表,表的每行對應一個元組,表的每列對應一個域。

若關係中的某一屬性組的值能唯一地標識一個元組,則稱該屬性組爲候選碼(candidate key)。

若一個關係有多個候選碼,則選定其中一個爲主碼(primary key)。

候選碼的諸屬性稱爲主屬性(prime attribute),不包含在任何候選碼中的屬性稱爲非主屬性(non-prime attribute)或非碼屬性(non-key attribute)。

關係可以有三種類型:基本關係(通常又稱爲基本表或基表)、查詢表和視圖表。

基本表是實際存在的表,它是實際存儲數據的邏輯表示;查詢表是查詢結果對應的表;視圖表是由基本表或其他視圖表導出的表,是虛表,不對應實際存儲的數據;

關係表中不允許還有表,簡言之不允許表中有表。

2.2關係操作

關係模型中常用的關係操作包括查詢操作(query)和插入(insert)、刪除(delete)和修改(update)操作兩大部分;

2.3關係的完整性

關係模型的完整性規則是對關係的某種約束條件,也就是說關係的值隨着時間的變化時應該滿足一些約束性條件。

2.3.1關係模型的三類完整性約束

關係中有三類完整性約束:實體完整性、參照完整性和用戶定義的完整性。

2.3.2實體完整性(entitiy intergrity)

實體完整性規則

若屬性(指一個或一組屬性)A是基本關係R的主屬性,則A不能取空值;

2.3.3參照完整性(referential integrity)

關係中的某個屬性需要參照某個關係的屬性取值,不僅兩個或兩個以上的關係間可以存在引用關係,同一關係內部屬性間也可能存在引用關係。

設F是基本關係R的一個或一組屬性,但不是關係R的碼,K是基本關係S的主碼,如果F與K相對應,則稱F是R的外碼(foreign key),並稱基本關係R爲參照關係(referencing relation),基本關係S爲被參照關係(referenced relation)或目標關係(target relation)。關係R和S不一定是不同的關係。

參照完整性規則

若屬性(或屬性組)F是基本關係R的外碼,它與基本關係S的主碼K相對應(基本關係R和S不一定是不同的關係),則對應R中每個元組在F上的值必須爲:

1.或者取空值(F的每個屬性值均爲空值);

2.或者等於S中某個元組的主碼值;

2.3.4用戶定義的完整性(user-defined integrity)





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章