课程设计报告
课程设计题目图书借阅管理系统
  业:电子商务
班    级:10211122
姓    名:曾祥威
学    号: **********
*****   ***
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),
@出版社 char(30),
@库存量 int,
@借出量 int)
as
insert into B_I values(@书名,@书编号,@价格,@作者,@出版社,@库存量,@借出量)
exec B_I_insert 'Windons CE嵌入式系统','000009','34.5','何倧键','北京航空航天大学出版社','27','12'
select * from B_I
/*..........对图书信息表进行必要的修改...............*/
create procedure B_I_update(
@书编号 char(10),
@价格 numeric(5,2),
@库存量 int,
@借出量 int)
as
update B_I
set 价格=@价格,库存量=@库存量,借出量=@借出量
where 书编号=@书编号
exec B_I_update '000008','51.5','2','11'
select * from B_I
/*...........删除图书信息表的信息.....................*/
create procedure B_I_delete(
@书编号 char(10))
as
delete
from B_I
where 书编号=@书编号
exec B_I_delete '000001'
select * from B_I
/*..........将新信息系插入借书信息表.................*/
create procedure B_B_I_insert(
@书编号 char(10),
@借者姓名 char(10),
@借书日期 datetime,
@还书日期 datetime,
@借书数量 smallint)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。