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

admin2016-03-25  29

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

[问题1]
对关系“借还”,请回答以下问题:
(1)列举出所有候选键;
(2)根据需求描述,借还关系能否实现对超出借书时长的情况进行正确判定?用60字以内文字简要叙述理由。如果不能,请给出修改后的关系模式(只修改相关关系模式属性时,仍使用原关系名,如需分解关系模式,请在原关系名后加1,2,…进行区别)。

选项

答案(1)候选键:(流水号,书号) (2)不能。还书时读取书目中的借书时长,可能在借书后该时长发生变化,不满足按原借书时长计算的要求。 在借还关系中增加借书时长属性,借书时根据书目中的借书时长值写入该值。 修改后的“借还”关系: 借还(流水号,借书证号,书号,借书日期,借书时长,还书日期,罚款金额,罚款原因)。

解析 本问题考查对候选码和需求。针对借还关系,根据题干描述,“读者借书时,由系统生成本次借书的唯一流水号,并登记借书证号、书号、借书日期,其中同时借多本书使用同一流水号”,说明流水号不能唯一确定借阅记录,还需要借阅书的参与,而书号可以唯一确定一本书,故借还关系的候选码应由流水号和书号构成。
关系模式的设计应满足应用需求。通过题干中的描述,“不同书目有不同的借书时长,并且可以进行调整,但调整前所借出的书,仍按原借书时长进行处理”,借书时长应该是借书时确定的,从书目的属性中读取,作为借书关系的属性,以后借书时长在书目关系中修改,并不影响已发生的借还关系。
转载请注明原文地址:https://jikaoti.com/ti/nwN7FFFM
0

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