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

如题所述

第1个回答  2018-03-10
定义:所谓码就是能唯一标识实体的属性,所有码都是集合,超码包括候选码,候选码包括主码,主码都应该选择从不或者极少变化的的属性。
理论联系实际,假设学生(实体)具有多个属性:学号,身份证号,姓名,性别。
性质:如果K是超码,那么所有包含K的集合也是超码。 
举例:{学号}是一个超码,那么{学号,身份证号}、{学号,身份证号,姓名}、{学号,身份证号,姓名,性别}、{身份证号}、{身份证号,姓名}、{身份证号,姓名、性别}都是超码。
性质:候选码是最小超码,它们的任意真子集都不能成为超码。
举例:{学号}、{身份证号}都是不可分解。
性质:如果K,J都不是超码,那么K和J组成的集合(K,J)有可能是候选码。 
举例:如果性别和姓名可以唯一标识一个学生,则{姓名,性别}也为超码。