单选题 假设员工关系EMP(员工号,姓名,部门,部门电话,部门负责人,家庭住址,家庭成员,成员关系)如下表所示。如果一个部门可以有多名员工,一个员工可以有多个家庭成员,那么关系EMP属于 (34) ,且 (35) 问题;为了解决这一问题,应该将员工关系EMP分解为 (36)
员工号 姓名 部门 部门电话 部门负责人 家庭住址 家庭成员 成员关系
0011 张晓明 开发部 808356 0012 北京海淀区l号 张大军 父亲
0011 张晓明 开发部 808356 0012 北京海淀区1号 胡敏铮 母亲
0011 张晓明 开发部 808356 0012 北京海淀区1号 张晓丽 妹妹
0012 吴俊 开发部 808356 0012 上海昆明路15号 吴胜利 父亲
0012 吴俊 开发部 808356 0012 上海昆明路15 王若圭 母亲
0021 李立丽 市场部 808358 0021 西安雁塔路8号 李国庆 父亲
0021 李立丽 市场部 808358 0021 西安雁塔路8号 罗明 母亲
0022 王学强 市场部 808356 0021 西安太白路2号 王强 父亲
0031 吴俊 财务部 808356 西安科已路18号 吴建 父亲


【正确答案】 A
【答案解析】
【正确答案】 D
【答案解析】
【正确答案】 B
【答案解析】[要点解析]
对于员工关系EMP(员工号,姓名,部门,部门电话,部门负责人,家庭住址,家庭成员,成员关系)有下列函数依赖:员工号→姓名,部门,部门电话,部门负责人,家庭住址。员工号、成员关系→家庭成员。部门→部门电话,部门负责人。由此可见主键为{员工号,成员关系}。
第一个函数依赖:员工号→姓名,部门,部门电话,部门负责人,家庭住址。右边为非键属性,而员工号为键的组成部分。不符合2NF,故是1NF。
关系模式设计中可能出现各种冗余,即同一事实在多个元组中重复。造成冗余的原因通常是将同一个对象的单值和多值特征混合在同一个关系中。例如,表中的员工号为0011的三个元组存在冗余信息。
修改异常:修改某个元组的信息,而重复的信息可能未修改而破坏一致性。或插入数据时,某些有用信息暂时无法插入。
删除异常:删除某个对象时,必须删除多个元组而不是一个元组,操作不当有可能破坏数据一致性。或删除元组时,同时删除了其他有用信息。例如删除员工号为0011的对象时,必须删除三个元组。
为了避免异常,用几个关系代替原有的关系,且保持数据一致性,从而进行关系的分解,可将函数依赖{员工号→姓名,部门,部门电话,部门负责人,家庭住址}分解为EMP1(员工号,姓名,部门,家庭住址)和EMP2(部门,部门电话,部门负责人);函数依赖{员工号,成员关系→家庭成员}形成EMP3(员工号,家庭成员,成员关系)。三个关系的主键依次为员工号,部门,员工号和成员关系。