数据库图书管理系统需求分析.docx
《数据库图书管理系统需求分析.docx》由会员分享,可在线阅读,更多相关《数据库图书管理系统需求分析.docx(10页珍藏版)》请在冰豆网上搜索。
数据库图书管理系统需求分析
图书管理系统
第1章.系统分析
数据库系统中共有4个实体:
书库,管理员,书籍,读者。
1)书库的属性:
书库号、名称;
2)管理员的属性:
管理员编号、姓名、联系电话;
3)书籍的属性:
图书编号、出版社、书名、数量、类别、作者、价格、剩余数量、出版日期;
4)读者的属性:
姓名、学号、班级、院系;
5)一个书库有多个管理员,一个管理员只能在一个书库工作。
书库与管理员具有一对多的联系。
6)一个管理员管理多种书籍,一种书籍可以由多个管理员管理。
管理员与书籍具有多对多的联系。
7)一个书库存放多种书籍,一种书籍只能在一个书库存放。
书库与书籍具有一对多的联系。
8)一个读者可以借阅多种书籍,一种书籍可以有多个读者借阅。
书籍与读者具有多对多的联系。
第2章.E-R图
各个实体的E-R图如下所示:
图1实体书库的E-R图;
图2实体管理员的E-R图;
图3实体书籍的E-R图;
图4实体读者的E-R图。
各个实体之间联系的E-R图如下所示:
图5书库-管理员的E-R图;
图6管理员-书籍的E-R图;
图7书库-书籍的E-R图;
图8读者-书籍的E-R图。
然后,将以上实体之间联系表示出来,画出数据库系统的E-R图,如图9所示:
第3章.将E-R图转化为关系模型
根据E-R图可以将系统中的概念模型转换为具体的表(即关系)结构,共分为6个关系,详细信息如下所示:
书库(书库号、名称);
管理员(管理员编号、姓名、联系电话、书库号);
书籍(图书编号、出版社、书名、数量、类别、作者、价格、剩余数量、出版日期、书库号);
读者(姓名、学号、班级、院系);
管理(管理编号、管理员编号、图书编号);
借阅(借阅编号、图书编号、学号、借阅日期、归还日期、借阅数量、拖欠日期、罚款数目)。
将E-R图转化为关系表
确定列的数据类型及必要的约束规则,给出如下所示数据库表的基本结构及说明(数据库db):
(1)书库信息表
列名
说明
数据类型
约束
LibraryNo
书库号
int
主键
LibraryName
名称
nvarchar(20)
(2)管理员信息表
列名
说明
数据类型
约束
WorkerID
管理员编号
int
主键
WorkerName
姓名
nvarchar(20)
WorkerContact
联系电话
Varchar(20)
LibraryNo
书库号
int
外键
(3)书籍信息表
列名
说明
数据类型
约束
BookID
图书编号
Varchar(20)
主键
Publisher
出版社
nvarchar(30)
BookName
书名
nvarchar(30)
BookQuantity
数量
int
BookStyle
类别
Varchar(20)
Author
作者
Varchar(20)
BookPrIce
价格
float
Remainder
剩余数量
int
PublicationDate
出版日期
DateTime
LibraryNo
书库号
int
外键
(4)读者信息表
列名
说明
数据类型
约束
StudentID
学号
int
主键
StudentName
姓名
Varchar(20)
StudentClass
班级
nvarchar(30)
StudentFaculty
院系
nvarchar(30)
(5)管理信息表
列名
说明
数据类型
约束
ManagementNo
管理编号
int
主键
WorkerID
管理员编号
int
外键
BookID
图书编号
Varchar(20)
外键
(6)借阅信息表
列名
说明
数据类型
约束
BorrowNo
借阅编号
int
主键
BookID
图书编号
Varchar(20)
外键
StudentID
学号
int
外键
Outtime
借阅日期
DateTime
Backtime
归还日期
DateTime
BorrowQuantity
借阅数量
int
ArrearsDate
拖欠日期
DateTime
Fine
罚款数目
Numeric
第4章.软件介绍
本系统数据设计采用的就是MYSQL。
MySQL就是一个真正的多用户、多线程SQL数据库服务器。
SQL(结构化查询语言)就是世界上最流行的与标准化的数据库语言,它使得存储、更新与存取信息更加容易。
MySQL就是一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld与许多不同的客户程序以及库组成的。
MySQL的主要目标就是快速、健壮与易用。
最初就是因为MySQL的创始人需要这样的一个SQL服务器,它能处理与任何不昂贵硬件平台上提供数据库的厂家在一个数量级上的大型数据库,但速度更快,MySQL因此就开发出来了。
它提供C,C++,JAVA(JDBC),Perl,Python,PHPandTCL的API接口;多平台支持,包括Solaris,SunOS,BSDI,SGIIRIX,AIX,DECUNIX,Linux,FreeBSD,SCOOpenServer,NetBSD,OpenBSD,HPUX,Win9xandNT;多样的数据类型,包括有/无符号1,2,3,4,8字节integers,FLOAT,DOUBLE,CHAR,VARCHAR,TEXT,BLOB,DATE,DATETIME,YEAR,SET,ENUM;非常灵活与安全的权限系统,密码加密;为Windows提供ODBC接口,可通过Access与之相联,另有第三方开发商提供多样的ODBC驱动程序;在MySQL3、23中使用新MyISAM最大的表大小可达8百万TB(2^63个字节);多种语言支持,但不支持中文。
然而,为了实现快速、健壮与易用的目的,MySQL必须牺牲一部分灵活而强大的功能,如子查询、存储过程与触发器、外键、事物处理等。
因而,MySQL在某些应用中缺乏灵活性,但这也使它对数据的处理速度较其它数据库服务器至少快2~3倍。
MySQL自身不支持Windows的图形界面,因此,所有的数据库操作及管理功能都只能在MS-DOS方式下完成。
首先,必须登陆MySQL服务器,即在提示符\MySQL\BIN>下输入MYSQL–Hhost–Uuser–Ppassword,提示符改为mysql>时表示登陆成功。
然后,选择所操作的数据库,即mysql>USEdatabasename。
接着就可以用SQL语句进行查询了。
如果需要退出数据库服务器,可执行QUIT命令,就成功退出服务器了。
由于MySQL的知名度日益增加,许多第三方软件公司推出了MySQL在Windows环境中的具有图形界面的支持软件,如EMS公司的EMSMYSQLMANAGER提供了Windows形式的MySQL数据库操作功能。