1、已知关系R(A,B,C,D,E)及其上的函数相关性集合,F={A→B,E→A,CE→D},该关系的候选关键字是?
涉及知识点
一、关系R:
1、在用户看来的定义
- 关系R,即关系模式,就是对关系(表)的描述。
- 关系名(属性1,属性2,属性3, …)
- 关系名:表名
- 属性: 表中的一列即为一个属性
2、形式化定义
- 关系定义2.3:
- n目关系必有n目关系
二、候选关键字
- 候选关键字:候选码,关系中的某一属性组的值能唯一地标识一个元组织。
- 元组:表中的一行即为一组,属性所对应的行值。
三、函数相关性集合F
- 函数相关性集合F,有时称为函数依赖集F
- 对于给定的R,可以将它的属性划分为4类:
- L类,仅出现在F的函数依赖左部的属性.
- R类,仅出现在F的函数依赖右部的属性.
- N类,在F的函数依赖左部和右部均未出现的属性.
- LR类,在F的函数依赖左部和右部两部均出现的属性
求解候选码.
定理1:对于给定的关系模式R,若X(X∈U)是 L类 或 N类 属性组,则X必为R的任一候选码的成员.
推论1:对于给定的关系模式R,若X(X∈U)是 L类 属性组,且X+包含了R的全部属性,则X必为R的唯一候选码.
推论2:对于给定的关系模式R,若X是R的 N类 和 L类 组成的属性组,且X+包含了R的所有属性,则X是R的唯一候选码.
分析题目:
F={A→B,E→A,CE→D}
有依赖关系可知
E-> A -> B
CE->D
所以候选码为C、E、。
举一反三:
1、(2016Tecent.4)关系R(F,G,H,I,J)极其上的函数相关性集合F = {F->G, J->F,
HJ->I},该关系的候选关键字为?
分析:J->F->G, HJ->I. 所以
答案:H,J
2、设有关系模式R(A,B,C,D,E),模式中有函数依赖集合={A-BC,CD-E,B-D,E-A},试求关系模式R的所有候选码
分析:所以
怎样:
候选码:(1)A;(2)CD;(3)E;
??????
3、设有关系模式R(A,B,C,D,E), F是R上成立的函数依赖集, F={A->BC,B->D,E->A},试写出关系模式R的候选码,并说明理由.
分析:
或者这样看:
根据上面的推论1可知E为唯一的候选码;
类似:计算范式的