现有某个应用,涉及到两个实体集R1和R2; 实体集R1拥有属性C#,C1,C2,C3,其中C#为码; 实体集R2拥有属性D#,D1,D2,D3,其中D#为码; 从实体集R1到R2存在多对一的联系,联系属性为E1。 1、设计相应的关系数据模型。 2、如果将上述应用的数据库设计为一个关系模式,如下: R(C#,C1,C2,C3,D#,D1,D2,D3,E1),指出该关系模式的码。 3、上述关系模式R最高满足第几范式?(在1NF~BCNF之内)为什么? 4、如果将上述应用的数据库设计为三个关系模式,如下: R3 (C#,C1,C2,C3) R4 (D#,D1,D2,D3) R5 (C#,D#,E1) 关系模式R4是否一定满足第3范式?为什么?
时间: 2024-03-19 22:40:22 浏览: 67
数据库设计--实体联系模型(E-R图)
1. 设计的关系数据模型如下:
R1(C#, C1, C2, C3)
R2(D#, D1, D2, D3)
R3(C#, D#, E1)
其中,R3中的属性E1为联系属性,与R1中的C#和R2中的D#分别建立多对一的联系。
2. 关系模式R的码为{C#, D#, E1},因为这三个属性组合起来唯一确定了关系模式R中的每一个实体。
3. 关系模式R满足BCNF。因为R中没有任何冗余数据,每个属性都完全依赖于主码{C#, D#, E1},不存在任何函数依赖或者多值依赖。
4. 关系模式R4不一定满足第3范式。因为R5中的联系属性E1可能存在多重性,即可能存在多个R4实体与同一个R3实体相对应,这就会导致R4中的某些属性出现重复数据,从而出现数据冗余。因此,需要根据具体情况进行分析,考虑是否需要对R5进行分解,以消除数据冗余。
阅读全文