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






