若想去含浦图书馆借阅生物科学类书籍,应去哪个阅览室()?
A.医学阅览室
B.版本古籍阅览室
C.自科阅览室
D.社科阅览室
A.医学阅览室
B.版本古籍阅览室
C.自科阅览室
D.社科阅览室
【问题1】(8分) 根据说明中的描述,以及图3-1和图3-2,给出图3-1中C1-C4处所对应的类名(类 名使用图3-1和图3-2中给出的英文词汇)。 【问题2】(4分) 根据说明中的描述,以及图3-1和图3-2,给出图3-2中M1-M4处所对应的方法名(方法名使用图3-1和图3-2中给出的英文词汇)。 【问题3】(3分) 用例“借书”的备选事件流4a中,根据借书制度来判定读者能否借阅图书。若图书馆的借书制度会不断地扩充,并需要根据图书馆的实际运行情况来调整具体使用哪些制度。为满足这一要求,在原有类设计的基础上,可以釆用何种设计模式?简要说明原因。
试题一(共15分)
阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】
某学校开发图书管理系统,以记录图书馆藏图书及其借出和归还情况,提供给借阅者借阅图书功能,提供给图书馆管理员管理和定期更新图书表功能。主要功能的具体描述如下:
(1)处理借阅。借阅者要借阅图书时,系统必须对其身份(借阅者ID)进行检查。通过与教务处维护的学生数据库、人事处维护的职工数据库中的数据进行比对,以验证借阅者ID是否合法,若合法,则检查借阅者在逾期未还图书表中是否有逾期未还图书,以及罚金表中的罚金是否超过限额。如果没有逾期未还图书并且罚金未超过限额,则允许借阅图书,更新图书表,并将借阅的图书存入借出图书表,借阅者归还所借图书时,先由图书馆管理员检查图书是否缺失或损坏,若是,则对借阅者处以相应罚金并存入罚金表;然后,检查所还图书是否逾期,若是,执行“处理逾期”操作;最后,更新图书表,删除借出图书表中的相应记录。
(2)维护图书。图书馆管理员查询图书信息;在新进图书时录入图书信息,存入图书表;在图书丢失或损坏严重时,从图书表中删除该图书记录。
(3)处理逾期。系统在每周一统计逾期未还图书,逾期未还的图书按规则计算罚金,并记入罚金表,并给有逾期未还图书的借阅者发送提醒消息。借阅者在借阅和归还图书时,若罚金超过限额,管理员收取罚金,并更新罚金表中的罚金额度。
现采用结构化方法对该图书管理系统进行分析与设计,获得如图1-1所示的顶层数据流图和图1.2所示的0层数据流图。
【问题1】(4分)
使用说明中的词语,给出图1-1中的实体E1-E4的名称。
【问题2】(4分)
使用说明中的词语,给出图1-2中的数据存储D1~D4的名称。
【问题3】 (5分)
在DFD建模时,需要对有些复杂加工(处理)进行进一步精化,绘制下层数据流图。针对图1-2中的加工“处理借阅”,在1层数据流图中应分解为哪些加工?(使用说明中的术语)
【问题4】(2分)
说明【问题3】中绘制1层数据流图时要注意的问题。
A.查询、借阅
B.加工、查询
C.搜寻、外借
D.整序、加工
阅读下列说明,回答问题1至问题3。
【说明】
请设计一个图书馆数据库,此数据库中对每个借阅者保存的读者记录包括:读者号、姓名、地址、性别、年龄、单位。对每本书存有:书号、书名、作者、出版社。对每本书被借出的书存有读者号、借出日期和应还日期。
【问题1】
给出E-R图
【问题2】
转换成关系模型
【问题3】
给其中任何一个表用SQL语句建表。
【问题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】时,对该关系的属性进行了修改,请沿用修改后的属性。
设图书馆数据库中有一个关于读者借书的关系模式R(L#,B#,BNAME,AUTH, BIRTH),其属性为读者借书证号、所借书的书号、书名、书的作者、作者的出生年份。
如果规定:一个读者同时可借阅多本书籍;每本书只有一个书名和作者;作者的姓名不允许同名同姓;每个作者只有一个出生年份。
那么,关系模式R上基本的函数依赖集为(1),R上的关键码为(2), R的模式级别为(3)。
如果把关系模式R分解成数据库模式ρ1={(L#,B#),(B#,BNAME,AUTH,BIRTH)},那么R分解成ρ1是无损分解、保持依赖且ρ1属于(4)。
如果把关系模式R分解成数据库模式ρ2={(L#,B#),(B#,BNAME,AUTH),(AUTH, BURTH)},那么R分解成ρ2是无损分解、保持依赖且ρ2属于(5)。
A.{L#→B#,B#→BNAME,BNAME→AUTH,AUTH→BIRTH}
B.{L#→B#,B#→(BNAME,AUTH,BIRTH)}
C.{B#→(BNAME,AUTH),AUTH→BIRTH}
D.{(L#,B#)→BNAME,B#→AUTH,AUTH→BIRTH)
查询没有借阅图书的读者的姓名和借书证号,应使用SQL语句
A.SELECT 姓名 FROM 读者 WHERE NOT EXISTS; (SELECT 借书证号 FROM 借阅 WHERE 借阅.借书证号=读者.借书证号)
B.SELECT 姓名,借书证号 FROM 读者 WHERE (SELECT*FROM 借阅 WHERE 借阅.借书证号=读者.借书证号)
C.SELECT 姓名,借书证号 FROM 读者 WHERE NOT EXISTS; (SELECT*FROM 借阅 WHERE 借阅.借书证号=读者.借书证号)
D.SELECT 姓名,借书证号 FROM 读者 WHERE 借阅=NULL (SELECT*FROM 借阅 WHERE 借阅.借书证号=读者.借书证号)
查询没有借阅图书的读者的姓名和借书证号,应使用SQL语句
A.SELECT姓名FROM读者WHERE NOT EXISTS; (SELECT借书证号FROM借阅WHERE借阅.借书证号=读者.借书证号)
B.SELECT姓名,借书证号FROM读者WHERE (SELECT,FROM借阅WHERE借阅.借书证号=读者.借书证号)
C.SELECT姓名,借书证号FROM读者WHERE NOT EXISTS; (SELECT * FROM借阅WHERE借阅,借书证号=读者.借书证号)
D.SELECT姓名,借书证号FROM读者WHERE借阅=NULL (SELECT * FROM借阅WHERE借阅.借书证号=读者.借书证号)
阅读下列说明和数据流图,回答问题1至问题3。
说明
某图书管理系统的主要功能是图书管理和信息查询。对于初次借书的读者,系统自动生成读者号,并与读者基本信息(姓名、单位、地址等)一起写入读者文件。
系统的图书管理功能分为四个方面:购入新书、读者借书、读者还书以及图书注销。
1.购入新书时需要为该书编制入库单。入库单内容包括图书分类目录号、书名、作者、价格、数量和购书日期,将这些信息写入图书目录文件并修改文件中的库存总量(表示到目前为止,购入此种图书的数量)。
2.读者借书时需填写借书单。借书单内容包括读者号和所借图书分类目录号。系统首先检查该读者号是否有效,若无效,则拒绝借书;若有效,则进一步检查该读者已借图书是否超过最大限制数(假设每位读者能同时借阅的书不超过5本),若已达到最大限制数,则拒绝借书;否则允许借书,同时将图书分类目录号、读者号和借阅日期等信息写入借书文件中。
3.读者还书时需填写还书单。系统根据读者号和图书分类目录号,从借书文件中读出与该图书相关的借阅记录,标明还书日期,再写回到借书文件中,若图书逾期,则处以相应的罚款。
4.注销图书时,需填写注销单并修改图书目录文件中的库存总量。
系统的信息查询功能主要包括读者信息查询和图书信息查询。其中读者信息查询可得到读者的基本信息以及读者借阅图书的情况;图书信息查询可得到图书基本信息和图书的借出情况。
图书管理系统的顶层图如图1-1所示;图书管理系统的第0层DFD图如图1-2所示,其中,加工2的细化图如图1-3所示。
数据流图1-2中有两条数据流是错误的,请指出这两条数据流的起点和终点。