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