|
{{B}}表7-13 数目信息{{/B}}
{{B}}表7-14 图书信息{{/B}}
|
| [问题1] 根据以上[说明]设计的实体联系图(E-R图)如图7-12所示,请指出读者与图书、书目与读者、书目与图书之间的联系类型。
【正确答案】
【答案解析】[问题1]
本试题考查数据库系统中E-R模型的设计。两个实体型之间的联系可以分为以下3类。
①一对一联系(1:1)。如果对于实体集A中的每一个实体,实体集B中最多有一个(也可以没有)实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记为1:1。
②一对多联系(1:n)。如果对于实体集A中的每一个实体,实体集B中有n个实体(n>=0)与之联系,反之,对于实体集B中的每一个实体,实体集A中最多只有一个实体与之联系,则称实体集A与实体集B有一对多联系,记为1:n。
③多对多联系(m:n)。如果对于实体集A中的每一个实体,实体集B中有n个实体(n>=0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m>=0)与之联系,则称实体集A与实体集B具有多对多联系,记为m:n。
读者与图书之间形成了借还关系,题中说明“一名读者最多只能借阅十本图书”,显然一本图书可被多名读者借阅,而每名读者应该能够借阅多本图书,因此读者与图书之间的借还联系为多对多(n:m)。另外,资料室对于同一书目的图书可拥有多册(本),每一本书在系统中被赋予唯一的图书ID,所以书目与图书之间的联系类型为一对多(1:m)。当某书目的可借出图书的数量为零时,读者可以对其进行预约登记,由于一名读者可借阅多种图书,因此书目与读者之间的预约联系类型为多对多(n:m)。
问答题
【正确答案】
【答案解析】[问题2]
本试题考查数据库系统中E-R模型向关系模式转换的设计。由于读者借书时需由图书管理员登记读者ID、所借图书ID、借出时间和应还时间,还书时图书管理员在对应的借书信息中记录归还时间,因此借还记录关系中的空缺处应填入“读者ID,图书ID”。
读者对某书目进行预约登记时,需记录读者ID、需要借阅的图书的ISBN号、预约时间等。目前的预约登记关系中已经有预约时间、预约期限、图书ID信息,显然还需要记录是哪位读者预约了书,以及书的ISBN号。因此,预约登记关系模式中的空缺处应填入“读者ID,ISBN号”
问答题
【正确答案】
【答案解析】[问题3]
主键也称为主码,是关系中的一个或一组属性,其值能唯一标识一个元组。根据题干部分的描述“系统为不同读者生成不同的读者ID”,因此读者关系的主键显然是“读者ID”。不同书目的ISBN号不相同,书目关系的主键为书的“ISBN号”。同一书目的多册(本)图书具有相同的ISBN号,因此所有的图书依据“图书ID”相互区分,图书关系的主键是“图书ID”,外键是书目关系的“ISBN号”。借还记录关系用于记录读者的借书和还书信息,为了区分读者在同一日期对同一本书多次借还,借还记录的主键为“读者ID,图书ID,借出时间”。借还记录是由联系借还对应的关系,它记录与图书和读者的联系。因此,借还记录具有外键读者ID和图书ID,分别与读者和图书相关联。同理,预约登记关系的主键为“读者ID, ISBN号,预约时间”,外键为读者关系的“读者ID”、书目关系的“ISBN号”和图书关系的“图书ID”。
综合以上分析可得,该图书管理系统中主要关系模式的各自主键、外键如表7-20所示。
![]() |