740 likes | 890 Views
函数依赖. 如果. 如何求关系模式中的候选键. 关系模式 R ( U , F ),其中 U = {W,X,Y,Z},F={WX→Y,W→X, X→Z,Y→W} 。关系模式 R 的候选建是 ?. 如何求关系模式中的候选键. 解法:从函数依赖集出发,把所有属性分为 4 类 1 、 L 类:全部出现在函数依赖的左半部 2 、 R :全部出现在函数依赖的右半部 3 、 LR :出现在函数依赖的左右两边 4 、 N :不出现在函数依赖中 可能成为候选键的有 L 类, LR 类和 N 类 对于 L 类,求出它的闭包,若包含所有属性,则说明其为候选键,且为唯一候选键。
E N D
如何求关系模式中的候选键 • 关系模式R(U,F),其中U={W,X,Y,Z},F={WX→Y,W→X, X→Z,Y→W}。关系模式R的候选建是?
如何求关系模式中的候选键 • 解法:从函数依赖集出发,把所有属性分为4类 • 1、L类:全部出现在函数依赖的左半部 • 2、R:全部出现在函数依赖的右半部 • 3、LR:出现在函数依赖的左右两边 • 4、N:不出现在函数依赖中 • 可能成为候选键的有L类,LR类和N类 • 对于L类,求出它的闭包,若包含所有属性,则说明其为候选键,且为唯一候选键。 • 对于LR类,求出其闭包,若包含所有属性,则为候选键,若不包含,在找出其中一个属性结合。 • 对于N类,直接加至候选键即可。
其中U={W,X,Y,Z},F={WX→Y,W→X, X→Z,Y→W} • L:无 • R:Z • LR:w,x,y • N:无 • 先排除z • 在LR中,w的闭包为{w,y,z,x} • x的闭包为{x,z} • y的闭包为{y,w} • wx的闭包为{w,x,y,z} • wy的闭包为{w,y} • xy的闭包为{x,y,z,w} • wxy的闭包为{x,z,y,w} • 由此可见,候选键为{w,wx,xy,xyw} • 可从候选键中选取一个作为主键。
设有关系模式R(A,B,C,D,E,F)其函数依赖集为F={E→D,C→B,CE→F,B→A,求候选码设有关系模式R(A,B,C,D,E,F)其函数依赖集为F={E→D,C→B,CE→F,B→A,求候选码
设有关系模式R(A,B,C,D,E,F)其函数依赖集为F={E→D,C→B,CE→F,B→A,求候选码设有关系模式R(A,B,C,D,E,F)其函数依赖集为F={E→D,C→B,CE→F,B→A,求候选码 • L: C,E • R:A,D,F • LR:B • N:无
设有关系模式R(A,B,C,D,E,F)其函数依赖集为F={E→D,C→B,CE→F,B→A,求候选码设有关系模式R(A,B,C,D,E,F)其函数依赖集为F={E→D,C→B,CE→F,B→A,求候选码 • C的闭包为{A,B,C} • E的闭包为{D,E} • CE的闭包为{A,B,C,D,E} • 由此可见,候选键为{CE}
关系模式R(A,B,C,D)的函数依赖集为F={AC→B},则R的候选键为( )。 • ACD • 因为 AC→B • 所以 AC→ACB • 所以 ACD→ABCD • 所以R的候选码是ACD