模 属 性 式 A b11 b21 b31 a1 B b12 a2 b32 a2 C a3 b23 a3 b43 D b14 b24 a4 b44 E b15 a5 a5 b45 P a6 b26 a6 b46 R1(CP) R2(BE) R3(ECD) R4(AB)
(3)根据E→A,对上表进行处理,由于属性列E上的第二行、第三行相同,所以将属性列A上的b31改写成b21,修改后的表如下图所示。 模 式 R1(CP) R2(BE) R3(ECD) R4(AB) b11 b21 b21 a1 b12 a2 b32 a2 a3 b23 a3 b43 b14 b24 a4 b44 b15 a5 a5 b45 a6 b26 a6 b46 属 性 A B C D E P (4)根据CE→D,对上表进行处理,无法修改上表。因此,在最后的表格中,找不到一 行为全a1,a2,?,an,所以分解是有损的。 五、解
1.证明:A4:若X→→Y,V?W?U,则XW→→YV
设 t[XW]=s[XW] 则存在w,v使得w[XW]=v[XW]=t[XW](w,v可与t,s相同) 因 V?W?U,故w[V]=v[V]=t[V]=s[V] (a)
又因 X→→Y,不妨设 w[Y]=t[Y] w[Z]=s[Z] v[Y]=s[Y] v[Z]=t[Z]
由(a)得: w[YV]=t[YV] w[Z-W]=s[Z-W] v[YV]=s[YV] v[Z-W]=t[Z-W] 即 XW→→YV。
2.A6:若X→→Y,Y→→Z,则X→→Y-Z 证明:令M=X-Y,N=U-Y-Z
因存在t,s,w,v,t’,s’,w’,v’,
由X→→Y,则t[X]=s[X]=w[X]=v[X],w[Y]=t[Y],w[M]=s[M],v[Y]=s[Y],v[M]=t[M] 由Y→→Z,则t’[Y]=s’[Y]=w’[Y]=v’[Y], (a) w’[Z]=t’[Z],w’[N]=s’[N],v’[Z]=s’[Z],v’[N]=t’[N]
由(a)得 w’[Z-Y]=t’[Z-Y],w’[N+Y]=s’[N+Y],v’[Z-Y]=s’[Z-Y],v’[N+Y]=t’[N+Y] 又因 w[Y]=t[Y],v[Y]=s[Y],t[X]=s[X]=w[X]=v[X],
故 w[Z-Y]=t[Z-Y],w[V-Z+Y]=s[V-Z+Y],v[Z-Y]=s[Z-Y],v[V-Z+Y]=t[V-Z+Y] 所以X→→Y-Z
3.A8:若X→→Y,W→Z,W∩Y=φ,则X→Z
证明:若W?X,则X→Z
若W?X,则X→Z,即X能否确定Z是不确定的 因W∩(U-X-Y)=φ,又因X→→Y,Z确定
故此时W不定,即多个W对应同一个Z,与原题义矛盾 故X→Z 六、
1. πSno,Sname,Grade(σCname=”数据库”(S∞SC∞C))
2. πSno,Sname,SD(S)-πSno,Sname,SD (σCno=”1”(S∞SC)) 3.πSno,Sname(S∞πSno,Cno(SC)÷πCno(σSno=”1042”(SC))) 七、解:
1.该函数依赖集不是最小函数依赖集。将其化为最小函数依赖集的过程如下:
(1)利用分解规则,将所有的函数依赖变成右边都是单个属性的函数依赖,得F为: F={AB→E,ABE→G,ABE→P,B→P,B→I,C→J,CJ→I,G→H}
(2)去掉F中多余的函数依赖,具体做法如下:从第一个函数依赖开始从F中去掉它,能根据Armstrong公理系统的推理规则导出,若能导出则为冗余。通过分析,可以看出无冗余的函数依赖,
(3)去掉各函数依赖左边多余的属性:
因AB→E,AB→G,可得ABE→G,故去掉ABE→G 左边的属性E得AB→G 又因 C→J,C→I,可得CJ→I,故去掉CJ→I左边多余的属性J得C→I。
化简后的最小函数依赖为F={AB→E,AB→G,B→P,B→I,C→J,C→I,G→H} 2.显然,ABCG是模式R的超码,因为所有出现在函数依赖集左边的属性组的集合构成超码。
因 AB→G,故可将G从超码中去掉。 故得ABC为R的候选码。
R∈1NF,因为R中的非主属性不完全函数依赖于码。