關聯式資料庫關係的完整性,關聯式資料庫完整性

來源:互聯網
上載者:User

關聯式資料庫關係的完整性,關聯式資料庫完整性

1、關係:D1×D2×…×Dn的子集叫做在域D1,D2,…Dn上的關係,表示為R(D1,D2,…Dn),R表示關係的名字,n是關係的 。關係中的每個元素是關係中的元組。
2、關聯式模式中有三類完整性條件約束: 實體完整性、參照完整性、使用者定義的完整性。其中實體完整性和參照完整性是關聯式模式 必須滿足的完整性條件約束條件,被稱作是關係的兩個不變性,應該由關係系統自動支援。使用者定義的完整性是應用領域需要遵循的約束條件,體現了具體領域中的語義約束。
3、實體完整性規則:若屬性(指一個或一組屬性)A是基本關係R的主屬性,則A不能取空值。所謂空值就是“不知道”或“不存在”的值。
按照實體完整性的規則的規定,基本關係的主碼都不能取控制。如果主碼由若干屬性群組成,則所有這些主屬性都不能取空值。
對於實體完整性規則說明:
(1)、實體完整性規則是針對基本關係而言的。一個基本表通常對應現實世界的一個實體集。如學生關係對應於學生的集合。
(2)、現實世界中的實體是可區分的,即他們具有某種唯一性標識。例如每個學生都是獨立的個體,是不一樣的。
(3)、關聯式模式中以主碼作為唯一性標識。
(4)、主碼中的屬性,即主屬性不能取空值,如果主屬性取空值,就說明存在某個不可標識的實體,即存在不可區分的實體,這與(2)相矛盾,因此這個規則稱為實體完整性。
4、參照完整性:(1)設F是基本關係R的一個或一組屬性,但不是關係R的碼。K是基本關係S的主碼。如果F與K相對應,則稱F是R的外碼(foreign key)。並稱基本關係R為參照關係。基本關係S為被參照關係。外碼並不一定要與相應的主碼同名。
(2)若屬性(或屬性群組)F是基本關係R的外碼,它與基本關係S的主碼K相對應(基本關係R與S不一定是不同的關係),則對於R中每個元組在F上的值必須為:或者取空值(F的每個屬性值均為空白值)或者等於S中的某個元組的主碼值。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.