某社会救助基金会每年都会举办多项社会公益救助活动,需要建立一个信息系统,对之进行有效管理。 【需求描述】 1.任何一个实名认证的个人或者公益机构都可以发起~项公益救助活动,基金会需要记录发起者的信息。如果发起者是个人,需要记录姓名、身份证号和一部电

admin2018-04-19  35

问题  某社会救助基金会每年都会举办多项社会公益救助活动,需要建立一个信息系统,对之进行有效管理。
【需求描述】
    1.任何一个实名认证的个人或者公益机构都可以发起~项公益救助活动,基金会需要记录发起者的信息。如果发起者是个人,需要记录姓名、身份证号和一部电话号码;如果发起者是公益机构,需要记录机构名称、统一社会信用代码、一部电话号码、唯一的法人代表身份证号和法人代表姓名。一个自然人可以是多个机构的法人代表。
    2.公益救助活动需要提供翔实的资料供基金会审核,包括被捐助人姓名、身份证号、一部电话号码、家庭住址。
    3.基金会审核并确认项目后,发起公益救助的个人或机构可以公开宣传并募捐,募捐得到的款项进入基金会账户。
    4.发起公益救助的个人或机构开展救助行动,基金会根据被捐助人所提供的医疗发票或其他信息,直接将所筹款项支付给被捐助者。
    5.救助发起者针对任一被捐助者的公益活动只能开展一次。
【逻辑结构设计】
    根据上述需求,设计出如下关系模式:
    公益活动(发起者编号,被捐助者身份证号,发起者电话号码,发起时间,结束时间,募捐金额),其中对于个人发起者,发起者编号为身份证号;对于机构发起者,发起者编号为统一社会信用代码个人发起者(姓名,身份证号,电话号码)机构发起者(机构名称,统一社会信用代码,电话号码,法人代表身份证号,法人代表姓名)被捐助者(姓名,身份证号,电话号码,家庭住址)
对关系“公益活动”,请回答以下问题:
(1)列举出所有候选键。
(2)它是否为2NF,用100字以内文字简要叙述理由。
(3)将其分解为BC范式,分解后的关系名依次为:公益活动1,公益活动2,……并用下画线标示分解后的各关系模式的主键。

选项

答案对关系“公益活动”: (1)候选键:(发起者编号,被捐助者身份证号) (2)不是2NF。候选键(发起者编号,被捐助者身份证号)部分决定非主属性“发起者电话号码”。 (3)分解后的关系模式: 公益活动1(发起者编号,被捐助者身份证号,发起时间,结束时间,募捐金额) “发起者电话号码”已在个人发起者和机构发起者中出现,无需再用关系模式处理。

解析  本问题考查候选键和第二范式。
    “公益活动”关系的候选键为:(发起者编号,被捐助者身份证号)。
    候选键(发起者编号,被捐助者身份证号)部分决定非主属性“发起者电话号码”。所以,“公益活动”关系模式不满足第二范式。
    分解后的关系模式为:
    公益活动1(发起者编号,被捐助者身份证编号,发起时间,结束时间,募捐金额)    因为“发起者电话号码”己在个人发起者和机构发起者中出现,所以无需再用关系模式处理。
转载请注明原文地址:https://jikaoti.com/ti/6VN7FFFM
0

相关试题推荐
最新回复(0)