資料庫約束性

2021-06-27 13:56:53 字數 1627 閱讀 1805

(1)null | not null  用於定義列的空值約束。(定義列)  (下面的藍色部份是單選其中之一)

語法:constraint 約束名 null | not null 

a. not null 約束強制列不接受 null 值。

b. not null 約束強制字段始終包含值。這意味著,如果不向字段新增值,就無法插入新紀錄或者更新記錄。

(2)unique  約束唯一標識資料庫表中的每條記錄。(即可以定義列也可能定義表)

語法:constraint 約束名 unique (列名, 列名, ... ...);

a. unique 約束唯一

標識資料庫表中的每條記錄。

b. unique 和 

primary key 約束均為列或列集合提供了唯一性的保證。

c. primary key 擁有自動定義的 unique 約束。

d.請注意,每個表可以有多個 unique 約束,但是每個表只能有乙個 primary key 約束。

說明:用於指定基本表在某乙個列或多個列的組合上取值必須唯一。定義了unique約束的那些列稱為唯一鍵。如果為基本表的革一列或多個列的組合指定了unique約束,則系統將為這些列建立唯一索引,從而保證在表中的任意兩行記錄在指定的列或列組合上不能取同樣的值。

(3)primary key 約束唯一

標識資料庫表中的每條記錄。(即可以定義列也可能定義表)

語法:constraint 約束名 primary key (列名, 列名, ... ...);

a. 主鍵必須包含唯一的值。

b. 主鍵列不能包含 null 值。

c. 每個表應該都乙個主鍵,並且每個表只能有乙個主鍵。

說明:用於定義基本表的主鍵。與unique約束類似,primary key 約束也是通過建立唯一索引來保證基本表在主鍵列(某乙個列或多個列的組合)上取值的唯一性。然而它們之間也存在著很大差別:在乙個基本表中只能定義乙個 primary key 約束,卻能定義多個unique約束。如果為基本表的某乙個列或多個列的組合指定了 primary key 約束,那麼其中在任何乙個列都不能出現空值;而 unique 約束允許出現空值。

(4)foreign key 外來鍵 (即可以定義列也可能定義表)

a.在references 中引用的列必須和 foreign key 的外部鍵列一一對應,即列數目相等並且相應列的資料型別相同。

說明:指定某乙個列或多個列的組合作為外部鍵,並在外部鍵和它所引用的主鍵或唯一鍵之間建立聯絡。在這種聯絡中,包含外部鍵的基本表稱為從表,包含外部鍵引用的主鍵或唯一鍵的表稱為主表。一旦為一列或列的組合定義了 foreign key 約束,系統將保證從表在外部鍵上的取值要麼是主表中某乙個主鍵值或唯一鍵值,要麼取空值。

(5)check 約束用於限制列中的值的範圍。 (即可以定義列也可能定義表)

語法:constraint 約束名 check (約束條件);

a. 如果對單個列定義 check 約束,那麼該列只允許特定的值。

b. 如果對乙個表定義 check 約束,那麼此約束會在特定的列中對值進行限制。

說明:用於指定基本表中的每一條記錄必須滿足的條件,可以對基本表在各個列上的值做進一步的約束,如成績列的取值既不能大於100,也不能小於0。

age int not null check (age>0),

資料庫約束性

1 null not null 用於定義列的空值約束。定義列 下面的藍色部份是單選其中之一 語法 constraint 約束名 null not null a.not null 約束強制列不接受 null 值。b.not null 約束強制字段始終包含值。這意味著,如果不向字段新增值,就無法插入新紀...

資料庫 完整性約束

問題描述 現有乙個商店的資料庫 shopping 記錄客戶及其購物情況,由以下四個關係組成 a 客戶表customer 儲存客戶資訊,包括客戶號customerid 客戶姓名cname 位址address 電子郵件email 性別gender 身份證號cardid 號碼telcode。b 商品表go...

資料庫 資料完整性約束

資料完整性 儲存在資料庫中的所有資料值均正確的狀態。完整性約束 防止不符合規範的資料進入資料庫,在使用者對資料進行插入 修改 刪除等操作時,dbms自動按照一定的約束條件對資料進行監測,使不符合規範的資料不能進入資料庫,以確保資料庫中儲存的資料正確 有效 相容。1.實體完整性 實體完整性是對主鍵的約...