函数依赖

74
函函函函 函函函函

Upload: susan-waters

Post on 30-Dec-2015

48 views

Category:

Documents


5 download

DESCRIPTION

函数依赖. 如果. 如何求关系模式中的候选键. 关系模式 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 类,求出它的闭包,若包含所有属性,则说明其为候选键,且为唯一候选键。 - PowerPoint PPT Presentation

TRANSCRIPT

函数依赖函数依赖

如果如果

如何求关系模式中的候选键如何求关系模式中的候选键• 关系模式 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,求候选码

• 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,求候选码

• C 的闭包为 {A,B,C}

• E 的闭包为 {D,E}

• CE 的闭包为 {A,B,C,D,E}

• 由此可见,候选键为 {CE}

• 关系模式 R ( A , B , C , D )的函数依赖集为 F={AC→B} ,则 R 的候选键为( )。

• 关系模式 R ( A , B , C , D )的函数依赖集为 F={AC→B} ,则 R 的候选键为( )。

• ACD

• 因为 AC→B • 所以 AC→ACB • 所以 ACD→ABCD • 所以 R 的候选码是 ACD

• 设有关系模式 R ( U,F ),其中 U={A,B,C,D,E,I} F={A->D,AB->E,BI->E,CD->I,E->C}

• 计算 (AE) 的闭包

• 设有关系模式 R ( U,F ),其中 U={A,B,C,D,E,I} F={A->D,AB->E,BI->E,CD->I,E->C}

• 计算 (AE) 的闭包• 令 X={AE}, X(0)= AE• 在 F 中找出左边是 AE 子集的函数依赖,其

结果是: A->D,E->C ,所以 X(1)=X(0)UDC=ACDE ,显然 X(1) 不等于 X(0)

• 设有关系模式 R ( U,F ),其中 U={A,B,C,D,E,I} F={A->D,AB->E,BI->E,CD->I,E->C}

• 计算 (AE) 的闭包• 在 F 中找出左边是 AEDC 子集的函数依赖,

其结果是 CD->I ,所以 X(2)=ACDEI ,但F 中未用过的函数依赖的左边属性已没有 X(2) 的子集,即 (AE) 的闭包 =ACDEI