數(shù)據(jù)庫約束
主鍵約束(PRIMARY KEY)
主鍵是定位表中單個行的方式,可唯一確定表中的某一行,關(guān)系型數(shù)據(jù)庫要求所有表都應(yīng)該有主鍵,不過Oracle沒有遵循此范例要求,Oracle中的表可以沒有主鍵(這種情況不多見)。關(guān)于主鍵有幾個需要注意的點:
- 鍵列必須必須具有唯一性,且不能為空,其實主鍵約束 相當(dāng)于 UNIQUE+NOT NULL
- 一個表只允許有一個主鍵
- 主鍵所在列必須具有索引(主鍵的唯一約束通過索引來實現(xiàn)),如果不存在,將會在索引添加的時候自動創(chuàng)建
添加主鍵(約束的添加可在建表時創(chuàng)建,也可如下所示在建表后添加,一般推薦建表后添加,靈活度更高一些,建表時添加某些約束會有限制)
SQL> alter table emp add constraint emp_id_pk primary key(id);
唯一性約束(UNIQUE)
唯一性約束可作用在單列或多列上,對于這些列或列組合,唯一性約束保證每一行的唯一性。
UNIQUE需要注意:
- 對于UNIQUE約束來講,索引是必須的。如果不存在,就自動創(chuàng)建一個(UNIQUE的唯一性本質(zhì)上是通過索引來保證的)