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

考试题库2022-08-02  79

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

选项

答案

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

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

【问题3】(1)不属于第四范式。存在嵌入的多值依赖ISBN号→→(作者,排名)(2)修改后的关系模式:书目1 (ISBN号,书名,出版社,存放位置,借书时长)书目2 (ISBN号,作者,排名)

【问题1】本题考查的是数据库逻辑结构设计和关系理论的应用,属于比较传统的题目,考查点也与往年类似。本问题考查对候选码和需求。针对借还关系,根据题干描述,"读者借书时,由系统生成本次借书的唯一流水号,并登记借书证号、书号、借书日期,其中同时借多本书 使用同一流水号",说明流水号不能唯一确定借阅记录,还需要借阅书的参与,而书号可以唯一确定一本书,故借还关系的候选码应由流水号和书号构成。关系模式的设计应满足应用需求。通过题干中的描述,"不同书目有不同的借书时长,并且可以进行调整,但调整前所借出的书,仍按原借书时长进行处理",借书时长应该是借书时确定的,从书目的属性中读取,作为借书关系的属性,以后借书时长在书目关系中修改,并不影响已发生的借还关系。

【问题2】本问题考査函数依赖和BCNF。根据描述"每一本书有唯一的编号,相同ISBN号的书集中存放,有相同的存储位置,相同ISBN号的书或因不同印刷批次而定价不同", 得出书号决定定价,破损情况是每本书的具体情况,也决定于书号,而书名、出版社和存放位置应由ISBN号决定,故函数据依赖集为{书号→(ISBN号,破损情况,定价), ISBN号→(书名,出版社,存放位置)}。根据函数依赖集,图书关系的候选码为书号,存在非主属性书名、出版社和存放位置等对候选码书号的传递依赖,不属于BCNF。书名和出版社属性在书目关系中已有, 无需在图书关系中重复出现,同时存放位置由ISBN号所决定,应移至书目关系中,则剩余属性书号、ISBN号、破损情况和定价构成新的关系模式,属于BCNF。

【问题3】本问题考查4NF和模式分解。根据题干的描述"一部书可以有多名作者,每名作者有唯一的一个排名",得出多值依赖ISBN号→→(作者,排名),为嵌入式的多值依 赖,因此,书目关系不属于4NF。根据分解算法,将多值依赖独立为一关系模式,从原 关系模式中去掉多值依赖的右部属性即可。
转载请注明原文地址:https://tihaiku.com/congyezige/2419256.html

最新回复(0)