規則2.1實體完整性規則(entity integrity)
若屬性a是基本關係r的主屬性,則屬性a不能取空值
空值就是「不知道」或「不存在」或「無意義」的值 例:
選修(學號,課程號,成績)
「學號、課程號」為主碼
「學號」和「課程號」兩個屬性都不能取空值
實體完整性規則的說明
(1)實體完整性規則是針對基本關係而言的。
乙個基本表通常對應現實世界的乙個實體集。
(2)現實世界中的實體是可區分的,即它們具有某種唯
一性標識。
(3)關係模型中以主碼作為唯一性標識。
(4)主碼中的屬性即主屬性不能取空值。
主屬性取空值,就說明存在某個不可標識的實體,即存在不可區分的實體,這與第(2)點相矛盾,因此這個規則稱為實體完整性
規則2.2 參照完整性規則
若屬性(或屬性組)f是基本關係r的外碼它與基本關係s的主碼ks相對應(基本關係r和s不一定是不同的關係),則對於r中每個元組在f上的值必須為:
或者取空值(f的每個屬性值均為空值)
或者等於s中某個元組的主碼值
即外碼要麼為空,要麼為參照關係的主碼的值
參照完整性規則的說明
關係r和s不一定是不同的關係
目標關係s的主碼ks 和參照關係的外碼f必須定義在同乙個(或一組)域上
外碼並不一定要與相應的主碼同名
當外碼與相應的主碼屬於不同關係時,往往取相同的名 字,以便於識別
規則2.3 使用者定義的完整性規則
針對某一具體關聯式資料庫的約束條件,反映某一具體應用所涉及的資料必須滿足的語義要求
關係模型應提供定義和檢驗這類完整性的機制,以便用統一的系統的方法處理它們,而不需由應用程式承擔這一功能
關係的三類完整性約束
關係的三類完整性約束 若屬性 指乙個或一組屬性 a是基本關係r的主屬性,則a不能取空值。若屬性 或屬性組 f是基本關係r的外碼,它與基本關係s的主碼k相對應 或者說f引用了k 則對於r中每個元組在f上的值必須為 或者取空值 或者等於s中某個元組的主碼值。針對某一具體關聯式資料庫的約束條件,它反映某一...
關係模型中三類完整性約束以及解釋
1 實體完整性 所謂的實體完整性就是指關係 所謂的關係就是表 的主碼不能取空值 比如學生表的主碼通常是取學號為主碼 2 參照完整性 是指參照關係中每個元素的外碼要麼為空 null 要麼等於被參照關係中某個元素的主碼 比如今天是9月2日是開學日,大學新生剛來報道,在學生表裡,有的學生可能還沒來得及分配...
資料庫關係模型的三類完整性約束
關係模型中有三類完整性約束,分別是 實體完整性,參照完整性,使用者定義完整性 定義 實體完整性是用於保證關聯式資料庫中每個元組都是可區分的,唯一的。它的意思就是說資料表中每一行都應該有辦法將其唯一區分開來,這自然指的就是主鍵了,而且主鍵必須不能為空或部分為空。那麼它大可以直接叫一些諸如 要有主鍵 等...