数据库系统实验报告图书管理系统php实现.docx
- 文档编号:6702170
- 上传时间:2023-01-09
- 格式:DOCX
- 页数:30
- 大小:605.62KB
数据库系统实验报告图书管理系统php实现.docx
《数据库系统实验报告图书管理系统php实现.docx》由会员分享,可在线阅读,更多相关《数据库系统实验报告图书管理系统php实现.docx(30页珍藏版)》请在冰豆网上搜索。
数据库系统实验报告图书管理系统php实现
第一章需求分析
1.1系统需求分析
通过计算机对图书进行管理,不仅为图书馆的管理注入了新的生机,而且在运行过程中节省了大量的人力、物力、财力和时间,可以提高图书馆的效率,还为图书馆在读者群中树立了一个全新的形象,并为图书馆日后发展奠定一个良好的基础。
1.1信息要求:
管理员先在图书馆管理系统中建立管理员的账号、密码和权限;管理员添加和修改新书信息,包括图书编号、书名、作者、出版社、出版日期、价格、备注、索书号;当用户借书和还书的时候,可在数据库中获得用户名、图书编号和借书(还书)日期等;
1.2处理要求:
管理员才可以在图书馆管理系统中添加、修改和删除新书的信息、新用户、借书和还书的用户信息。
1.3安全性和完整性要求:
新建管理员主要主管理员添加,需要密码,有助于增强系统的安全性。
对所有可能出现的输入数据的响应予以定义,对合法和非合法的输入值的响应做出错误的提示。
第二章系统设计
系统概要设计是系统实现一个重要的前期工作。
本章节将结合功能设计、模块划分和子模块功能设计及流程三个方面对该系统的概要设计做详细的说明。
2.1功能设计
本系统功能主要包括登录,系统设置,读者管理,图书管理,图书借还,系统查询等。
本系统设计实现了用户登录、系统设置、读者管理、图书管理、图书借还、系统查询等模块。
系统模块结构参考图2-1。
图2-1图书管理系统模块
2.2模块具体划分
系统主要划分为四大模块,分别是用户登录模块、系统设置模块、读者管理模块、图书管理模块和图书借还等模块。
其模块具体划分参考图2-2。
图2-2
2.3子模块功能设计及流程
为了能更好地完成系统实现,本文对系统各子模块功能设计以及流程做了详细的说明。
2.3.1登录模块
用户输入用户密码,系统验证,失败时返回登录页面,成功时进入主界面。
登陆成功,将用户信息保存Session里,便于用户信息提取。
设计流程图参考图2-4-1。
图2-4-1登录模块程序流程
error
success
2.3.2系统设置模块
主要操作:
对管理员、书架等的增加、修改、删除、查询。
基本操作流程参考图2-4-2-a。
操作说明:
增加——验证录入信息是否正确,确认正确,成功后显示信息列表。
修改——验证修改信息是否正确,确认修改,成功后显示信息列表。
删除——选择删除项,确认删除后,删除选择数据,成功后显示回信息列表。
查询——查询所有的管理员、书架等信息。
查询流程参考图2-4-2-b。
图2-4-2-a系统设置基本操作
图2-4-2-b基本操作的程序流程
NN
YY
2.3.3读者管理模块
主要操作:
对读者信息的维护,包括增、删、查、改等。
程序流程参考图2-4-2-a和图2-4-2-b。
2.3.4图书管理模块
主要操作:
对图书信息的维护,包括增、删、查、改等。
程序流程参考图2-4-2-a和图2-4-2-b。
2.3.5图书借还模块
主要操作:
对图书的管理,包括图书借阅、图书续借、图书归还等。
程序流程参考图2-4-5-a、图2-4-5-b和图2-4-5-c。
图2-4-5-a图书借阅的程序流程
确认确认
图2-4-5-b图书续借的程序流程
图2-4-5-c图书续借的程序流程
2.3.6系统查询模块
主要操作:
对图书的相关查询,包括图书档案查询、图书借阅查询、借阅到期提醒等。
程序流程参考图2-4-6。
图2-4-6查询操作流程图
NN
YY
第三章数据库设计
3.1数据字典
有了系统的数据流图后,还有相当多的数据信息如图书、借阅、归还等信息需要进一步描述,这就是需要定义数据字典,才能把现有的系统描述清楚。
列出系统的主要数据字典。
名称:
管理员
描述:
记录管理员信息
定义:
管理员信息=管理员ID+管理员密码
输入数据:
管理员信息
输出数据:
管理员信息
名称:
图书信息表结构
描述:
记录所有图书的基本情况
定义:
图书信息=图书编号+ISBN号+索引号+图书类别+图书名称+语种+原名+页码+作者+价格+出版社+出版时间+登记日期+备注
输入数据:
图书信息
输出数据:
图书信息
名称:
读者信息表结构
描述:
记录所有读者的基本情况
定义:
读者信息=读者编号+性别+姓名+类别+身份证号+办证日期+证有效期+工作单位+E-mail+联系电话
输入数据:
读者信息
输出数据:
读者信息
名称:
借书登记表结构
描述:
记录所有图书的借阅情况
定义:
借书信息=读者编号+读者编号+读者类别+图书编号+图书类别+图书名称+原名+
作者+出版社+借出日期+应还日期
输入数据:
借书信息
输出数据:
借书信息
名称:
记录归还登记表结构
描述:
记录所有图书的归还情况
定义:
归还信息=读者编号+读者编号+读者类别+图书编号+图书类别+图书名称+原名+作者+出版社+借出日期+应还日期+实还日期+罚款
输入数据:
归还信息
输出数据:
归还信息
3.2数据库的逻辑设计
在需求分析阶段已完成该系统所有的数据分析。
根据该阶段所建立的概念模型,已经得出满足系统设计要求的几个关系描述,该阶段的主要工作就是把前一阶段的成果转化为具体的数据库。
下面给出概念结构设计得E-R图。
1:
管理员实体E-R图:
图3.1管理员实体E-R图
管理员
2:
会员信息实体E-R图:
图3.2读者实体E-R图
3:
图书信息实体E-R图:
图3.3图书实体E-R图
条形码图书
4:
借书信息实体E-R图:
图3.4借书实体E-R图
读者编号借书
6:
还书信息实体E-R图:
图3.5还书实体E-R图
读者编号还书
7:
表示系统E-R图(图4.6):
图4.6系统E-R图
11
NN
MM
NN
3.3数据库表
管理员信息表:
tb_manager
管理员信息表主要用来保存管理员信息。
表tb_manager的结构如表3-4-1所示。
表3-4-1
字段名称
数据类型
是否为空
是否主键
默认值
描述
id
Int
NO
YES
ID自动编号
mname
Varchar(30)
YES
NULL
管理员名称
pwd
Varchar(30)
YES
NULL
密码
权限表:
tb_purview
权限表主要用来保存管理员的权限信息,该表中的id字段与管理员信息表(tb_purview)中的id字段关联。
表tb_purview的结构如表3-4-2所示。
表3-4-2
字段名称
数据类型
是否为空
是否主键
默认值
描述
id
Int
NO
YES
0
管理员ID号
sysset
Tinyint
YES
0
系统设置
readerset
Tinyint
YES
0
读者管理
bookset
Tinyin
YES
0
图书管理
borrowback
Tinyint
YES
0
图书借还
sysquery
Tinyint
YES
0
系统查询
参数设置表:
tb_parameter
参数设置表主要用来保存办证费及书证的有效期限等信息。
表tb_parameter的结构如表3-4-3所示
表3-4-3
字段名称
数据类型
是否为空
是否主键
默认值
描述
id
Int
NO
YES
ID(自动编号)
cost
Varchar(30)
YES
NULL
办证费
validity
Int
YES
NULL
有限期限
图书类型表:
tb_booktype
主要用来保存图书类型信息。
表tb_booktype的结构如表3-4-4所示。
表3-4-4
字段名称
数据类型
是否为空
是否主键
默认值
描述
id
Int
NO
YES
ID(自动编号)
typename
Varchar(30)
YES
NULL
类型名称
days
Int
YES
NULL
可借天数
书架信息表:
tb_bookcase
书架信息表主要用来保存书架信息。
表tb_bookcase的结构如表3-4-5所示。
表3-4-5
字段名称
数据类型
是否为空
是否主键
默认值
描述
id
Int
NO
YES
ID(自动编号)
name
Varchar(30)
YES
NULL
书架名称
图书信息表:
tb_bookinfo.
该表用于保存图书信息。
表tb_bookinfo的结构如表3-4-6所示。
表3-4-6
字段名称
数据类型
是否为空
是否主键
默认值
描述
barcode
varchar(30)
YES
NULL
条形码
bookname
varchar(70)
YES
NULL
书名
typeid
int
YES
NULL
类型
author
varchar(30)
YES
NULL
作者
translator
varchar(30)
YES
NULL
译者
ISBN
varchar(20)
YES
NULL
出版社
price
money
YES
NULL
价格
page
int
YES
NULL
页码
bookcase
int
YES
NULL
书架
intTime
datetime
YES
NULL
录入时间
operator
varchar(30)
YES
NULL
操作员
del
tinyint
YES
0
是否删除
id
int
NO
YES
ID(自动编号)
图书借阅信息表:
tb_borrow
用于保存图书信息。
表tb_borrow如表3-4-7所示。
表3-4-7
字段名称
数据类型
是否为空
是否主键
默认值
描述
id
int
NO
YES
ID(自动编号)
readerid
int
YES
NULL
读者编号
bookid
int
YES
NULL
图书编号
borrowtime
datetime
YES
NULL
借书编号
backtime
datetime
YES
NULL
应还时间
operator
varchar(30)
YES
NULL
操作员
ifback
tinyint
YES
0
是否归还
图书归还信息表:
tb_giveback
图书归还信息表主要用来保存图书归还信息。
表tb_giveback的结构如表3-4-8所示。
表3-4-8
字段名称
数据类型
是否为空
是否主键
默认值
描述
id
int
NO
YES
ID(自动编号)
readerid
int
YES
NULL
读者编号
bookid
int
YES
NULL
图书编号
backtime
datetime
YES
NULL
归还时间
operator
varchar(30)
YES
NULL
操作员
出版社信息表:
tb_publishing
出版社信息表主要用来保存出版社信息。
表tb_publishing的结构如表3-4-9所示。
表3-4-9
字段名称
数据类型
是否为空
是否主键
默认值
描述
ISBN
varchar(30)
YES
YES
NULL
ISBN号
pubname
varchar(30)
YES
NULL
出版社名称
读者类型信息表:
tb_readertype
读者类型信息表主要用来保存读者类型信息。
表tb_readertype的结构如表3-4-11所示。
表3-4-10
字段名称
数据类型
是否为空
是否主键
默认值
描述
id
int
NO
YES
ID(自动编号)
rtname
varchar(50)
YES
NULL
名称
number
int
YES
NULL
可借数量
读者信息表:
tb_reader
读者信息表主要用来保存读者信息。
表tb_reader的结构如表3-4-10所示。
表3-4-11
字段名称
数据类型
是否为空
是否主键
默认值
描述
id
int
NO
YES
ID(自动编号)
readername
varchar(20)
YES
NULL
姓名
sex
varchar(4)
YES
NULL
性别
barcode
varchar(30)
YES
NULL
条形码
vocation
varchar(50)
YES
NULL
职业
birthday
datetime
YES
NULL
出生日期
paperType
varchar(10)
YES
NULL
有效证件
paperNO
varchar(20)
YES
NULL
证件号码
tel
varchar(20)
YES
NULL
电话
varchar(100)
YES
NULL
电子邮件
createDate
datetime
YES
NULL
登记日期
operator
varchar(30)
YES
NULL
操作员
remark
text
YES
NULL
备注
typeid
int
YES
NULL
类型
图书馆信息表:
tb_library
图书馆信息表主要用来保存图书馆的基本信息。
表tb_library的结构如表3-4-12所示。
表3-4-12
字段名称
数据类型
是否为空
是否主键
默认值
描述
id
int
NO
YES
ID(自动编号)
libraryname
varchar(50)
YES
NULL
馆名
curator
varchar(10)
YES
NULL
馆长
tel
varchar(20)
YES
NULL
联系电话
address
varchar(100)
YES
NULL
联系地址
varchar(100)
YES
NULL
E—mail
url
varchar(100)
YES
NULL
网址
creatDate
datetime
YES
NULL
建馆日期
introduce
text
YES
NULL
简介
第四章实施与维护
系统给图书馆提供了系统设置、读者管理、图书管理、图书借还、系统查询等功能。
本章节详细地介绍了每个子模块实现的过程,同时也列出了部分主要的源代码以供参考。
4.1登录模块
实现过程:
登录界面(login.php文件),输入用户名和密码,通过调用(chklogin.php文件)的checkinput()方法进行验证用户登陆。
运行页面效果如下图4-1:
图4-1登录页面
4.2管理员设置
增加系统管理员,可以增加、修改、删除系统管理员用户。
如下图4-2所示
图4-2管理员设置页面
4.3添加图书信息
身份验证通过以后,点击可以使用系统的基本信息管理界面,这是管理员主要的输入信息部分,它即可以对数据进行输入。
填写好各项信息后,单击保存按钮,系统将对这些信息进行处理。
界面见下图4-3所示:
图4-3添加图书信息页面
4.4图书借阅管理
可以实时显示借阅状态,并可进行还书和修改操作,如下图4-4所示:
4.5读者信息管理
分为读者档案管理和读者类型管理,如下图4-5-1和4-5-2所示:
图4-5-1读者类型管理页面
图4-5-2读者档案管理页面
4.5系统查询
分为图书档案查询、图书借阅查询和图书借阅到期提醒,如下图4-5-1和4-5-2和4-5-3所示:
图4-5-1图书档案查询页面
图4-5-2图书借阅查询页面
图4-5-3图书借阅到期提醒页面
4.6更改口令
用于更改用户的密码信息,如下图4-6所示:
图4-6更改用户口令页面
4.7数据库连接
本系统数据库连接采用了MySQL数据库连接方式实现。
数据库的连接实现在conn包中的conn.php文件,其主要代码为:
php
$conn=mysql_connect("localhost","root","root")ordie("数据库服务器连接错误".mysql_error());
mysql_select_db("db_library",$conn)ordie("数据库访问错误".mysql_error());
mysql_query("setnamesgb2312");
>
第五章结束语
本系统的设计与实现,是根据图书馆现状分析下完成的。
本系统相比其他类似系统有着如下优点:
1、功能齐全,有用户权限设置、图书借阅、图书续借等功能模块信息管理;2、界面友好,操作简捷;3、系统使用MySQL数据库,响应时间短、经济实惠;4、使用范围广,适合各种规模图书馆运营使用。
由于能力有限,加上时间仓促,本系统仍然存在一些不足之处,如:
系统代码较为冗余、出版社管理功能未实现、系统业务逻辑不清晰等,这些将会在后期逐步改进完善。
数据库代码
USEmaster
IFEXISTS(SELECT*
FROMsysdatabases
WHEREname='library')
DROPDATABASElibrary;
CREATEDATABASElibrary
ON(
NAME=library数据,
FILENAME='G:
\SQLData\library.MDF',--特别说明,调试的时候要现在G盘创建一个“SQLData”文件夹
SIZE=10MB,
MAXSIZE=50MB,
FILEGROWTH=5MB
)
LOGON(
NAME=library日志,
FILENAME='G:
\SQLData\library.LDF',
SIZE=10MB,
MAXSIZE=20MB,
FILEGROWTH=5MB
)
USElibrary
--建表的SQL代码:
--管理员信息表
createtabletb_manager(
idintprimarykey,--ID自动编号
mnamevarchar(30),--管理员名称
pwdvarchar(30),--密码
);
--权限表
createtabletb_purview(
idintdefault'0'primarykey,
syssettinyintdefault'0',
readersettinyintdefault'0',
booksettinyintdefault'0',
borrowbacktinyintdefault'0',
sysquerytinyintdefault'0',
foreignkey(id)referencestb_manager(id)
);
--参数设置表
createtabletb_parameter(
idintprimarykey,
costvarchar(30),
validityint,
);
--图书类型表
createtabletb_booktype(
idintprimarykey,
typenamevarchar(30),
daysint,
);
--书架信息表
createtabletb_bookcase(
idintprimarykey,
namevarchar(30),
);
--图书信息表
createtabletb_bookinfo(
barcodevarchar(30),
booknamevarchar(70),
typeidint,
authorvarchar(30),
translatorvarchar(30),
ISBNvarchar(20),
pricemoney,
pageint,
bookcaseint,
intTimedatetime,
operatorvarchar(30),
deltinyintdefault'0',
idintprimarykey,
);
--图书借阅信息表
createtabletb_borrow(
idintprimarykey,
readeridint,
bookidint,
borrowtimedatetime,
backtimedatetime,
operatorvarchar(30),
ifbacktinyintdefault'0',
);
--图书归还信息表
createtabletb_giveback(
idintprimarykey,
readeridint,
bookidint,
backtimedatetime,
operatorvarchar(30),
);
--出版社信息表
createtabletb_publishing(
ISBNvarchar(30)primarykey,
pubnamevarchar(30),
);
--读者类型信息表
createtabletb_readertype(
idintprimarykey,
rtnamevarchar(50),
numberint,
);
--读者信息表
createtabletb_reader(
idintprimarykey,
readernamevarchar(20),
sexvarchar(4),
barcodevarch
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 实验 报告 图书 管理 php 实现