關系的三種完整性約束


1、實體完整性規則 若一個屬性(指一個或一組屬性)A是基本關系R的主屬性,則A不能取空值。空值就是不知道或者不存在的值

   (1)實體完整性規則是針對基本關系而言的,一個基本表通常對應現實世界的一個實體集。例如學生關系對應學生的集合。

   (2)現實世界的實體是可區分的,它們都具有唯一性標識。例如每個學生都是獨立的個體,是不一樣的。相應地,關系數據以主碼作為唯一性標識

    (3) 主碼中的屬性即主屬性不能取空值。如果主屬性取空值,就說明存在某個不可標識的實體,即存在不可區分的實體,與(2)矛盾

PS:就跟每個中國人都有身份證一樣,每個身份證號證明你是誰,7674674這就是張三,7484748這就是李四

2、參照完整性

    (1) 現實世界實體往往存在某種關系,關系模型中實體及實體間的關系都是用關系來描述的,這樣就存在關系與關系之間的引用

    (2) F是基本關系R的一個或者一組屬性,但不是關系R的碼。Ks是基本關系S的主碼。如果F與Ks相對應,則稱F是R的外碼。並稱基本關系R為參照關系,S為被參照關系。學生專業的'專業號'與專業關系的主碼'專業號'相對應,專業號就是學生關系的外碼,二者就是參照與被參照的關系

    (3) 參照完整性規則,若屬性F是基本關系R的外碼,它與基本關系S的主碼Ks相對應,則對應R中每個元組在F上的值必須為空或者等於S元組的主碼值

PS:新建的表,參照別的表時,字段數據必須保持一致,比如說學生表里小明是班長,到了干部表里,小明不是班長了,這不就亂套了

3、用戶自定義完整性 針對某一具體關系數據庫的約束條件,反應某一個具體應用所涉及的數據必須滿足語義要求

PS:就是說這個字段必須有現實意義,比如說學生表里建個存款字段,這就有點扯淡了,沒啥用)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM