超码、候选码、主码、全码、主属性和非主属性

超码

一个或多个属性的集合,这些属性的组合可以使我们在一个关系中唯一地标识一个元组。
这个集合可以用来区分同一个表中的元组,比如 ID 可以作为超码,因为它是唯一的。当一个属性就能区分同一个表中的元组,这个属性就是超码,而且它和同一个表中的任意属性组成集合,这个组合都是超码。
举例:ID 这个属性,在该表中,任意不同元组都不会取相同的ID值,那么 ID 是超码,且 ID和任何属性再组成集合,这个集合还是超码,ID,name这个集合还是超码。

候选码

最小超码
超码这个集合中,如果提取它们的某个子集,这个子集是可以用来区分同一个表中的元组,且该子集只有一个元素或者再从中提取的子集无法用来区分同一个表中的元组,这个集合就是候选码。一个关系表中至少有一个候选码。
举例:超码的例子中,ID也是候选码,但是 ID,name不是候选码,因为从这个集合中提取的子集还可以用来区分同一个表中的元组。假如这个表中还有 name,anothername,并且这个集合满足候选码条件,那么这个关系中就有 IDname,anothername 两个候选码

主码

被数据库设计者选中的、主要用来在一个关系中区分不同元组的 候选码
我们人为取一个关系中的某个候选码,定义为主码并使用。

全码

一个关系中所有属性组组成该关系模式的 候选码,称为 全码

主属性

候选码中所有属性的并集中的任意一个属性

非主属性

不包含在候选码中的属性

posted @ 2020-04-01 10:49  肥斯大只仔  阅读(4342)  评论(0编辑  收藏  举报