什么是候选码、主码、全码、外码

什么是候选码、主码、全码、外码,第1张

候选码:若关系中的一个属性或属性组的值能够唯一地标识一个元组,且他的真子集不能唯一的标识一个元组,则称这个属性或属性组做候选码。

主码:主码一般指主关键字。主关键字是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。在两个表的关系中,主关键字用来在一个表中引用来自于另一个表中的特定记录。

全码:All-key关系模型的所有属性组组成该关系模式的候选码,称为全码。即所有属性当作一个码。若关系中只有一个候选码,且这个候选码中包含全部属性,则该候选码为全码。

外码:某个关系的主码相应的属性在另一关系中出现,此时该主码在就是另一关系的外码。

扩展资料:

主码作用:

1、保证实体的完整性;

2、加快数据库的 *** 作速度;

3、在表中添加新记录时,ACCESS会自动检查新记录的主键值,不允许该值与其他记录的主键值重复;

4、ACCESS自动按主键值的顺序显示表中的记录。如果没有定义主键,则按输入记录的顺序显示表中的记录。

参考资料:百度百科-候选码

               百度百科-主码

第一步:只出现在→左边的一定是候选码,只出现在→右边的一定不是候选码,左右都不出现的一定是候选码,左右都出现的不一定是候选码。

第二步:查看与每个其他属性结合成的子集能否推出其他所有属性,找出元素数量最少的即为候选码。

什么是候选码:

若关系中的某一属性或属性组的值能唯一的标识一个元组,而其任何、子集都不能再标识,则称该属性组为(超级码)候选码。

简单的说,候选码(超级码)就是可以被选为主码的属性或属性组。当一个关系有N个属性或属性组可以唯一标识时,则说明该关系有N个候选码,可以选定其中一个作为主码。候选码中出现过的属性称为主属性;非主属性就是不包含在任何候选码中的属性。

主码包含候选码和码,候选码包含码。

1、含义不同:若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码;若一个关系有多个候选码,其中任何一个都可以做主码,主码的诸属性就称为主属性;一个表中如果有一个字段,存储另外一个表的主键,这个字段就是外键,又称外码。

2、实际 *** 作不同:码是可以确定一个元组的所有信息的属性名或属性名组。

例如在{a,b,c,d}中,假设知道a的值就能确定a,b,c,d的值,假设知道c,d的值就可以确定a,b,c,d的值,那么{a}就是码,{c,d}就是码。

并且{a,b},{a,c},{a,b,c},{a,b,c,d}等也都是码,因为它们也可以确定一个元组的所有值,即使很多余。

候选码的真子集中不存在码,候选码可以有多个。

就上面的例子而言,{a}是候选码,{c,d}是候选码,因为它们的真子集中不存在码。

而诸如{a,b}并不是候选码,因为它的真子集中含有{a},且{a}是码。

主码就是主键的意思,主码是任意一个候选码,还是上面的例子,主码是候选码{a},{c,d}中的其中一个,既可以是{a},也可以是{c,d}。

3、定义概念不同:码是数据系统中的基本概念。所谓码就是能唯一标识实体的属性,他是整个实体集的性质,而不是单个实体的性质。它包括超码,候选码,主码。

超码是一个或多个属性的集合,这些属性可以让我们在一个实体集中唯一地标识一个实体。如果K是一个超码,那么K的任意超集也是超码,也就是说如果K是超码,那么所有包含K的集合也是超码。

候选码是从超码中选出的,自然地候选码也是一个或多个属性的集合。因为超码的范围太广,很多是我们并不感兴趣即无用处的。

所以候选码是最小超码,它们的任意真子集都不能成为超码。例如,如果K是超码,那么所有包含K的集合都不能是候选码;如果K,J都不是超码,那么K和J组成的集合(K,J)有可能是候选码。

按照上面码的定义看看外码的定义如下:

设F是基本关系R的一个或者一组属性,但不是关系R的码。K(s)是基本关系S的主码。如果F与K(s)相对对应,则称F是R的外码。

综上:F是非主属性组,必定可以取空值,但是课本例子包括课后题都说F可以是主属性,当为主属性时,为了保持实体完整性,不可以取空值。

扩展资料:

码=超键:能够唯一标识一条记录的属性或属性集。

标识性:一个数据表的所有记录都具有不同的超键;非空性:不能为空;有些时候也把码称作“键”。

候选键=候选码:能够唯一标识一条记录的最小属性集;标识性:一个数据表的所有记录都具有不同的候选键;

最小性:任一候选键的任何真子集都不能唯一标识一个记录(比如在成绩表中(学号,课程号)是一个候选键,单独的学号,课程号都不能决定一条记录)。

非空性:不能为空;候选键是没有多余属性的超键;举例:学生ID是候选码,那么含有候选码的都是码,少部分地方也有叫超级码的,但是见得不多。

主键=主码:某个能够唯一标识一条记录的最小属性集(是从候选码里人为挑选的一条)。

唯一性:一个数据表只能有一个主键;标识性:一个数据表的所有记录都具有不同的主键取值;

非空性:不能为空;人为的选取某个候选码为主码。

参考资料:百度百科-数据库


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5839729.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-02-14
下一篇 2023-02-14

发表评论

登录后才能评论

评论列表(0条)

保存