题目
- 根据以下说明设计实体联系图
【说明】
某单位资料室需要建立一个图书管理系统,初步的需求分析结果如下:
(1) 资料室有图书管理员若干名,他们负责已购入图书的编目和借还工作,每名图书管理员的信息包括工号和姓名;
(2) 读者可在阅览室读书,也可通过图书流通室借还图书,读者信息包括读者 ID、姓名、电话和 Email,系统为不同读者生成不同的读者 ID;
(3) 每部书在系统中对应惟一的一条图书在版编目数据(CIP,以下简称书目),书目的基本信息包括 ISBN 号、书名、作者、出版商、出版年月,以及本
资料室拥有该书的册数(以下简称册数),不同书目的 ISBN 号不相同;
(4) 资料室对于同一书目的图书可拥有多册(本),图书信息包括图书 ID、ISBN 号、存放位置、当前状态,每一本书在系统中被赋予惟一的图书 ID;
(5) 一名读者最多只能借阅十本图书,且每本图书最多只能借两个月,读者借书时需由图书管理员登记读者 ID、所借图书 ID、借阅时间和应还时间,读
者还书时图书管理员在对应的借书信息中记录归还时间;
(6) 当某书目的可借出图书的数量为零时,读者可以对其进行预约登记,即记录读者 ID、需要借阅的图书的 ISBN 号、预约时间。
某书目的信息如表 1-1 所示,与该书目对应的图书信息如表 1-2 所示。
【系统的主要业务处理如下】
(1) 入库管理:图书购进入库时,管理员查询本资料室的书目信息,若该书的书目尚未建立,则由管理员编写该书的书目信息并录入系统,然后编写并录入图
书信息;否则,修改该书目的册数,然后编写并录入图书信息,对于进入流通室的书,其初始状态为“未借出”,而送入阅览室的书的状态始终为“不外借”。
(2) 借书管理:读者借书时,若有,则由管理员为该读者办理借书手续,并记录该读者的借书信息,同时将借出图书的状态修改为“已借出”。
(3) 预约管理:若图书流通室没有读者要借的书,则可为该读者建立预约登记,需要记录读者 ID、书的 ISBN 号、预约时间和预约期限(最长为 10 天)。一
旦其他读者归还这种书,就自动通知该预约读者。系统将自动清除超出预约期限的预约记录并修改相关信息。
(4) 还书管理:读者还书时,则记录相应借还信息中的“归还时间”,对于超期归还者,系统自动计算罚金(具体的计算过程此处省略)。系统同时自动查询预
约登记表,若存在其他读者预约该书的记录,则将该图书的状态修改为“已预约”,并将该图书 ID 写入相应的预约记录中(系统在清除超出预约期限的记录时解除
该图书的“已预约”状态);否则,将该图书的状态修改为“未借出”。
(5) 通知处理:对于已到期且未归还的图书,系统通过 Email 自动通知读者;若读者预约的书已到,系统则自动通过 Email 通知该读者来办理借书手续。
给出各关系模式的主键和外键。
答案
解:
图书管理员:主键——工号
读者:主键——读者ID;
书目:主键——ISBN号;
图书信息:主键——图书ID 外键——ISBN号;
借还:主键——读者ID,图书ID, 外键——读者ID,图书ID;
预约:主键——读者ID,ISBN号 ,外键——读者ID,ISBN号;
设计实体联系图如下图: