将E-R模型转换为关系模型时,一个1:n联系如果转换为一个关系模式,将 (72) 及联系的属性均作为该关系的属性,关系的键为 (73) ;也可将一端的码及联系的属性合并n端实体集所转换的关系模式中,n端实体集所转换的关系的键为 (74) 。
某关系R(A,B,C,D)有函数依赖A→B,BC→D,D→A,下面函数依赖中 (75) 不蕴含于已知依赖集。
72()
A.一端实体的主键
B.各实体主键的组合
C.n端实体的主键
D.任意一个实体的主键
参考答案:B
解析:
将E-R模型转换为关系模型时,所需要遵循的转换规则如下:
1.每个实体集转换为一个关系。
2.一个一对一的联系可转换为一个关系模式,将两端关系的码及联系的属性均作为该关系的属性,任意一端的码作为该关系的码:也可将任意一端的码及联系的属性合并另一端实体集所转换的关系模式中。
3.一个一对多联系可转换为一个关系模式,将两端关系的码及联系的属性均作为该关系的属性,“多”端的码作为该关系的码;也可将“一”端的码及联系的属性合并“多”端实体集所转换的关系模式中。
4.一个多对多联系应转换为一个关系模式,两端的码及联系的属性为关系的属性,两端的码共同组合为该关系的码。
5.三个或三个以上多对多的联系应转换为一个关系,各关系的码及联系的属性为关系的属性,各端的码共同组合为该关系的码。
根据已有函数依赖集和Armstrong公理:
D→A,A→B根据传递性可得出:D→B。
A→B根据增广性可得出:AC→BC。再根据BC→D和传递律可得出:AC→BD。
根据BC→D,D→A和传递律可得出:BC→AD。
而根据已有函数依赖集和Armstrong公理,可推导出:BD→A,而BD→AC是不能推导出的。