问题 问答题

阅读下列说明,回答问题1至问题3,将解答填入对应栏内。
[说明]
某学校拟开发一套校友捐赠管理系统,以便对校友的捐赠资金进行管理。
[需求分析]
校友可以向学校提出捐赠申请,说明捐赠的金额、捐赠类型和使用方式。捐赠类型包括一次性捐赠和周期性捐赠。捐赠的使用方式分为两种:一种用于资助个人,即受益人为多名学生或老师,主要用于奖学金、奖教金和助学金等;另一种用于资助捐赠项目,即资助已有的捐赠项目和设立新的捐赠项目,主要用于改善教学设施、实验室建设和设备购买等。捐赠项目由捐赠理事建立,一个捐赠项目可以涉及多个受益单位,每个单位在该项目中有确定的受益比例。由捐赠理事为项目中的每个单位指定一个项目负责人,并指定每个单位受益比例。每个单位的受益比例是指在一个捐赠项目中的每个单位所应得的金额占该捐赠项目总受益金额的比例。一个捐赠项目可以由多个捐赠来资助,一个捐赠也可以资助多个捐赠项目。由捐赠理事将一个捐赠的捐赠金额分配给所资助的多个捐赠项目,并指定给每个捐赠项目的具体的捐赠金额。
初步设计了校友捐赠信息数据库,其关系模式如图4-1所示。


关系模式的主要属性、含义及约束如表4-1所示。

表4-1 主要属性、含义及约束
属 性 含义和约束条件
项目编号 唯一标识某个捐赠项目信息
受益人 捐赠的受益人名称
受益人类型 分为:学生、教师
受益金额 每个受益人具体得到的捐赠金额
受益比例 捐赠项目中每个捐赠单位应得到的项目捐赠总金额的比例
项目受益金额 从一个捐赠中分配给一个捐赠项目的具体金额

1.对关系“校友信息”,请回答以下问题:
(1)列举出所有候选键的属性。
(2)关系“校友信息”可达到第几范式,用60字以内文字简要叙述理由。

答案

参考答案:(1)“项目受益情况”关系模式,不满足第四范式。
(2)分解后的关系模式如下:
项目受益情况1(项目编号,受益单位,受益比例)
项目受益情况2(项目编号,捐赠编号,项目受益金额)

解析:本问题考查的是第四范式。
根据“项目受益情况”关系模式可知,其码为:项目编号,受益单位,捐赠编号。
而又存在部分函数依赖:
项目编号,受益单位→受益比例
项目编号,捐赠编号→项目受益金额
项目编号→→受益单位,受益比例
项目编号→→捐赠编号,项目受益金额
同时,可以根据第四范式的要求:不允许有非平凡且非函数依赖的多值依赖。
而在“项目受益情况”关系模式中存在如下的多值依赖:
项目编号→→受益单位,受益比例
项目编号→→捐赠编号,项目受益金额
因此,“项目受益情况”关系模式不满足第四范式。
因为存在多值依赖,因此对“项目受益情况”进行分解,分解后的关系模式如下:
项目受益情况1(项目编号,受益单位,受益比例)
项目受益情况2(项目编号,捐赠编号,项目受益金额)
其中:
“项目受益情况1”关系的函数依赖为:项目编号,受益单位→受益比例。
“项目受益情况2”关系的函数依赖为:项目编号,捐赠编号→项目受益金额。
这两个关系不存在多值依赖,因此满足第四范式的要求。

单项选择题
单项选择题