本文收集整理关于oracle设置唯一键约束的相关议题,使用内容导航快速到达。
内容导航:
Q1:oracle 主键、外键和主键约束、唯一约束如何理解,谢谢!
主键是唯一证明,在茫茫人海中,怎么区分你和别人呢。通过身份证(当然也有别的,指纹之类的)。每个身份证号都是唯一的。不可能有两个人有同一个身份证号(理论上)。
外键相当于引用别人的主键。比如说你买房子,有房产证。那个房产证上要有你的身份证号。这里,你的身份证号就成了外键
唯一性约束。就是强制性要求,在范围内(一张表)该列的值不能重复。是唯一的。主键必然是唯一的。
e.g
AB
1x
2x
上表B列就不满足唯一性约束(x有两个),
视图,就是在表之上抽取出来的。基于表,没有物理结构,不实际存储数据。
比如你属于一个很大的家族x的成员。然后你,你父母又是一个小的单位y。这样y就相当于从x根据某种条件筛选中的视图。
Q2:oracle 中把id字段都设置成主键和唯一性约束条件报错
说明存在ID相同的记录了,你的ID是怎么来的?如果你用sequence自动生成,就不会出这个问题了。
Q3:“oracle主键、外键、主键约束、唯一约束”这几个词语如何理解?
主键:就是这个表的目录,以方便你查询、更新等等,既然是“目录”,所以不可能有重复的定义出现,所以也就自动有一个主键约束。
外键:就是这个表外在的约束,要求某一列值,必须与外面的某一数据相符 ,是表与表之间数据的约束 。
主键约束 :就是要求,主键不能重复,才可以生成“目录”。
唯一约束 :就是要求,某个或某几个数据不能重复。
Q4:怎样在oracle中创建主外键和唯一约束
alter tableaaa add constraint uq_aaa_name uqique(name);//唯一约束alter tablebbb add constraint fk_bbb_id foreign key(id) references aaa(id);