阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 [说明] 某图书馆的管理系统部分需求和设计结果描述如下: 图书馆的主要业务包括以下几项: (1)对所有图书进行编目,每一书目包括ISBN号、书名、出版社、作者、排名,其中一部书可以有多名作者,

admin2016-03-25  45

问题 阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
[说明]
某图书馆的管理系统部分需求和设计结果描述如下:
图书馆的主要业务包括以下几项:
(1)对所有图书进行编目,每一书目包括ISBN号、书名、出版社、作者、排名,其中一部书可以有多名作者,每名作者有唯一的一个排名;
(2)对每本图书进行编号,包括书号、ISBN号、书名、出版社、破损情况、存放位置和定价,其中每一本书有唯一的编号,相同ISBN号的书集中存放,有相同的存储位置,相同ISBN号的书或因不同印刷批次而定价不同;
(3)读者向图书馆申请借阅资格,办理借书证,以后凭借书证从图书馆借阅图书。办理借书证时需登记身份证号、姓名、性别、出生年月日,并交纳指定金额的押金。如果所借图书定价较高时,读者还须补交押金,还书后可退还所补交的押金;
(4)读者借阅图书前,可以通过ISBN号、书名或作者等单一条件或多条件组合进行查询。根据查询结果,当有图书在库时,读者可直接借阅;当所查书目的所有图书已被他人借走时,读者可进行预约,待他人还书后,由馆员进行电话通知;
(5)读者借书时,由系统生成本次借书的唯一流水号,并登记借书证号、书号、借书日期,其中同时借多本书使用同一流水号,每种书目都有一个允许一次借阅的借书时长,一般为90天,不同书目有不同的借书时长,并且可以进行调整,但调整前所借出的书,仍按原借书时长进行处理;
(6)读者还书时,要登记还书日期,如果超出借书时长,要缴纳相应的罚款;如果所还图书由借书者在持有期间造成破损,也要进行登记并进行相应的罚款处罚。
初步设计的该图书馆管理系统,其关系模式如图4—1所示。

[问题2]
对关系“图书”,请回答以下问题:
(1)写出该关系的函数依赖集;
(2)判定该关系是否属于BCNF,用60字以内文字简要叙述理由。如果不是,请进行修改,使其满足BCNF,如果需要修改其他关系模式,请一并修改,给出修改后的关系模式(只修改相关关系模式属性时,仍使用原关系名,如需分解关系模式,请在原关系名后加1,2,…进行区别)。

选项

答案(1)FD={书号→(ISBN号,破损情况,定价),ISBN号→(书名,出版社,存放位置)} (2)该关系不属于BCNF,存在非主属性对码的传递依赖。 修改内容:去掉书名和出版社属性,将存放位置属性移至书目关系。修改后的关系模式:图书(书号,[*],破损情况,定价) 书目(ISBN号,书名,出版社,作者,排名,存放位置,借书时长)。

解析 本问题考查函数依赖和:BCNF。根据描述“每一本书有唯一的编号,相同ISBN号的书集中存放,有相同的存储位置,相同ISBN号的书或因不同印刷批次而定价不同”,得出书号决定定价,破损情况是每本书的具体情况,也决定于书号,而书名、出版社和存放位置应由ISBN号决定,故函数据依赖集为{书号→(ISBN号,破损情况,定价), ISBN号→(书名,出版社,存放位置)}。
根据函数依赖集,图书关系的候选码为书号,存在非主属性书名、出版社和存放位置等对候选码书号的传递依赖,不属于BCNF。书名和出版社属性在书目关系中已有,无需在图书关系中重复出现,同时存放位置由ISBN号所决定,应移至书目关系中,则剩余属性书号、ISBN号、破损情况和定价构成新的关系模式,属于BCNF。
转载请注明原文地址:https://kaotiyun.com/show/PuUZ777K
0

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