问题 问答题

[问题4] 若系统增加新的预约需求,其业务处理描述如下: 若图书流通室没有读者要借的书,则可为该读者建立预约登记,需要记录读者ID、书的ISBN号、预约时间和预约期限(最长为10天)。一旦其他读者归还这种书,系统将自动查询预约登记表,若存在有读者预约该书的记录,则将该图书的状态修改为“已预约”,并将该图书ID写入相应的预约记录中(系统在清除超出预约期限的记录时解除该图书的“已预约”状态),同时通过E-mail通知该预约读者办理借阅手续。对于超出预约期限的预约记录,系统将自动清除。 为满足上述需要,应对上图所示的实体联系图如何修改或补充,请给出修改后的实体联系图,并对关系模式做相应的修改或补充,指出新增关系模式的主键和外键。

答案

参考答案:

解析:补充联系“预约”,修补后的实体联系图如下:

增加新的关系模式: 预约登记(读者ID,ISBN号,预约时间,预约期限,图书ID) 主键:(读者ID,ISBN号,预约时间) 外键:读者ID,ISBN号,图书ID

[分析]: 为使读者可以对已借完的流通图书进行预约。由于一个书目所对应的流通图书可能有多本,读者不需要去预定具体某一本图书,只需对该书目进行预约。因此,需要在书目和读者之间增加预约联系。只要该书目对应的任意一本具体的流通图书先归还,就可以对将该图书的状态设置为“已预约”。一个读者可以预约多个书目,而一个书目也可以被多个读者预约。所以,读者和书目之间的关系是多对多(n:m),如下图所示。 增加新的关系模式: 预约登记(读者ID,ISBN号,预约时间,预约期限,图书ID) 主键:(读者ID,ISBN号,预约时间) 外键:读者ID,ISBN号,图书ID

单项选择题
填空题