数据库·图书借阅管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告
课程设计题目:图书借阅管理系统
专业:电子商务
班级:10211122
姓名:曾祥威
学号: 1021112208
指导教师: 游胜玉
2011年11月21日27日
软件楼303实验室
一、课题介绍与思路分析
1、实验目的:
通过本次课程设计让学生能够综合运用所学的关系数据库原理知识解决并能设计一个实际问题,进一步掌握数据库原理的相关理论和数据库的设计实现过程,进一步提高学生的分析问题和解决问题的能力以及学生的动手能力。
2、课题描述:
描述:设计一个图书借阅管理系统,实现下列功能:
1.图书信息的维护(包括录入,修改和删除);
2.读者信息的维护(包括录入,修改和删除);
3.借阅(借,还)信息的维护(包括借,还信息录入,修改和删除);
3、实现思路:
由于我所做的是关于图书借阅的一个管理系统,
所以我打算从以下几个方面着手解决这个实验课题:
(1)、确定表的方法
首先:简单分析图书借阅的基本情况
其次:由至上而下的模式简略地画出系统需求分析图
再次:根据系统需求分析逐个画出局部E-R图
接着:分析各个局部E-R图之间的潜在冲突
然后:整合调节E-R图,画出全局E-R图
紧接着:大致列出表,并利用第三范式分析表之间的函数依赖关系
最后:最终确定表
(2)、对数据库代码设计的方法
首先:根据表提供的数据建立数据库的基本表
其次:对基本表插入数据,完成对基本表的完善
再次:根据基本表建立视图(我省略了)、索引(我省略了)、存储过程、触发器
最后:调试并修改,最终完成数据库代码设计
4、参考资料:
(1)、《数据库原理及应用教程(第二版)》陈志泊主编,陈志泊王春玲编著(2)、《SQL Server 2000开发与管理应用实例(中文版)》邹建编著
二、设计与实现过程
1、系统需求分析:
对于图书借阅管理系统的借阅问题,出于
对整体数据库建立的需要,我先做了一个
需求分析。该分析中,我以至上而下的模
式展开,将需求分成若干个子模块,并对
每个进行属性分析。与此同时,考虑到问
题的实际操作性,又将部分模块合并到某
些具体的模块中,比如图书管理模块,我
直接将其放入借书信息和借书管理两模块
中考虑,而不对图书管理这一模块直接考
虑。但是,由于时间有限,所以我干脆
忽略在实际操作中需要考虑的续借模块,
而将续借模块简化后放入借书信息模块中
,这是我设计中的一个瑕癖。
2、E-R 图设计
我分两个步骤完成E-R 图设计
首先完成局部E-R 图,然后完成整体E-R 图设计 <1>
、局部E-R 图设计
(1)、图书信息E-R 图设计:
(2)、借书信息E-R图设计:
(3)、借者信息E-R图设计(4)、还书信息E-R图设计
<2>、整体E-R图设计
实体为:图书信息、借书信息、借者信息、还书信息
联系为:图书信息---借书数量---借书信息、图书信息---还书数量---还书信息借书信息---借阅资格---借者信息、借书信息---是否逾期---还书信息
借者信息---还书日期---还书信息
3、基本表的设计
代码如下:
<1>、图书信息表:
create table B_I --------------B_I全称Book Information,即图书信息(
书名char(30),
书编号char(10),
价格numeric(5,2),
作者char(10),
出版社char(30),
库存量int,
借出量int
)
<2>、借书信息表:
create table B_B_I -------------B_B_I全称Borrow books information,即借书信息(
书编号char(10),
借者姓名char(10),
借书日期datetime,
借书期限datetime,
借书数量smallint,
续借日期datetime,
续借数量smallint
)
<3>、还书信息表:
create table A_B_I ----------------B_A_I全称Also books information,即还书信息(
书编号char(10),
还书日期datetime,
借者姓名char(10)
)
<4>、借者信息表:
create table B_B_P -------------B_B_P全称Borrow books people,即借书人(
借者姓名char(10),
系别char(30),
性别char(2) default'女'
)
4、存储过程及触发器的建立
<1>、存储过程的建立:
/*..........将新信息系插入图书信息表.................*/
create procedure B_I_insert(
@书名char(30),
@书编号char(10),
@价格numeric(5,2),
@作者char(10),