数据库图书管理系统课程设计.docx

上传人:b****8 文档编号:9914304 上传时间:2023-02-07 格式:DOCX 页数:12 大小:74.80KB
下载 相关 举报
数据库图书管理系统课程设计.docx_第1页
第1页 / 共12页
数据库图书管理系统课程设计.docx_第2页
第2页 / 共12页
数据库图书管理系统课程设计.docx_第3页
第3页 / 共12页
数据库图书管理系统课程设计.docx_第4页
第4页 / 共12页
数据库图书管理系统课程设计.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

数据库图书管理系统课程设计.docx

《数据库图书管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《数据库图书管理系统课程设计.docx(12页珍藏版)》请在冰豆网上搜索。

数据库图书管理系统课程设计.docx

数据库图书管理系统课程设计

课程设计报告

 

课程设计题目:

图书借阅管理系统数据库的设计与实现

 

专业:

软件工程(电子商务)

班级:

10211124

姓名:

王新民

学号:

1021112409

指导教师:

游胜玉

2011年11月31日

实验题目:

图书借阅管理系统数据库的设计与实现

实验时间:

2011.11.27-2011.12.02

实验地点:

软件楼303室

实验目的:

通过本次课程设计让学生能够综合运用所学的关系数据库原理知识解决并能设计一个实际问题,进一步掌握数据库原理的相关理论和数据库的设计实现过程,进一步提高学生的分析问题和解决问题的能力以及学生的动手能力。

实验要求:

设计一个图书借阅管理系统,实现下列功能:

1.图书信息的维护(包括录入,修改和删除);

2.读者信息的维护(包括录入,修改和删除);

3.借阅(借,还)信息的维护(包括借,还信息录入,修改和删除);

实验思路:

1、录入一些图书信息、读者信息和管理员信息;

2、给定借阅信息显示借阅情况

3、按照图书馆的情况进行维护(对图书,读者的信息的修改)

关系模型:

读者(读者学号,读者姓名,读者性别,联系电话,所在系)

图书(书号,书名,作者,出版社,出版日期)

借阅(工作号,书号,读者学号,借书日期,还书日期,是否续借)

读者信息表:

读者学号

读者姓名

读者性别

联系电话

所在系

10211101

司马南

1234567

软件

12011102

安德森

1235436

软件

10211103

艾丝凡

5673434

电子

10211104

阿杜

1234127

英语

10211105

范德

2345678

软件

10211106

范唯

1234877

经管

10211107

李静

9874567

外国语

图书信息表:

1001

数据库

陈城

北京大学出版社

2000-10-21

1002

数学

章年

清华大学出版社

2000-111-21

1003

英语

唐强

人民邮电出版社

2000-06-21

1004

C++

陈好

天津出版社

2002-10-21

1005

死神

唐冰

北京大学出版社

2000-10-12

1006

仙逆

唐少

河北出版社

2000-10-12

1007

大学英语

李国华

上海教育出版社

2000-10-12

借阅表:

书号

读者学号

借书日期

还书日期

是否续借

1003

10211103

2011-11-12

2011-12-21

1001

10211102

2011-11-15

2011-12-21

1002

10211103

2011-11-12

2011-12-21

1005

10211101

2011-10-12

2011-11-21

1007

10211106

2011-07-02

2011-09-21

E-R图

实现过程:

创建数据库:

createdatabase图书

on

(name=图书_data,

filename='d:

\teachdata.mdf',

size=10,

maxsize=50,

filegrowth=5)

logon

(name=图书_log,

filename='d:

\teachdata.ldf',

size=10,

maxsize=50,

filegrowth=5)

创建表:

/*读者表*/

createtable读者

(读者学号varchar(10)notnullprimarykey,

读者姓名varchar(10)notnull,

读者性别varchar

(2)notnull,

联系电话varchar(12),

所在系varchar(20)notnull)

/*管理员表*/

createtable管理员

(工作号varchar(10)notnullprimarykey,

姓名varchar(12)notnull,

性别varchar

(2)notnull,

电话varchar(12),

家庭住址varchar(50))

/*图书表*/

createtable图书

(书号varchar(10)notnullprimarykey,

书名varchar(50)notnull,

作者varchar(12)notnull,

出版社varchar(50),

出版日期datetime)

/*借阅表*/

createtable借阅

(工作号char(10)notnull,

书号varchar(10)notnull,

读者学号char(10)notnull,

借书日期datetimenotnull,

还书日期datetimenotnull,

是否续借char(4)notnull)

创建索引:

createuniqueindex图书索引on图书(书号)

createuniqueindex读者索引on读者(读者学号)

createuniqueindex管理员索引on管理员(工作号)

createuniqueindex借阅索引on借阅(工作号,读者学号,书号)

创建视图:

createview查询_view(读者学号,读者姓名,读者性别,所在系,书名,借书日期)

as

select借阅.读者学号,读者姓名,读者性别,所在系,书名,借书日期

from读者,图书,借阅

where读者.读者学号=借阅.读者学号and借阅.书号=图书.书号

