關係的三類完整性約束

2021-08-07 08:04:26 字數 1051 閱讀 2953

關係的三類完整性約束

若屬性(指乙個或一組屬性)a是基本關係r的主屬性,則a不能取空值。

若屬性(或屬性組)f是基本關係r的外碼,它與基本關係s的主碼k相對應(或者說f引用了k),則對於r中每個元組在f上的值必須為:或者取空值;或者等於s中某個元組的主碼值。

針對某一具體關聯式資料庫的約束條件,它反映某一具體應用所涉及的資料必須滿足的語義要求。正規化

每乙個分量必須是不可分的資料項。

若r屬於1nf,且每乙個非主屬性完全函式依賴於碼,則r屬於2nf。

若r屬於2nf,且每乙個非主屬性不傳遞依賴於碼。

所有非主屬性對每乙個碼都是完全函式依賴;

所有的主屬性對每乙個不包含它的碼,也是完全函式依賴;

沒有任何屬性完全函式依賴於非碼的任何一組屬性。

若r屬於1nf,且對於r的每個非平凡多值依賴x->->y(y不屬於x),x都含有碼。

屬性之間不允許有非平凡且非函式依賴的多值依賴。

事務使用者定義的乙個資料庫操作序列,這些操作要麼全做要麼全不做,是乙個不可分割的工作單位。

隔離級別

所謂幻影資料是指:兩個併發的事務 t1 和 t2,當事務 t1 按一定條件從資料庫中讀取了某些資料記錄後,事務 t2 刪除了其中部分記錄,當 t1 再次按相同條件讀取資料時,發現某些記錄消失了;當事務 t1 按一定條件從資料庫中讀取某些資料記錄後,事務 t2 插入了一些記錄,當 t1 再次按相同條件讀取資料時,發現多了一些記錄。

併發操作帶來的資料不一致性:

丟失修改(lost update)

不可重複讀(non-repeatable read)

讀「髒」資料(dirty read)

隔離級別

丟失修改

髒讀不可重複讀

幻讀加鎖讀

讀未提交

noyes

yesyes

no讀提交

nono

yesyes

no可重複讀

nono

noyes

no序列化

nono

nono

yes

關係的三類完整性約束

規則2.1實體完整性規則 entity integrity 若屬性a是基本關係r的主屬性,則屬性a不能取空值 空值就是 不知道 或 不存在 或 無意義 的值 例 選修 學號,課程號,成績 學號 課程號 為主碼 學號 和 課程號 兩個屬性都不能取空值 實體完整性規則的說明 1 實體完整性規則是針對基本...

關係模型中三類完整性約束以及解釋

1 實體完整性 所謂的實體完整性就是指關係 所謂的關係就是表 的主碼不能取空值 比如學生表的主碼通常是取學號為主碼 2 參照完整性 是指參照關係中每個元素的外碼要麼為空 null 要麼等於被參照關係中某個元素的主碼 比如今天是9月2日是開學日,大學新生剛來報道,在學生表裡,有的學生可能還沒來得及分配...

資料庫關係模型的三類完整性約束

關係模型中有三類完整性約束,分別是 實體完整性,參照完整性,使用者定義完整性 定義 實體完整性是用於保證關聯式資料庫中每個元組都是可區分的,唯一的。它的意思就是說資料表中每一行都應該有辦法將其唯一區分開來,這自然指的就是主鍵了,而且主鍵必須不能為空或部分為空。那麼它大可以直接叫一些諸如 要有主鍵 等...