问答题 【说明】 某科研项目管理机构拟开发科研管理系统,以便管理科研项目信息。设计了科研信息数据库,其关系模式如图22-28所示。关系模式的主要属性、含义及约束如表22-26所示。
问答题 对关系“科研专家”,请回答以下问题: (1)列举出所有不属于任何候选键的属性(非键属性)。 (2)关系“科研专家”可达到第几范式,用60字以内文字简要叙述理由。
【正确答案】正确答案:(1)姓名,性别,出生年月,最高学位,职称,研究方向,所在单位,单位地址。 (2)“科研专家”关系模式可以达到第二范式,不满足第三范式。 由于“科研专家”关系模式的主键是“人员编号”,但又包含函数依赖:所在单位→单位地址不满足第三范式的要求,即:存在非主属性对码的传递依赖。
【答案解析】解析:(1)科研专家关系共包括人员编号,姓名,性别,出生年月,身份证号,学位,职称,研究方向,所在单位,单位地址等属性,根据主要属性、含义及约束表:人员编号是唯一标识具有科研项目申请资格的某个科研专家的编号,同时根据“人员编号→姓名,性别,出生年月,身份证号,最高学位,职称,研究方向,所在单位,单位地址”,得知人员编号应为候选码,同时根据“身份证号→人员编号”,所以身份证号也可以作为候选码。其余的属性为非键属性。 (2)由于“科研专家”关系模式的主键是“人员编号”,但又包含函数依赖:所在单位→单位地址不满足第三范式的要求,即:存在非主属性对码的传递依赖。“科研专家”关系模式可以达到第二范式,不满足第三范式。
问答题 对关系“项目研发人员”,请回答以下问题: (1)针对“项目研发人员”关系,用100字以内文字简要说明会产生什么问题。 (2)把“项目研发人员”分解为第三范式,分解后的关系名依次为:项目研发人员 1,项目研发人员2,…… (3)列出修正后的各关系模式的主键。
【正确答案】正确答案:(1)“项目研发人员”关系不满足第二范式,即:非主属性不完全依赖于码,分解后会造成:插入异常、删除异常和修改复杂(或修改异常)。 (2)分解后的关系模式如下: 项目研发人员1(所在单位,职工号,姓名,年龄,学历,职称) 项目研发人员2(课题编号,所在单位,职工号,分工,排名,参加月数) (3)修正后的主键如下: 项目研发人员1(所在单位,职工号,姓名,年龄,学历,职称) 项目研发人员2(课题编号,所在单位,职工号,分工,排名,参加月数)
【答案解析】解析:(1)根据项目研发的关系模式和主要属性、含义及约束表中的职工号是在某个单位中唯一表示该单位参与项目开发的员工编号,得知职工号为该关系的候选码,但根据“课题编号,所在单位,职工号→姓名,年龄,学历,职称,分工,排名,参加月数;所在单位,职工号→姓名,年龄,学历,职称”,非主属性不完全依赖于码,所以“项目研发人员”关系不满足第二范式。分解后会造成:插入异常、删除异常和修改复杂(或修改异常)。 (2)根据“所在单位,职工号→姓名,年龄,学历,职称”可得项目研发人员1为“所在单位,职工号,姓名,年龄,学历,职称”,根据“课题编号,所在单位,职工号→姓名,年龄,学历,职称,分工,排名,参加月数”而“→”右边的姓名,年龄,学历,职称已在项目研发人员1的属性中了,所以项目研发人员2为“课题编号,所在单位,职工号,分工,排名,参加月数”。 (3)根据(2)的分析可知项目研发人员1的主键为所在单位和职工号,项目研发人员2的主键为课题编号,所在单位和职工号。
问答题 对关系“项目信息”,请回答以下问题: (1)关系“项目信息”是不是第四范式,用100字以内文字叙述理由。 (2)把“项目信息”分解为第四范式,分解后的关系名依次为:项目信息1,项目信息2,……
【正确答案】正确答案:(1)“项目信息”关系模式,不满足第四范式。 根据“项目信息”关系模式: 课题编号→课题名称,负责人,合同经费 课题编号→→拨款单位,拨款百分比 课题编号→→单位名称,单位类别,单位排名 在该关系中存在对候选码“课题属性”的多值依赖,因此该关系模式不满足第二范式,也就不可能是第四范式了。 (2)分解后的关系模式如下: 项目信息1(课题编号,课题名称,负责人,合同经费) 项目信息2(课题编号,单位名称,单位类别,单位排名) 项目信息3(课题编号,拨款单位,拨款
【答案解析】解析:(1)根据“项目信息(课题编号,课题名称,负责人,单位名称,单位类别,单位排名,合同经费,拨款单位,拨款百分比)”和主要属性、含义及约束表中“课题编号是唯一标识某个科研项目的编号”可知“课题编号”为该关系的候选码,再根据“项目信息”关系模式: 课题编号→课题名称,负责人,合同经费 课题编号→→拨款单位,拨款百分比 课题编号→→单位名称,单位类别,单位排名 在该关系中存在对候选码“课题属性”的多值依赖,因此该关系模式不满足第二范式,也就不可能是第四范式了。 (2)根据“项目信息”关系模式: 课题编号→课题名称,负责人,合同经费 课题编号→→拨款单位,拨款百分比 课题编号→→单位名称,单位类别,单位排名 可将“项目信息”关系模式分解为: 项目信息1(课题编号,课题名称,负责人,合同经费) 项目信息2(课题编号,单位名称,单位类别,单位排名) 项目信息3(课题编号,拨款单位,拨款百分比)