在数据库逻辑设计阶段,若实体中存在多值属性,那么将E-R图转换为关系模式时,( ),得到的关系模式属于4NF。
- A.将所有多值属性组成一个关系模式
- B.使多值属性不在关系模式中出现
- C.将实体的码分别和每个多值属性独立构成一个关系模式
- D.将多值属性和其他属性一起构成该实体对应的关系模式
正确答案及解析
正确答案
C
解析
本题由于4NF的定义并不了解,所以有一定难度。
首先根据选项我们可以看到这里的描述都是与多值属性有关,多值属性指的是一个属性有多个值,比如一个学生有多名家庭成员,那么如果有(学号,家庭成员),此时家庭成员为多值属性。
对于多值属性出现在关系模式当中,不能明确对应关系,因此需要进行分解。
对于“A.将所有多值属性组成一个关系模式”,这样的分解没有保存当前主键与多值属性的关系,并不合理。
对于“B.使多值属性不在关系模式中出现”,也就是删除多值属性列,那么丢失了原有的属性,也不合理。
对于“D.将多值属性和其他属性一起构成该实体对应的关系模式”,这样的处理并没有解决当前的问题,因此不可选。
对于“C.将实体的码分别和每个多值属性独立构成一个关系模式”,是我们比较常用的一种处理方式。因此本题选择C选项。
4NF:若关系模式R
1NF,R的每个非平凡多值依赖X→Y且Y
X时,X必含有码,则关系模式R(U,F)
4NF;对于本题中存在多值属性的情况,应该将该实体的码和相关的多值属性独立构成一个关系模式。





