● 掌握图书管理系统数据库bms的 E-R模型的设计。
● 掌握将图书管理系统数据库bms的 E-R模型向关系模型的转换。
● 完成本项目实例中E-R模型的设计。
● 根据E-R模型,完成关系模式的转换,并标明主键。
(1)设计E-R模型
① 定义实体。根据需求分析,找出实体。图书管理系统数据库中存在图书和读者两个实体。
② 定义联系。根据需求分析,找出实体与实体之间的联系。仔细分析可知,图书和读者之间存在借阅联系。假设一位读者可以借阅多本图书,一本图书可以被多位读者借阅,那么读者和图书之间的借阅联系是多对多,并且派生出借期、还期,以及是否在借作为联系的属性。
③ 定义主键。根据需求分析,找出实体的主键。实体图书的主键为图书编号,实体读者的主键为读者编号。
④ 定义属性。根据需求分析,找出实体的属性。根据数据字典可以得到实体图书有图书编号、图书类型编号、书名、作者、定价、出版社、出版日期和数量等属性,实体读者有读者编号、姓名、性别、年龄、电话和可借数量等属性。
⑤ E-R模型设计。根据以上分析,得到的图书管理系统概念设计E-R模型如图1-18所示。
图1-18 图书管理系统概念设计E-R模型
(2)E-R模型转换为关系模型
① 实体(E)转换为关系模型。
实体图书(图书编号,图书类型编号,书名,作者,定价,出版社,出版日期,数量)转换后得到的关系模型如下。
Book(Book_ID,Book_Category_ID,Book_Name,Author,Price,Press,Pubdate,Store)
实体读者(读者编号,姓名,性别,年龄,电话和可借数量)转换后得到的关系模型如下。
Reader(Card_ID,Name,Sex,Age,Tel,Balance)
② 联系(R)转换为关系模型。
由于实体图书(Book)与实体读者(Reader)之间是多对多联系,联系的属性包括借期(Borrow_Date)、还期(Return_Date),以及是否在借(Status),转换为关系时,联系转换为一个关系模型,并且将联系连接的各实体的主键(Book_ID 和 Card_ID)和联系本身的属性转换为关系模型的属性。
新生成的实体借阅(Borrow)转换后得到的关系模型如下。
Borrow(Book_ID,Card_ID,Borrow_Date,Return_Date,Status)