图书管理系统数据库(数据库图书管理系统课程设计报告)-9游会

项目介绍

这个项目是一个图书借阅系统,功能是记录读者借阅图书的情况,最终产品是一个关系数据库。它解决的问题是如何找出哪一位管理员在何时将哪本书借给了哪一位读者。为了抽象出这个系统的数据模型,我们可以想象一下在图书馆借书的场景,找出各种事物之间的关系,然后通过它们之间的关系确定各个交互对象,最后抽象出与图书借还相关的数据模型。

从问题描述来看,这个系统涉及的信息包括:借阅时间、图书管理员、图书、读者。这是能满足要求的最小功能系统。我们用下面的表1来记录借阅记录。

表1

如果只用这些信息来构建这个数据库系统,那么只需要一个表就可以实现这个功能。每当读者借书时,在表1中添加一条记录。这个系统可以运行,而且长期以来运行良好。然而,突然有一天,客户抱怨系统提供的图书信息太少。许多书有相同的名字,但它们实际上是由不同的作者写的或由不同的出版商出版的。顾客需要更多关于书籍的信息。

鉴于图书信息的缺失,图书借阅系统中还涉及到其他人或事,比如上面描述的借阅时间、管理员、读者。为此,我们还需要补充书籍相关的信息。这些人或物在数据库设计中称为实体,实体是整个系统的交互对象。实体的属性决定了它们携带的信息。接下来,我们将把每个交互对象转换成相应的实体,并完善实体的属性信息。

实体介绍书籍实体

书籍作为交互对象,具有名称、页码等属性。本项目涉及的图书实体主要包括以下属性:。

名称出版社名称in码出版日期书籍描述纸张大小页数图书管理员实体

馆员受雇于图书馆,他与图书馆的关系是雇佣关系。和图书实体一样,也是这个系统的交互对象。由于本示范项目不涉及图书馆相关信息,在提取馆员属性时,我们只需要提取人员信息的基础数据。例如,下面列出了图书馆员的属性。

姓名性别出生日期雇佣起始日期雇佣结束日期读者实体

当读者与图书馆建立关系时,当他注册成为图书馆会员时,他将成为这个图书馆的读者。同时会要求他提供一些必要的个人信息,这些信息构成了读者的实体属性,比如下面列表中的内容。

姓名电子邮件电话居住地址

这些实体是图书借阅过程中涉及到的人或事。除此之外,根据用户的需求,我们还需要查询一些图书出版社的信息。然后,我们可以添加另一个实体——出版社,它的信息只包含以上两项。

出版社实体名称地址

以上信息构成了图书借阅系统最直接的实体。现在回到客户的需求,我们的系统里还有一个关于借用时间的问题。同样,这些信息的表示也是一个实体。相对于上面的人或事,这个信息比较抽象,它代表的是一个借书事件。接下来,我们来详细分析一下这个实体。

借阅图书事件实体

每借一本书,这个事件就会被触发一次。该事件记录了图书借阅日期、借阅者、图书管理员和图书的信息,并通过下面列表中的属性表示一个图书借阅事件。

借书的日期还书日期实际还书日期图书管理员读者书籍名称

以上五种数据构成了整个图书借阅系统的基础数据。接下来,我们的工作是将这些物理对象转换成数据表,并建立数据表之间的关系。我们可以建立五个数据表来代表每一种数据实体,依次是图书表、图书管理员表、出版社表、读者表和借阅事件表。

数据库数据库表

当我们列出业务中的每个实体及其属性时,很容易将其转换成相应的数据表和字段。根据上面对各个实体的描述,要创建的数据表与其字段的对应关系如下表所示。表2中的标题信息是数据表的名称,每一列显示该表拥有的字段。

表2

数据库键数据库的键分为主键和外键。每个数据表最多包含一个主键,但可以包含多个外键。主键值唯一地表示数据表中的一条记录。当选择某个字段作为主键时,该字段的值应该是唯一的。它可以是真实的数据信息,也可以是虚构的,只要它能够唯一地代表该记录。外键是指数据表中定义的非主键。同时,这个键在其他数据表中属于主键。主键和外键用于建立表之间的关系。将相应的主键和外键添加到表2中的数据表后,就形成了一个新的数据表。如下表3所示。

表3

在表3中,为每个数据表添加了一个名为id的主键,用绿色单元格表示。蓝色单元格表示外键字段。例如,图书表使用外键publisher id,它对应于publisher表中的主键id字段,借阅事件表使用三个外键,即图书管理员id、读者id和图书id,它们分别指向图书管理员id字段、读者id字段和图书id字段。

数据表关系

在构建数据表和键之后,您可以开始构建数据表之间的关系。每个数据表由主键和外键连接。图书和出版社的关系是多对一的关系,也就是一个出版社可以出很多本书。通过在book表中添加一个publisher id字段,显示这本书是由哪家出版社出版的,两者之间的关系可以用下面的er图来表示

图1

借阅事件表与数据管理器、图书和读者的关系也是多对一的关系。在这个数据表中,我们使用三个外键。第一种是图书管理员id外键对应图书管理员数据表中的id字段,两者之间是一对多的关系,即一个图书管理员可以触发多个借阅事件,每个读者的借阅都是一个事件;第二个外键读取器id对应于读取器数据表中的id字段,它们之间也是一对多的关系。其含义表示一个读者可以多次借阅图书,每次借阅属于一个事件;第三个外键图书id对应的是图书数据表中的id字段,两者之间也是一对多的关系,也就是说一本书可以被多次借阅,同样,每次借阅都属于一个借阅事件;。下面的er图可以显示这四个数据表。

图2

数据表、数据键、数据关系确定后,数据库基本建立。然后利用特定的数据库软件转换成相应的数据库对象,根据业务需要构建相应的数据库查询语句。我们下一篇文章将详细介绍如何使用数据库软件构建相应的可以运行的数据库。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文链接:https://www.andon8.com/299195.html

网站地图