Oracle-主键约束、唯一约束与外键约束
1.主键约束: 一个表只能有一个主键约束。主键可以是单个字段,也可以是多个字段。无论是哪种情况,其所有字段都是NOT NULL。
2.Unique约束:一个表可以有多个Unique约束,Unique的字段可以为NULL。
3.主键与Unique:不同点在于一个表只能有一个主键约束,但是可以有多个Unique约束;主键所有字段都是not null,unique可以是null。相同点在于都能保证唯一性。
4.主键、Unique与索引:主键约束与Unique约束默认会成为索引。当主键和Unique有多个字段时,有索引前缀性问题,即where语句中的条件必须有主键或者unique的第一个字段,否则不会使用索引。
5.外键与主键、Unique:外键必须为另外一张表(父表)的主键或者唯一索引。如果要添加记录,而父表中没有则报错。反之,如果要删除父表中的记录,而子表中有记录,也会报错。但是如果在创建外键约束时,如果使用ondeletecascade,则删除父表中数据时,不报错而直接把子表关联的数据删除。如果要删除父表,则需要加上cascadeconstraints,此时子表的foreignkey被去除,表中记录保持不变。
相关推荐
neverstopforcode 2020-04-15
踩风火轮的乌龟 2020-01-08
vivenwan 2019-12-03
点滴技术生活 2019-11-12
敏敏张 2020-11-11
数据库之扑朔迷离 2020-08-18
北桥源木 2020-08-15
ssjdoudou 2020-08-09
boredbird 2020-08-07
InJavaWeTrust 2020-06-21
QianChia 2020-06-14
窃破天道 2020-06-12
KaiZhaoKZ 2020-05-30
Lius 2020-05-27
Rain 2020-04-15
dreamhua 2020-04-30
dayi 2020-04-29
iflreey 2020-04-29
bluetears 2020-04-18