某图书馆的管理系统部分需求和设计结果描述如下: 图书馆的主要业务包括以下几项:

最全题库2022-08-02  37

问题 某图书馆的管理系统部分需求和设计结果描述如下:图书馆的主要业务包括以下几项:(1)对所有图书进行编目,每一书目包括ISBN号、书名、出版社、作者、排名, 其中一部书可以有多名作者,每名作者有唯一的一个排名;(2)对每本图书进行编号,包括书号、ISBN号、书名、出版社、破损情况、存放位置和定价,其中每一本书有唯一的编号,相同ISBN号的书集中存放,有相同的存储位置,相同ISBN号的书或因不同印刷批次而定价不同;(3)读者向图书馆申请借阅资格,办理借书证,以后凭借书证从图书馆借阅图书。 办理借书证时需登记身份证号、姓名、性别、出生年月日,并缴纳指定金额的押金。 如果所借图书定价较高时,读者还须补交押金,还书后可退还所补交的押金;(4)读者借阅图书前,可以通过ISBN号、书名或作者等单一条件或多条件组合进行查询。根据查询结果,当有图书在库时,读者可直接借阅;当所查书目的所有图书已被他人借走时,读者可进行预约,待他人还书后,由馆员进行电话通知;(5)读者借书时,由系统生成本次借书的唯一流水号,并登记借书证号、书号、 借书日期,其中同时借多本书使用同一流水号,每种书目都有一个允许一次借阅的借书时长,一般为90天,不同书目有不同的借书时长,并且可以进行调整,但调整前所借出的书,仍按原借书时长进行处理;(6)读者还书时,要登记还书日期,如果超出借书时长,要缴纳相应的罚款;如果所还图书由借书者在持有期间造成破损,也要进行登记并进行相应的罚款处罚。初步设计的该图书馆管理系统,其关系模式如图1-1所示。【问题1】(5分)对关系“借还”,请回答以下问题:(1)列举出所有候选键;(2)根据需求描述,借还关系能否实现对超出借书时长的情况进行正确判定?用 60字以内文字简要叙述理由。如果不能,请给出修改后的关系模式(只修改相关关系模式属性时,仍使用原关系名,如需分解关系模式,请在原关系名后加1,2,……等进行区别)。【问题2】(5分)对关系“图书”,请回答以下问题:(1)写出该关系的函数依赖集;(2)判定该关系是否属于BCNF,用60字以内文字简要叙述理由。如果不是,请进行修改,使其满足BCNF,如果需要修改其他关系模式,请一并修改,给出修改后的关系模式(只修改相关关系模式属性时,仍使用原关系名,如需分解关系模式,请在原关系名后加1,2,……等进行区别)。【问题3】(5分)对关系“书目”,请回答以下问题:(1)它是否属于第四范式,用60字以内文字叙述理由。(2)如果不是,将其分解为第四范式,分解后的关系名依次为:书目1,书目2,……。 如果在解决【问题1】、【问题2】时,对该关系的属性进行了修改,请沿用修改后的属性。

选项

答案

解析 【问题1】
(1)流水号、书号;
(2)不能。还书时读取书目中的借书时长,可能在借书后因时长发生变化,不满足按原借书时长计算的要求。
在借还关系中增加借书时长属性,借书时根据书目中的借书时长写入该值。
修改后的“借还”关系:
借还(流水号,借书证号,书号,借书日期,借书时长,还书日期,罚款金额,罚款原因)
【问题2】
(1)书号→(ISBN号、破坏情况、定价);ISBN号→(书名、出版社、存放位置)
(2)不属于,原因是:非主属性对码存在传递依赖
修改内容:去掉书名和出版社属性,将存放位置属性移置书目关系。修改后的关系模式:
图书(书号,ISBN号,破损情况,定价)(书号为主键,ISBN号为外键)
书目(ISBN号,书名,出版社,作者,排名,存放位置,借书时长)(ISBN号为主键)
【问题3】
(1)否,存在多值依赖,ISBN号→→作者
书目1(ISBN号、书名、出版社、存放位置、借书时长)
书目2(ISBN号、作者、排名)
转载请注明原文地址:https://www.tihaiku.com/congyezige/2419850.html

最新回复(0)