图书管理系统数据库结构说明书.docx
《图书管理系统数据库结构说明书.docx》由会员分享,可在线阅读,更多相关《图书管理系统数据库结构说明书.docx(28页珍藏版)》请在冰豆网上搜索。
![图书管理系统数据库结构说明书.docx](https://file1.bdocx.com/fileroot1/2023-1/24/fec1dc58-ae79-4c3c-9414-74099d126704/fec1dc58-ae79-4c3c-9414-74099d1267041.gif)
图书管理系统数据库结构说明书
《数据库应用开发项目技术》课程设计
学号:
姓名:
钟威
学院:
电气及信息工程学院
专业:
计算机科学及技术
指导教师:
梁君霞
分数:
年月日
1.课程设计目的
2.课程设计内容
.课程设计题目及要求
.数据库需求分析
..功能分析
..数据流图
..数据字典
.数据库概念设计
..局部图
..全局图
.数据库逻辑设计
..读者信息表表的逻辑结构
..图书信息表的逻辑结构
..借书证表的逻辑结构
.数据库物理设计
..数据表的创建
..表中约束,规则的创建
..视图的创建
..存储过程的创建
..触发器的使用
.数据的测试
..数据插入,修改,删除的测试
..存储过程的测试
..触发器的测试
.课程设计总结及心得体会
.参考文献
.课程设计目的:
数据库应用开发项目设计是数据库系统原理实践环节的及为重要的一部分,其目的是:
()培养学生能够应用数据库系统原理在需求分析的基础上对系统进行概念设计,学会设计局部,全局图。
()培养学生能够应用数据库系统原理在概念设计的基础上应用关系规范化理论对系统进行逻辑设计,学会在图基础上设计出易于查询和操作的合理的规范化关系模型。
()培养学生能够应用语言对所设计的规范化关系模型进行物理设计,并且能够应用视图,存储过程,触发器,游标技术以保证数据库系统的数据完整性,安全性,一致性,保证数据共享和防止数据冲突.
()培养学生理论及实际相结合能力,培养学生开发创新能力
.课程设计内容:
.课程设计题目及要求
本文研究的图书管理系统的数据库。
计算机主要是借助软件用来存储、更新数据的,并有统计书目的功能。
使用管理系统软件,虽然需要投入一定的资金,但同时却可以使处理速度成倍、成十倍的增加,使在固有的时间内能让尽量多的会员办理完手续,增加了处理速度,而且可以减少员工数量,是公司更加精简;由于计算机是一种高精度的机器,所以使用计算机软件辅助后,出错的几率也就变得非常低了。
.数据库需求分析
..功能分析
根据这些需要,本系统需要建立“用户信息”表,“图书借阅”表,“读者信息”表,“借阅逾期”表,“系统日志”表,“图书信息”表,“日志”表,“预借”表,“罚款日志”表和“续借信息”表等。
事务需求分析
经过实际考察、咨询和分析,图书管理系统主要应该具有以下功能模块。
()读者登录界面部分,要求有如下功能:
①可以显示读者信息(包括当前借书情况以及是否有罚款在身等相关信息);
②图书查询功能;
③借书操作;
④续借操作;
()管理员登录界面部分,要求有如下功能:
①新书上架操作(完成新书录入工作);
②图书信息修改操作;
③图书相关统计操作;
④办理借书证操作;
⑤借书证的挂失及解封等操作;
⑥接收还书;
⑦接收罚金
..数据流图
“图书管理系统”顶层数据流图:
“图书管理系统”层数据流图:
加工“图书管理”的数据流图:
加工“借书证管理”数据流图:
加工“借书管理”数据流图:
..数据字典
数据字典是以数据库中数据基本单元为单位,按一定顺序排列,对其内容作详细说明的数据集。
针对图书管理系统得到过程和数据流程分析,设计得到如下的数据项和数据结构:
图书信息:
包括的数据项主要有:
编号,书名,主编,出版社,借书日期。
读者信息:
包括的数据项主要有:
姓名,借书证号,身份,可借书数目,借书限制和已借书数量。
借书证:
包括的数据项主要有:
借书证号,读者姓名,读者类型,借书时间,借阅图书数量和是否逾期。
管理员:
包括的数据项主要有:
账号,密码,性别,年龄。
“借书”描述内容
名称借书
简述:
图书信息
数据流组成:
图书编号书名主编出版社借阅日期
数据流来源:
用户将图书交给借书员,借书员经过审查后将相关信息输入计算机。
数据量:
个日
峰值:
个日
“填写读者信息”描述内容
名称填写读者信息
简述:
填入读者信息的记录
数据流组成:
姓名借书证号身份可借书数目借书限制已借书数量
数据流来源:
检查合格的读者信息录入到读者信息库中
“借书证”描述内容
名称借书证库
简述:
借书证
数据流组成:
借书证号读者姓名读者类型借书时间借阅图书数量是否逾期
数据流来源:
用户将借书证交给借书员,借书员经过审查后将相关信息输入计算机。
数据量:
个日
峰值:
个日
.数据库概念设计
..局部图
下图实体读者的模型图:
下图是实体书籍的模型图:
下图是读者及借阅间的联系借阅的模型图:
..全局图
整个图书管理系统的模型关系图如下所示:
.数据库逻辑设计
..读者信息表的逻辑结构
(,,,,,,,,,,,)
否
编号
否
借书证号(主键)
否
读者姓名
否
已借阅图书数量
否
条形码
否
读者类型
否
书证状态
否
登记日期
否
有效期至
否
性别
否
工作单位
否
电话
..图书信息表的逻辑结构
否
编号
否
图书编号(主键)
否
作者
否
分类号
否
书名
否
图书类型
是
可借数
是
库存数
..借书证表的逻辑结构
否
编号
否
借书证号(主键)
否
已借阅图书数量
否
条形码
否
读者类型
否
书证状态
否
登记日期
否
有效期至
否
性别
否
工作单位
否
电话
.数据库物理设计
..数据表的创建
用户表的创建:
(
(),
(),
(),
()
)
('','','超级用户','否');
('','','普通用户','否');
图书借阅表的创建
(
编号
(),借书证号
(),读者姓名
(),图书编号
(),图书名
(),作者
(),出版社
价格
(),借书日期
(),借书数量
(),操作员
(),借阅时长
()是否超期
()
)
('','','刘星','','网页制作基础','刘备','清华出版社','','','','','','否');
('','','马尔','','程序设计','张清','水电工程出版社','','','','','','否');
('','','刘星','','生活常识','李德奇','清华出版社','','','','','','否');
('','','刘莉','','程序设计','张清','水电工程出版社','','','','','','否');
('','','吴良华','','生活常识','李德奇','清华出版社','','','','','','否');
('','','吴良华','','计算机英语','王城','人邮出版社','','','','','','否');
('','','徐明','','计算机英语','王城','人邮出版社','','','','','','否');
('','','李明卫','','生活常识','李德奇','清华出版社','','','','','','否');
('','','杨欣怡','','程序设计','张清','水电工程出版社','','','','','','否');
读者信息表的创建:
(
编号
(),借书证号
(),读者姓名
已借阅图书数量
()条形码
()读者类型:
代表教师,代表学生
()书证状态
()登记日期
()有效期至
(),性别男女
(),工作单位
()电话
)
('','','刘星','','教师','有效','','','女','培训部','');
('','','刘莉','','教师','有效','','','女','培训部','');
('','','吴良华','','职工','有效','','','男','人事处','');
('','','马尔','','教师','无效','','','男','财务部','');
('','','徐明','','教师','无效','','','男','财务部','');
('','','李明卫','','教师','有效','','','男','学生工作处','');
('','','杨欣怡','','学生','有效','','','女','学生工作处','');
借阅逾期表的创建:
(
(),借书证号
(),读者姓名
(),图书编号
(),图书名
(),作者
(),出版社
价格
(),借书日期
(),借书数量
(),操作员
超期天数
()
)
('','刘星','','网页制作基础','刘备','清华出版社','','','','','');
('','马尔','','程序设计','张清','水电工程出版社','','','','','');
('','刘星','','生活常识','李德奇','清华出版社','','','','','');
('','刘莉','','程序设计','张清','水电工程出版社','','','','','');
('','吴良华','','生活常识','李德奇','清华出版社','','','','','');
('','吴良华','','计算机英语','王城','人邮出版社','','','','','');
('','徐明','','计算机英语','王城','人邮出版社','','','','','');
('','李明卫','','生活常识','李德奇','清华出版社','','','','','');
('','杨欣怡','','程序设计','张清','水电工程出版社','','','','','');
系统日志表的创建:
(
编号
()员工姓名
()身份
()进入时间
()
)
('','','超级用户','');
图书信息表的创建:
(
编号
(),图书编号
()条形码
()分类号
(),图书名
()类型
(),作者
()译者
()码
(),出版社
()版次
()开本
字数
页码
价格
()入馆时间
库存数
可借数
是否流通
)
('','','','','网页制作基础','专业类','刘备','','','清华出版社','第一版','','','','','','','','');
('','','','','程序设计','专业类','张清','','','水电工程出版社','第二版','','','','','','','','');
('','','','','生活常识','其它类','李德奇','','','清华出版社','第一版','','','','','','','','');
('','','','','计算机英语','其它类','王城','','','人邮出版社','第五版','','','','','','','','');
('','','','','简易教程','专业类','吴海波','','','人邮出版社','第二版','','','','','','','','');
('','','','','岁登上健康之门','其它类','洪韶光','','','清华出版社','第一版','','','','','','','','');
('','','','','程序设计','专业类','碧名','','','机械工业出版社','第四版','','','','','','','','');
('','','','','电脑组装及维修','专业类','赵村霞','','','机械工业出版社','第一版','','','','','','','','');
('','','','','读者','其它类','刘志明','','','机械工业出版社','第三版','','','','','','','','');
('','','','','电子电工技术','专业类','李德奇','','','清华出版社','第二版','','','','','','','','');
创建日志表:
(
编号
(),登录用户
(),登录时间
(),操作类型
(),备份路径
)
('','','','数据库还原',':
\');
操作日志表的创建:
(
操作流水号
(),操作类别
(),操作用户
(),图书名称
(),图书编号
()读者卡号
(),读者姓名
(),读者性别
(),借书数量
图书价格
()操作日期
)
('','归还操作','','程序设计','','','杨欣怡','女','','','')
('','借阅操作','','程序设计','','','吴良华','男','','','')
创建预借表:
(
编号
(),图书编号
(),图书名称
(),图书作者
(),读者编号
(),读者姓名
(),读者性别
(),预借数量
图书价格
(),出版社
(),操作用户
()预借时间
)
('','','网页制作基础','刘备','','刘星','男','','','清华出版社','','')
罚款日志表:
(
编号
(),读者编号
(),读者姓名
(),图书名称
()图书编号
(),罚款类型(损坏、超期)
罚款金额
(),交款时间(元)
()操作用户
)
('','','马尔','电子电工技术','','图书损坏','','');
('','','徐明','程序设计','','超期末还','','');
续借信息表的创建:
(
编号
(),借书证号
()读者姓名
()图书编号
()图书名称
()图书作者
()图书出版社
图书价格
()续借时间
()操作员
)
('','','李明卫','','生活常识','李德奇','清华出版社','','','');
出版社信息的创建:
(
编号
()出版社名称
(),地址
(),说明
)
('','机械工业出版社','','');
('','教育科学出版社','','');
('','复旦大学出版社','','');
('','上海外语出版社','','');
('','山东大学出版社','','');
('','东北财经大学出版社','','');
('','北京语言大学出版社','','');
('','高等教育出版社','','');
('','北京师范出版社','','');
('','人民教育出版社','','');
('','人民文学出版社','','');
('','中国人民大学出版社','','');
('','中国轻工业出版社','','');
('','中国大百科出版社','','');
('','中国金融出版社','','');
('','中国对外出版翻译公司','','');
('','中国社会科学出版社','','');
('','中国地图出版社','','');
('','中国电力出版社','','');
('','中国环境科学出版社','','');
('','人民邮电出版社','','');
('','科学出版社','','');
('','人民卫生出版社','','');
('','法律出版社','','');
('','中国水利水电出版社','','');
('','化学工业出版社','','');
('','人民邮电机械工业出版社','','');
('','电子工业出版社','','');
('','世界知识出版社','','');
系统设置表的创建:
(
教师可借书数量
学生可借书数量
(),罚款数目
预借有效天数
()是否打开逾期表
)
(,'','','否');
备忘表的创建:
(
备忘编号
(),当前状态
()备忘时间
()备忘内容
()是否提示
()提示方式
(),是否涉及读者
()备忘添加时间
)
(,'尚未提示','','今天要做好备忘窗体!
','否','一次提醒','吴良华','');
..表中约束,规则的创建
表中规则的创建:
'',''
表中规则的创建:
'',''
表中规则的创建:
'',''
..视图的创建
为了更加详细的查询读者信息特建立以下读者信息视图并使用语句进行查询,代码如下:
*
为了更加详细的查询图书信息特建立以下图书信息视图并使用语句进行查询,代码如下:
*
为了更加详细的查询借阅信息特建立以下借阅信息视图并使用语句进行查询,代码如下:
*
..存储过程的创建
创建名为的存储过程,该过程可查询所有读者信息,代码如下:
*
创建名为的存储过程,该过程可查询所有图书信息,代码如下:
*
创建名为的存储过程,该过程可查询所有借阅信息,代码如下:
*
..触发器的使用
此触发器是建立在表上,进行修改操作。
在有读者有效时间及系统时间进行比较。
如果系统时间大于有效时间即读者已经无效则删除该读者信息代码如下:
(
'''')
()
<()
*
此触发器是建立在表上,进行修改操作。
在可借数及库存数进行比较。
如果可借数大于库存数即图书已不够则不允许借出代码如下:
(
'''')
>
>
*
.数据的测试
..数据插入,修改,删除的测试
插入任意数据到表中的测试:
('','','','','','','','','','','','','','','','','','','')
修改更新表任意一列数据的测试:
''
删除表任意一列的测试:
..存储过程的测试
对的存储过程的测试:
对的存储过程的测试:
对的存储过程的测试:
..触发器的测试:
表中更新的触发器测试:
()
'图书编号已被更改,触发器起到作用'
''
.课程设计总结及心得体会
课程设计中重点讲述了图书管理系统的数据库设计部分,包括结构设计,数据功能模板设计等。
结构设计为整个程序构建了框架,各个表模块实现了各个细节部分。
由于篇幅有限,它可以提供会员查询功能。
若要实际使用,还需要添加和完善很多的功能,如读者信息管理,借阅分析统计等功能。
相信在以后的学习过程中,会进一步完善系统的功能。
.参考文献
[]郑阿奇,刘启芬,顾韵华应用教程.人民邮电出版社
[]李晓黎网络应用系统开发及实例.人民邮电出版社
[]李春葆,曾慧应用系统开发教程.清华大学出版社