问答题 【说明】
某科研项目管理机构拟开发科研管理系统,以便管理科研项目信息。设计了科研信息数据库,其关系模式如图所示。
问答题 【问题1】
对关系“科研专家”,请回答以下问题:
(1)列举出所有不屈于任何候选键的属性(非键属性)。
(2)关系“科研专家”可达到第几范式,用60字以内文字简要叙述理由。
【正确答案】(1)姓名,性别,出生年月,最高学位,职称,研究方向,所在单位,单位地址。
(2) “科研专家”关系模式可以达到第二范式,不满足第三范式。
由于“科研专家”关系模式的主键是“人员编号”,但又包含函数依赖:“所在单位→单位地址”,不满足第三范式的要求,即:存在非主属性对码的传递依赖。
【答案解析】
问答题 【问题2】
对关系“项目研发人员”,请回答以下问题:
(1)针对“项目研发人员”关系,用100字以内文字简要说明会产生什么问题。
(2)把“项目研发人员”分解为第三范式,分解后的关系名依次为:项目研发人员1,项目研发人员2,…
(3)列出修正后的各关系模式的主键。
【正确答案】(1)“项目研发人员”关系不满足第二范式,即:非主属性不完全依赖于码。
(2)会造成:插入异常、删除异常和修改复杂(或修改异常)。
(3)分解后的关系模式如下:
项目研发人员1 (所在单位,职工号,姓名,年龄,学历,职称)
项目研发人员2 (课题编号,所在单位,职工号,分工,排名,参加月数)
修正后的主键如下:
项目研发人员1 (所在单位,职工号,姓名,年龄,学历,职称)
项目研发人员2 (课题编号,所在单位,职工号,分工,排名,参加月数)
【答案解析】
问答题 【问题3】
对关系“项目信息”,请回答以下问题:
(1)关系“项目信息”是不是第四范式,用100字以内文字叙述理由。
(2)把“项目信息”分解为第四范式,分解后的关系名依次为:项目信息1,项目信息2,…
【正确答案】(1) “项目信息”关系模式,不满足第四范式。
因为,课题编号→课题名称,负责人,合同经费
或答:课题编号→拨款单位,拨款百分比
课题编号→单位名称,单位类别,单位排名
(2)分解后的关系模式如下:
项目信息1 (课题编号,课题名称,负责人,合同经费)
项目信息2 (课题编号,单位名称,单位类别,单位排名)
项目信息3 (课题编号,拨款单位,拨款百分比)
【答案解析】[解析] 本题考查的是数据库理论的规范化,属于比较传统的题目,考查点也与往年类似。
问题1考查非主属性和第三范式。
根据 “科研专家”关系的函数依赖可知,不属于任何候选键的属性(非键属性)为:姓名,性别,出生年月,最高学位,职称,研究方向,所在单位,单位地址。
根据第三范式的要求:每一个非主属性既不部分依赖于码也不传递依赖于码。
而根据 “科研专家”关系的函数依赖:
人员编号→所在单位
所在单位→单位地址
所以,“科研专家”关系模式可以达到第二范式,但不满足第三范式。
问题2考查第二范式和第三范式。
根据第三范式的要求:非主属性不完全依赖于码。
而根据 “项目研发人员”关系的函数依赖可知,“项目研发人员”的码为(课题编号,所在单位,职工号),而又存在部分函数依赖:
所在单位,职工号→姓名,年龄,学历,职称。
所以,项目研发人员” 关系不满足第二范式,会造成:插入异常、删除异常和修改复杂(或修改异常)。
因为存在部分函数依赖,因此对“项目研发人员”进行分解,分解后的关系模式如下:
项目研发人员1 (所在单位,职工号,姓名,年龄,学历,职称)
项目研发人员2 (课题编号,所在单位,职工号,分工,排名,参加月数)
其中,
“项目研发人员1”关系的函数依赖为:
所在单位,职工号→姓名,年龄,学历,职称
“项目研发人员2”关系的函数依赖为:
所在单位,职工号→姓名,年龄,学历,职称
课题编号,所在单位,职工号→分工,排名,参加月数
这两个关系中的每一个非主属性既不部分依赖于码也不传递依赖于码,因此满足第三范式的要求。
问题3考查第四范式。
根据“项目信息”关系模式的函数依赖,其码为:课题编号,单位名称,拨款单位。而又存在部分函数依赖:
课题编号,单位名称→课题名称,负责人,课题类别,单位排名,合同经费
课题编号,拨款单位→课题名称,负责人,合同经费,拨款百分比
课题编号→课题名称,负责人,合同经费
所以,“项目信息”关系模式不满足第二范式。
同时,可以根据第四范式的要求:不允许有非平凡且非函数依赖的多值依赖。
而在“项目信息”关系模式存在多值依赖:
课题编号→拨款单位,拨款百分比
课题编号→举位名称,单位类别,单位排名
因此,“项目信息”关系模式不满足第二范式。
因为存在部分函数依赖和多值依赖,因此对“项目信息”进行分解,分解后的关系模式如下:
项目信息1 (课题编号,课题名称,负责人,合同经费)
项目信息2 (课题编号,单位名称,单位类别,单位排名)
项目信息3 (课题编号,拨款单位,拨款百分比)
其中,
“项目信息1”关系的函数依赖为:
课题编号→课题名称,负责人,合同经费
“项目信息2”关系的函数依赖为:
课题编号,单位名称→单位类别,单位排名
“项目信息3”关系的函数依赖为:
课题编号,拨款单位→拨款百分比
这三个关系既不存在部分函数依赖和传递依赖,也不存在多值依赖,因此满足第四范式的要求。