主键与外键和唯一性约束与外键建立关联 有何区别

GRLD8888 2009-09-08 09:27:46
  大家都清楚,在关系型数据库中表与与之间的关联是由主键和外键的参照关系来体现的。
  但是我也试过,
   在oracle 10g 环境下。实例如下:
create table a
( id number(4) ,
unique(id),
name varchar2(8)
);
create table b
(
id number(4),
foreign key(id) references a(id)
);
这样也可以,我有点不明白,既然这样,那么主键还有什么用啊,之间有什么实质的区别,请大家帮忙解答,谢谢
...全文
166 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
inthirties 2009-09-08
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wh62592855 的回复:]
primary key=unique + not null
[/Quote]

对wh62592855说的很对,

补充一下
pk和fk是数据库模型设计里放映关系的。所以是一种关系的映射

unique是一个constraints. 一个checking,在建外键的时候,保证关系的正确性,所以被references的字段必须是unique的。
wh62592855 2009-09-08
  • 打赏
  • 举报
回复
primary key=unique + not null
ojuju10 2009-09-08
  • 打赏
  • 举报
回复
参考下:
http://topic.csdn.net/u/20090830/23/bcb9239b-09aa-4ecc-9b4a-525581d1a52a.html
ojuju10 2009-09-08
  • 打赏
  • 举报
回复
主键为非空,唯一,每个表只有一个,创建主键默认就创建了一个唯一性约束;

唯一性约束,每个表可以有多个

17,382

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