候选键(candidate key):不含有多余属性的超键称为候选键
主键(primary key):用户选作元组标识的一个候选键程序主键
比如一个小范围的所有人,没有重名的,考虑以下属性
身份z 姓名 性别 年龄
身份z唯一,所以是一个超键
姓名唯一,所以是一个超键
(姓名,性别)唯一,所以是一个超键
(姓名,性别,年龄)唯一,所以是一个超键
--这里可以看出,超键的组合是唯一的,但可能不是最小唯一的
身份z唯一,而且没有多余属性,所以是一个候选键
姓名唯一,而且没有多余属性,所以是一个候选键
--这里可以看出,候选键是没有多余属性的超键
考虑输入查询方便性,可以选择 身份z 为主键
也可以 考虑习惯 选择 姓名 为主键
--主键是选中的一个候选键
事实上,关系模型不允许表格包含有重复记录。所以,一个表格里字段或者列的值必须是唯一的。唯一性可以通过检查key(关键字)来确定,关键字可以由一个单列或者列的组合构成,这样的列叫做composite key(复合关键字)。
关键字有很多不同的类型:
超关键字(Super key):唯一辨别表格里记录的一个列或者一组列。
备选关键字(Candidate key):包含有确定唯一性所需要的最少列的超关键字。
主关键字(Primary key):用来唯一辨别表格里记录的备选关键字。
备用关键字(Alternate key):没有被选为主关键字的备选键。
外来关键字(Foreign key):表格内匹配同一表格或者另一表格里备选关键字的一个列或者一组列。外来键允许你将一个表格里的记录和另一个表格里的数据相关联。
这里列出来的关键字的类型并不是相互排斥的;一个关键字可以同时被归入多个类。从定义上说,每个表格必须至少有一个主关键字。
选择B。详解:
超键(super key):在关系中能唯一标识元组的属性集称为关系模式的超键
候选键(candidate key):不含有多余属性的超键称为候选键
根据定义来说讲也就是说我们没有C列的值也可以唯一的标识一条数据实体。
具体的解说:
选择A的话(第二列数据实例A1B1与第四列数据实例相同)不符合定义所以错误
选择C的话(第一列数据实例A1C1D1与第三列数据实例相同)不符合定义所以错误
选择D的话(第二列数据实例A2B1C1与第四列数据实例相同)不符合定义所以错误
希望能帮到你!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)