一、實體完整性:
實體完整性規則:主屬性不能取空值
關係模型中:primary key
單屬性碼可以定義為列級約束條件或者表級約束條件
多屬性碼則只能定義為表級約束條件
實體完整性檢查和違約處理:
檢查主碼是否唯一,不唯一則拒絕插入或者修改
檢查主碼各屬性是否為空,只要有乙個為空就拒絕插入、修改
二、參照完整性:
create table中foreign key定義外碼,references指明所參照的主碼
違約處理:
拒絕執行(no action):預設策略
級聯操作(cascade)
設定為空值(set-null)
三、使用者定義的完整性:
針對某一具體應用的資料必須滿足的語義要求
屬性上的約束條件定義:
列值非空(not null);列值唯一(unique);檢查列值是否滿足布林表示式(check)
屬性上的資料條件檢查和違約處理:
插入元組或修改屬性值時,rdbms檢查約束條件是否被滿足,不滿足則拒絕執行操作;
元組級限制:create table時使用check定義
四、完整性約束命名子句:
constraint 《完整性約束條件名》[not null]等
alter table《表名》 drop constraint《完整性約束條件名》
五、斷言
create assertion 《斷言名》可以定義涉及多個表或者聚集操作的比較複雜的完整性約束條件;
斷言建立之後,任何對斷言中所涉及的操作都會觸發關聯式資料庫管理系統對斷言的檢查,使斷言不為真值的操作都會被拒絕。
六、觸發器:
使用者定義在關係表上的一類由事件驅動的特殊過程,一旦定義,使用者對錶的增刪改查均由伺服器自動啟用相應的觸發器,在dbms核心層進行完整性控制
觸發器:當特定的系統事件發生時,對規則的條件進行檢查,如果條件成立則執行規則中的動作,否則不執行,
觸發器的執行,是由觸發事件啟用的,並由資料庫伺服器自動執行。
資料庫完整性
完整性約束條件 實體完整性給出了主鍵的取值的最低約束條件 規則是 主鍵的各個屬性都不能為空。參照完整性給出了在關係之間建立正確的聯絡的約束條件 規則是 外來鍵或者取空值 此時要求外來鍵的各個屬性均為空值 或者等於被參照關係中的主鍵的某個值。使用者自定義完整性 關係數控應用系統中的關係往往還應該滿足一...
資料庫完整性
資料的完整性和安全性 資料庫的完整性和安全性是兩個既有聯絡又不盡相同的概念。資料的完整性是為了防止資料庫中存在不符合語義的資料,也就是防止資料庫中存在不正確的資料。資料的安全性是保護資料庫防止惡意破壞和非法訪問。完整性檢查和控制的防範物件是不合語義的 不正確的資料,防止它們進入資料庫。安全性控制的方...
資料庫 完整性
一 實驗目的 1 掌握資料庫約束的概念 2 熟悉sql server 的完整性約束技術。3 了解sql server 的違反完整性處理措施。二 實驗環境 sql server2014 三 實驗內容 1.在前幾次實驗所使用的資料庫中新建乙個教師資訊表,表名為teacher,字段包括tno 教師編號 t...