创建触发器:

/*修改读者学号*/

createtrigger读者_修改

on读者

forupdate

asdeclare@old_读者学号varchar(10)

declare@new_读者学号varchar(10)

select@old_读者学号=读者学号fromdeleted

select@new_读者学号=读者学号frominserted

update借阅

set读者学号=@new_读者学号

where读者学号=@old_读者学号

/*删除读者*/

createtrigger读者_删除

on读者

fordelete

as

deletefrom借阅

where读者学号=(select读者学号fromdeleted)

/*修改图书编号*/

createtrigger图书_修改

on图书

forupdate

asdeclare@old_书号varchar(10)

declare@new_书号varchar(10)

select@old_书号=书号fromdeleted

select@new_书号=书号frominserted

update借阅

set书号=@new_书号

where书号=@old_书号

droptrigger图书_删除

/*删除图书*/

createtrigger图书_删除

on图书

fordelete

as

deletefrom借阅

where书号=(select书号fromdeleted)

创建借书本数存储过程:

/*借书统计*/

createprocedureproc_借书本数@读者学号varchar(10)

as

select读者学号,count(*)as借书本数

from借阅

where读者学号=@读者学号

groupby读者学号

相关数据:

insertinto读者

values('10211101','司马南','男','1234567','软件')

insertinto读者

values('10211102','安德森','男','1235436','软件')

insertinto读者

values('10211103','艾丝凡','女','5673434','电子')

insertinto读者

values('10211104','阿杜','男','1234567','英语')

insertinto读者

values('10211105','范德','男','1234567','软件')

insertinto读者

values('10211106','范唯','女','1234877','经管')

insertinto读者

values('10211107','李静','女','9874567','外国语')

insertinto管理员

values('0001','张三','男','2136932','江西')

insertinto管理员

values('0002','李四','女','2143332','上饶')

insertinto管理员

values('0003','王五','男','2133432','九江')

insertinto图书

values('1001','数据库','陈城','北京大学出版社','2000-10-21')

insertinto图书

values('1002','数学','章年','清华大学出版社','2000-11-21')

insertinto图书

values('1003','英语','唐强','人邮电民出版社','2000-06-21')

insertinto图书

values('1004','C++','陈好','天津出版社','2002-10-21')

insertinto图书

values('1005','死神','唐冰','北京大学出版社','2000-10-12')

insertinto图书

values('1006','仙逆','唐少','河北出版社','2000-10-12')

insertinto图书

values('1007','大学英语','李国华','上海教育出版社','2000-10-12')

insertinto借阅

values('0001','1003','10211103','2011-11-12','2011-12-21','否')

insertinto借阅

values('0002','1001','10211102','2011-11-15','2011-12-21','否')

insertinto借阅

values('0001','1002','10211103','2011-11-12','2011-12-21','否')

insertinto借阅

values('0001','1005','10211101','2011-10-12','2011-11-21','否')

insertinto借阅

values('0001','1007','10211107','2011-08-12','2011-10-10','否')

insertinto借阅

values('0003','1004','10211106','2011-07-02','2011-09-21','否')

 

程序测试:

/*查看读者信息*/

select*

from读者

 

/*查看图书*/

select*

from图书

/*查看借阅*/

select*

from借阅

/*查看视图*/

select*

from查询_view

/*查看10211102同学借书本书*/

execproc_借书本数@读者学号='10211102'

/*查看司马南同学借书记录*/

select*

from读者,借阅

where(读者.读者学号=借阅.读者学号)and(读者姓名='司马南')

 

/*图书信息的维护(录入,修改,删除)*/

insertinto图书

values('1008','工程数学','陈冰','北京大学出版社','2004-10-21')

update图书

set书号='1009'

where书名='数据库'

deletefrom图书

where书号='1007'

/*读者信息的维护(录入,修改,删除)*/

insertinto读者

values('10211108','吴德昌','男','1278943','兵器')

update读者

set读者学号='10211111'

where读者姓名='司马南'

deletefrom读者

where读者学号='10211111'

 

实验总结:

经过一个星期的不断编写修改,我的程序虽然还显稚嫩,但已经初具雏形。

程序已基本实现对图书和读者信息的录入,修改和删除。

期间也遇到许多问题,比如对用触发器关联多张表。

以及存储过程的问题,但都在同学的帮助下解决了。

自身也通过同学的帮助更加了解了数据库的编写。

 

实验心得:

有关数据库的心得体会,总的来说,受益匪浅。

在这些天中,我学到了许多关于数据库的知识,关于建库、建表、触发器、存储过程的一系列对自己来说还是新鲜的知识。

也逐渐体会到了这门学科的深奥与庞大。

并且对它产生了浓厚的兴趣,也认真去读书本的知识,并上网查阅了不少资料。

虽然现在懂的还不是很多,但起码会编写一些简单的代码。

并且感觉到创造思维在其中也起到不小的作用。

希望在今后的生活中,SQL能给我更多的帮助。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 卡通动漫

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1