数据库中什么是超码、候选码、主码?

数据库中什么是超码、候选码、主码?,第1张

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

如果K是一个超码,那么K的任意超集也是超码,也就是说如果K是超码,那么所有包含K的集合也是超码。

所以候选码是最小超码,它们的任意真子集都不能成为超码。

如果K是超码,那么所有包含K的集合都不能是候选码

从多个候选码中任意选出一个做为主码,如果候选码只有一个,那么候选码就是主码。

主码唯一标识,候选码是可以作为主码的码,主码一定是候选码的子集,但候选码不一定是主码。

主码:被数据库设计者选中的,用来在同一实体集中区分不同实体的候选码;此外,应该选择哪些从不或极少变化的属性;

候选码:如果任意超码的真子集不能包括超码,则称其为候选码;超码包括候选码;

所有码都是一个集合,所有可以用来在实体集中标识唯一实体的集合,都是超码。如果任意超码的真子集不能包括超码,则称其为候选码。被数据库设计者选中的,用来在同一实体集中区分不同实体的候选码。超码包括候选码,候选码包括主码。

拓展资料

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

2、例如:在学生实体中,“学号”是能唯一的区分学生实体的,同时又假设“姓名”、“班级”的属性组合足以区分学生实体,那么{学号}和{姓名,班级}都是(超级码)候选码。

3、简单的说,候选码(超级码)就是可以被选为主码的属性或属性组。当一个关系有N个属性或属性组可以唯一标识时,则说明该关系有N个候选码,可以选定其中一个作为主码。

4、候选码中出现过的属性称为主属性;非主属性就是不包含在任何候选码中的属性

5、例如:关系工人(工号,身份z号,姓名,性别,部门).显然工号和身份z号都能够唯一标示这个关系,所以都是候选码。工号、身份z号这两个属性就是主属性。如果主码是一个属性组,那么属性组中的属性都是主属性。

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

楼主写的都不是标准的吧,键码:就是具有唯一性的属性,或者几个最小单位的组合能够体现唯一性,而候选键和主键都具有唯一性,本来两个没有区别,但是多个可以表示唯一性的属性时,你必然会选择其中一个表示这个表的唯一性,那这个就是主键码,剩下的唯一性的属性自然都是候选码,对于公共键,汗,表示没听过,书上貌似也没有,不知是不是你写错了,还是怎么的,而外键码:举个例子,有两个表,在其中一个表中的主键,却是另外一个表的候选码,OK,对于那个候选码的表,这个属性就是外键码了。

不知说的请不清,但还希望采纳!不懂的地方也可以继续问我,知道的,就给你解答


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

原文地址: http://outofmemory.cn/sjk/6664051.html

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

发表评论

登录后才能评论

评论列表(0条)

保存