完整性約束

2021-10-24 06:49:19 字數 674 閱讀 5833

資料庫的完整性是指保護資料庫的有效性和正確性,防止資料庫中存在不符合語義的、不正確的資料。sql語言提供了相應的完整性約束機制,以確保將正確的資料儲存到資料庫中。

完整性約束的型別:

唯一約束(unique):用於表中的非主鍵字段,確保字段不會輸入重複的值,為其創造唯一索引;唯一鍵的值可以是null,但只允許出現乙個null值

主鍵約束(primary key):在資料庫中通常用乙個欄位或幾個欄位的組合值來唯一標識表中記錄,這一字段或字段的組合即為主鍵;乙個表中可以設定多個unique約束,但只能設定乙個主鍵;被設定為主鍵的字段值不能是null值;向子表中插入新行或修改其中的外來鍵字段時,欄位的值必須在父表中已存在,否則不能執行修改或插入操作

外來鍵約束(references):外來鍵字段對應的父表中的字段在父表中必須是主鍵或唯一鍵;外來鍵約束可以參照自身表中其它字段;

校驗約束(check):防止使用者向某欄位輸入非法數值;字段級校驗約束只能參照被約束的字段,表級校驗約束只能參照此表中的字段,如果校驗約束被應用於多個欄位時,只能被定於為表約束

reference

chen, y., jia, b., & he, x. (2020). sql cong ru men dao jing tong. beijing: zhong guo shui li shui dian chu ban she.

完整性約束

create table student tb id int notnull 非空約束 資料不允許為空 name varchar 255 null 顯式指定允許為空 新增非空約束 alter table 表名 modify column 屬性名 屬性型別 not null alter table s...

完整性約束

約束 為什麼要使用約束?為了保障資料的合法性,完整性 分類 not null 非空約束,資料不能為空 例如 學生表的姓名字段 create table student id int,name char 10 not null,char 1 default woman unique 唯一的約束,該字段...

SQL完整性約束

完整性約束保證授權使用者對資料庫所做的修改不會破壞資料的一致性。not null宣告禁止在該屬性上插入空值。任何可能導致向乙個宣告為not null的屬性插入空值的資料都會產生錯誤診斷資訊。unique aj 1 aj 2 aj m unique宣告指出aj 1 aj 2 aj m 形成了乙個候選碼...