一个图书借阅管理数据库要求提供下面服务:
1)可以随时查询书库中现有书籍的品种、数量与存放位置。所有各类书籍由书号唯一标识。
2)可以随时查询书籍借还情况。包括借阅人单位、姓名、借书证号、借书日期和还书日期;并有以下规定:任何人可借多种书,任何一种书可为多个人所借,借书证号具有唯一性。
3)若有需要时,可以通过数据库中保存的出版社的电报编号、电话、邮编及地址等信息向有关书籍的出版社增购有关书籍。并有以下规定:一个出版社可出版多种书籍,同一本书仅为一个出版社出版,出版社名具有唯一性。根据以上假设,试作出如下设计:
1)构造满足需求的E-R图;转换为等价的关系模型结构,并指出每一个关系模式的关键字;
2)考察各关系模式的规范化程度,使其达到3NF。
参考答案:按已知情况及假设,满足上述需求的E-R图如下:
转换为等价的关系模型结构如下:
借书人(借书证号,姓名,单位)
关键字:借书证号
图书(书号,书名,数量,位置,出版社名)
关键字:书号
出版社(出版社名,电报,电话,邮编,地址)
关键字:出版社名
借阅(借书证号,书号,借书日期,还书日期)
关键字:借书证号,书号
2)考查以上4个关系模式,所有非主属性均完全函数依赖候选关键字,达到2NF;同时,均不存在传递函数依赖,因此均已达到3NF。
解析:
1)建立相应的E-R图的过程如下:
a.确定实体类型。本题有3个实体类型,即借书人实体、图书实体和出版社实体。
b.确定联系类型。借书人实体与图书实体之间是多对多联系,即借阅关系。出版社实体与图书实体之间是1对多联系,即出版关系。
c.把实体类型和联系类型组合成E-R图。
d.确定实体类型和联系类型的属性。
借书人实体有属性:借书证号、姓名、单位
图书实体有属性:书号、书名、数量、位置、出版社名
出版社实体有属性:出版社名、电报挂号、电话、邮编、地址
借阅联系有属性:借书日期、还书日期
转换为等价的关系模型结构如下:
借书人(借书证号,姓名,单位),选择属性中的一个可以唯一的区分每一行的那个属性作为关键字,故选择关键字:借书证号
图书(书号,书名,数量,位置,出版社名),选择关键字:书号
出版社(出版社名,电报,电话,邮编,地址),选择关键字:出版社名
借阅(借书证号,书号,借书日期,还书日期),选择关键字:借书证号,书号
2)若关系模式是1NF,且每个非主属性完全函数依赖于码,则此关系模式是2NF。消除了非主属性传递函数依赖于候选关键字的2NF的关系模式就是3NF。考查以上4个关系模式,所有非主属性均完全函数依赖候选关键字,达到2NF;同时,均不存在传递函数依赖,因此均已达到3NF。