資料庫中字段的約束

2021-09-28 19:43:04 字數 863 閱讀 6736

1.主鍵約束(primary key)

1) 主鍵用於唯一地標識表中的每一條記錄,可以定義一列或多列為主鍵。 

2) 是不可能(或很難)更新. 

3) 主鍵列上沒有任何兩行具有相同值(即重複值),不允許空(null).

4) 主健可作外健,唯一索引不可;

2.唯一性約束(unique)

1) 唯一性約束用來限制不受主鍵約束的列上的資料的唯一性,用於作為訪問某行的可選手段,乙個表上可以放置多個唯一性約束.

2) 只要唯一就可以更新. 

3) 即表中任意兩行在  指定列上都不允許有相同的值,允許空(null).

4) 乙個表上可以放置多個唯一性約束

3.唯一索引(index)

建立唯一索引可以確保任何生成重複鍵值的嘗試都會失敗。

唯一性約束和主鍵約束的區別:

(1).唯一性約束允許在該列上存在null值,而主鍵約束的限制更為嚴格,不但不允許有重複,而且也不允許有空值。

(2).在建立唯一性約束和主鍵約束時可以建立聚集索引和非聚集索引,但在 預設情況下主鍵約束產生聚集索引,而唯一性約束產生非聚集索引

約束和索引, 前者是用來檢查資料的正確性,後者用來實現資料查詢的優化,目的不同。

唯一性約束與唯一索引有所不同:

(1).建立唯一約束會在oracle中建立乙個constraint,同時也會建立乙個該約束對應的唯一索引。

(2).建立唯一索引只會建立乙個唯一索引,不會建立constraint。

也就是說其實唯一約束是通過建立唯一索引來實現的。

在刪除時這兩者也有一定的區別:

刪除唯一約束時可以只刪除約束而不刪除對應的索引,所以對應的列還是必須唯一的,

而刪除了唯一索引的話就可以插入不唯一的值

字段約束和資料庫正規化

字段約束 資料庫的正規化 構造資料庫必須遵循一定的規則,這種規則就是正規化 關聯式資料庫有六種正規化,一般情況滿足第三正規化即可。第一正規化 原子性 第一正規化是資料庫的基本要求,不滿足這一點就不是關係型資料庫 資料表的每一列都是不可分割的基本資料項,同一列中不能有多個值,也不能存在重複屬性,第二正...

資料庫中的約束

約束 5個 1.實體完整性 主鍵約束 唯一性約束 2.域完整性 check約束 3.引用完整性 foreign key 約束 建立約束 應用例項 新增主鍵約束 cus info pk 主鍵重新命名 alter table cus info add constraint cus info pk pri...

資料庫中欄位資料型別以及約束

資料型別 資料庫中表中的字段,每乙個欄位都有固定的資料型別,每個字段代表含義不同,需要的儲存型別不同,常見的資料型別一般有數值型別,字元型別,時間型別,每一種型別又有具體細分。數值型別 整數型別 tinyint smallint mediumint int bigint 浮點型別 float dou...