在oracle中,主键,外键,主码,候选码等概念之间的区别,有点混,麻烦用比较通俗的语言解释一下,谢谢!
发布网友
发布时间:2022-03-29 00:09
我来回答
共1个回答
热心网友
时间:2022-03-29 01:38
概念性的回答,百度有很多,这里就通俗一点说~
简单点说:
1、主键,就是唯一能标示表中每一条记录的存在,记住,是唯一,就好比---人口信息表(姓名,性别,身份证号),这里面有几亿人,要确定到底是找哪位,只有通过身份证号,身份证号这个字段就可以设为主键。当然,它也可以由几个字段组成,
如---成绩表(学号,课程号,成绩),这里,学号和课程号是主键,因为这两个字段合在一起,才能确定某一条成绩记录,如A君的数学成绩...
2、外键,通俗点,就是引用别人的字段,不是自家产的。
如--员工表(员工号,姓名,部门号)
部门(部门号,部门名称,部门经理)
在这里,员工表的主键是员工号,而部门表的主键是部门号,由于员工表中的部门号必须要依赖于部门表,所以,员工表中的部门号就是外键
再通俗点,就是车牌别人定,我只是套牌的。
3、主码,其实跟主键是一样的,它也是可以唯一标示每一条记录的存在,叫法不同而已。。。如 工人(工人ID,身份证ID,工资,姓名)
在这里,工人ID和身份证ID都可唯一标示记录,我挑工人ID做主码,那么,身份证ID就充当候选码咯,反正它也能干这活,如果身份证ID做主码,那么工人ID就做候选码咯!