组合唯一约束

UNIQUE约束要求,对于列或列组合而言,表中每行的值必须是不同的。
UNIQUE约束的怪异之处在于,可以在键列输入NULL值。在键列中,可能有任意数量的包含NULL值得行。
UNIQUE约束通过索引来实施。在定义UNIQUE约束时,Oracle将查看键列上的索引,如果不存在,就创建一个。
索引(称为B*树索引)的结构不包含NULL值,正因为如此,才允许出现多个包含null的行。
选择 WHERE key_column is NULL不使用索引(因为索引不包含NULL),因此总是导致扫描整个表。

所以说组合唯一约束的列可以全为空或某几个为空,列是否能为空是由not null约束决定的。

posted @ 2016-09-18 23:31  raindream  阅读(1278)  评论(0)    收藏  举报