SQL数据库图书管理系统完整代码.docx
- 文档编号:12189488
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:34
- 大小:605.68KB
SQL数据库图书管理系统完整代码.docx
《SQL数据库图书管理系统完整代码.docx》由会员分享,可在线阅读,更多相关《SQL数据库图书管理系统完整代码.docx(34页珍藏版)》请在冰豆网上搜索。
SQL数据库图书管理系统完整代码
广西交通职业技术学院信息工程系
作品设计报告书
题目:
《图书管理系统》
班级网络2012-1班
学号20120404026
姓名唐森
课程名称数据库应用技术
指导教师
数据库课程设计报告书
一、设计目标
1.掌握计算机管理信息系统设计的一般方法,主要包括系统分析、系统设计的组织和实施。
2.关系型数据库管理系统的编程技术,并能独立完成一般小系统的程序设计、调试运行等工作。
3.培养把所学知识运用到具体对象,并能求出解决方案的能力。
二、数据库存储设计指导思想
在数据库存储设计的无数选择中,简单是系统架构师和DBA的秘密武器。
简单,有时候就来自于对一个特定的表或表空间没有选择最优I/O特性,总有这么一种可能,一个富有经验的DBA拥有高超的存储技能并可以没有时间限制的去为一个非常重要的表或者索引配置一个存储。
然而这样做的问题是,就算能达到设计的最佳性能,为了维护原始对象,这也经常造成对一个系统的管理变得更加复杂。
好的数据库存储设计的要点是,在一个动态系统上,实现所有目标应该是最初的系统设计的一部分,并应该在数据库运行过程中长期进行。
这篇文档简单的最佳实践描述达到了这些目标并且几乎没有性能损失。
三、任务
角色:
读者、图书馆馆员、系统管理员;基础数据:
读者信息、图书信息、操作员信息;业务数据:
借还书记录登记、罚款登记;统计数据:
书籍借阅情况统计或读者借阅情况统计。
基本要求:
利用数据库技术,完成基础数据和业务数据的储存和操作,数据库设计合理
1.设计报告:
含E-R图、数据字典、关系模式、关系实例、查询描述、关系代数、SQL实现的查询语言及查询结果。
2.上机实现。
1.问题描述
1.1背景
随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。
另一方面,IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。
提高图书管理工作效率,作到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校,社会服务。
1.2数据需求
图书馆管理信息系统需要完成功能主要有:
1.读者基本信息的输入,包括借书证编号、读者姓名、读者性别。
2.读者基本信息的查询、修改,包括读者借书证编号、读者姓名、读者性别等。
3.书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称。
4.书籍类别信息的查询、修改,包括类别编号、类别名称。
5.书籍库存信息的输入,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、登记日期。
6.书籍库存信息的查询,修改,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期登记日期等。
7.借书信息的输入,包括读者借书证编号、书籍编号、借书日期。
8.借书信息的查询、修改,包括借书证编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期等。
9.还书信息的输入,包括借书证编号、书籍编号、还书日期。
10.还书信息的查询和修改,包括还书读者借书证编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期等。
11.超期还书罚款输入,还书超出期限包括超出期限还书的读者借书证号,书籍编号,罚款金额。
12.超期还书罚款查询,删除,包括读者借书证编号、读者姓名、书籍编号、书籍名称,罚款金额等
1.4关系模式
(一)书籍类别(种类编号,种类名称)
(二)读者(借书证编号,读者姓名,读者性别,读者种类,登记时期)
(三)书籍(书籍编号,书籍名称,书籍类别,书记作者,出版社名称,出版日期,登记日期)
(四)借阅(借书证编号,书籍编号,读者借书时间)
(五)还书(借书证编号,书籍编号,读者还书时间)
(六)罚款(借书证编号,读者姓名,借书证编号,书籍编号,读者借书时间)
以上通过关系代数方法的进行运算得到所需要的结果,在实验结果中可以看到。
2.方案图表设计
2.1E-R图
根据1)所要实现的功能设计,可能建立它们之间的关系,进而实现逻辑结构功能。
图书管理信息系统可以划分的实体有:
书籍类别信息实体、读者信息实体、书籍信息实体、借阅记录信息实体,归还记录信息实体。
用E-R图一一描述这些实体。
2.1.1类别实体E-R图:
图2-1类别实体E-R图
2.1.2读者信息实体E-R图:
图2-2读者信息实体E-R图
2.1.3信息实体E-R图:
信息实体E-R图:
图2-4记录信息实体E-R图
2.1.5记录信息实体E-R图:
图2-5记录信息实体E-R图
2.1.6罚款信息实体E-R图:
图2-6罚款信息实体E-R图
2.1.6总的信息实体E-R图:
图2-7总的信息实体E-R图
2.2数据流程图
D5
归还信息录入基本信息录入
D2
D1
基本信息录入基本信息录入
D3
D4
借阅信息录入
读者信息返回书籍信息返回
图2-7系统的数据流程图
2.3数据字典
表2-1 book_sytle书籍类别信息表
表中列名
数据类型
可否为空
说明
bookstyleno
varchar
notnull(主键)
种类编号
bookstyle
Varchar
notnull
种类名称
表2-2 system_readers读者信息表格
表中列名
数据类型
可否为空
说明
readerid
varchar
notnull(主键)
读者借书证号
readername
varchar
notnull
读者姓名
readersex
varchar
notnull
读者性别
readertype
varchar
null
读者种类
regdate
datetime
null
登记日期
表2-3 system_book书籍信息表
表中列名
数据类型
可否为空
说明
bookid
Varchar
Notnull(主键)
书籍编号
bookname
Varchar
Notnull
书籍名称
bookstyle
Varchar
Notnull
书籍类别
bookauthor
Varchar
Notnull
书籍作者
bookpub
Varchar
Null
出版社名称
bookpubdate
Datetime
Null
出版日期
bookindate
Datetime
Null
登记日期
isborrowed
Varchar
NotNull
是否被借出
表2-4 borrow_record借阅记录信息表
表中列名
数据类型
可否为空
说明
readerid
Varchar
Notnull(外主键)
读者借阅证编号
bookid
Varchar
Notnull(外主键)
书籍编号
borrowdate
Varchar
Notnull
读者借书时间
表2-5 return_record借阅记录信息表
表中列名
数据类型
可否为空
说明
readername
Varchar
Notnull(外主键)
读者借阅证编号
readerid
Varchar
Notnull(外主键)
书籍编号
returndate
datetime
Notnull
读者还书时间
表2-6 reader_fee罚款记录信息表
readerid
varchar
Notnull
读者借书证编号
readername
varchar
Notnull
读者姓名
bookid
varchar
Notnull(外主键)
书籍编号
bookname
varchar
Notnull
书籍名称
bookfee
varchar
NotNull
罚款金额
borrowdate
datetime
NotNull
借阅时间
2.4关系图:
图2-8数据库存表关系图
3.数据库源代码
3.1数据库建立
3.1.1创建数据库
USEmaster
go
CREATEDATABASEtangzhangsentsg
ON
(
NAME=librarysystem,
FILENAME='c:
\tangzhangsenlibrary.mdf',
SIZE=10,
MAXSIZE=50,
FILEGROWTH=5
)
LOGON
(
NAME='library',
FILENAME='c:
\tangzhangsenlibrary.ldf',
SIZE=5MB,
MAXSIZE=25MB,
FILEGROWTH=5MB
)
go
3.1.2书本类别表建立
createtablebook_style
(
bookstylenovarchar(30)primarykey,
bookstylevarchar(30)
)
3.1.3创建书库表
createtablesystem_books
(
bookidvarchar(20)primarykey,
booknamevarchar(30)Notnull,
bookstylenovarchar(30)Notnull,
bookauthorvarchar(30),
bookpubvarchar(30),
bookpubdatedatetime,
bookindatedatetime,
isborrowedvarchar
(2),
foreignkey(bookstyleno)referencesbook_style(bookstyleno),
)
3.1.4借书证表建立
createtablesystem_readers
(readeridvarchar(9)primarykey,
readernamevarchar(9)notnull,
readersexvarchar
(2)notnull,
readertypevarchar(10),
regdatedatetime
)
3.1.5借书记录表建立
createtableborrow_record
(bookidvarchar(20)primarykey,
readeridvarchar(9),
borrowdatedatetime,
foreignkey(bookid)referencessystem_books(bookid),
foreignkey(readerid)referencessystem_readers(readerid),
)
3.1.6还书记录表建立
createtablereturn_record
(bookidvarchar(20)primarykey,
readeridvarchar(9),
returndatedatetime,
foreignkey(bookid)referencessystem_books(bookid),
foreignkey(readerid)referencessystem_readers(readerid)
)
3.1.7罚款单表建立*/
createtablereader_fee
(readeridvarchar(9)notnull,
readernamevarchar(9)notnull,
bookidvarchar(20)primarykey,
booknamevarchar(30)Notnull,
bookfeevarchar(30),
borrowdatedatetime,
foreignkey(bookid)referencessystem_books(bookid),
foreignkey(readerid)referencessystem_readers(readerid)
)
3.2数据初始化
3.2.1将书籍类别加入表book_style中
insertintobook_style(bookstyleno,bookstyle)values('1','修真小说')
insertintobook_style(bookstyleno,bookstyle)values('2','穿越小说')
insertintobook_style(bookstyleno,bookstyle)values('3','恐怖小说')
insertintobook_style(bookstyleno,bookstyle)values('4','都市小说')
insertintobook_style(bookstyleno,bookstyle)values('5','科幻小说')
insertintobook_style(bookstyleno,bookstyle)values('6','仙侠小说')
insertintobook_style(bookstyleno,bookstyle)values('7','言情小说')
3.2.2将已有的图书加入system_books表中
insert
intosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)
values('20135678901','飘渺之旅','1','萧潜','鲜网','2005-09-01','2013-05-25','1');
insert
intosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)
values('20135678902','唐朝好男人','2','多一半','新星出版社','2008-05-09','2013-05-26','1');
insert
intosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)
values('20135678903','鬼吹灯','3','天下霸唱','安徽文艺出版社','2007-09-18','2013-05-27','1');
insert
intosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)
values('20135678904','和空姐同居的日子','4','三十','中国海关出版社','2009-04-08','2013-05-28','1');
insert
intosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)
values('20135678905','卡徒','5','方想','广西人民出版社','2009-10-11','2013-05-29','1');
insert
intosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)
values('20135678906','蜀山剑侠传','6','还珠楼主','山西人民出版社','1998-08-17','2013-05-30','1');
insert
intosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)
values('20135678907','何以笙箫默','7','顾漫','朝华出版社','2007-04-09','2013-05-31','1');
insert
intosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)
values('20135678908','步步惊心','2','桐华','民族出版社','2006-06-20','2013-05-30','1');
3.2.3将已有图书证的读者加入system_readers表中*/
insertintosystem_readers(readerid,readername,readersex,readertype,regdate)
values('Q20120401','李雷','男','学生','2013-01-1812:
20')
insertintosystem_readers(readerid,readername,readersex,readertype,regdate)
values('Q20120402','唐张森','男','学生','2013-01-1913:
15')
insertintosystem_readers(readerid,readername,readersex,readertype,regdate)
values('Q20120403','韩梅梅','女','学生','2013-01-2013:
33')
insertintosystem_readers(readerid,readername,readersex,readertype,regdate)
values('Q20120404','露西','女','学生','2013-01-2112:
01')
insertintosystem_readers(readerid,readername,readersex,readertype,regdate)
values('Q20120405','王强','男','学生','2013-01-2215:
23')
insertintosystem_readers(readerid,readername,readersex,readertype,regdate)
values('201005','毛正标','男','教师','2013-01-2318:
50')
insertintosystem_readers(readerid,readername,readersex,readertype,regdate)
values('201006','陆海鹏','男','教师','2013-01-2418:
25')
insertintosystem_readers(readerid,readername,readersex,readertype,regdate)
values('GL001','李燕玲','女','管理','2013-01-0116:
20')
3.2.4添加已借书读者的记录,同时将在已借出的借阅标记置0*/
insertintoborrow_record(bookid,readerid,borrowdate)
values('20135678901','Q20120401','2013-01-1812:
20')
updatesystem_books
setisborrowed=0
wherebookid='20135678901'
insertintoborrow_record(bookid,readerid,borrowdate)
values('20135678902','Q20120402','2013-01-1913:
15')
updatesystem_books
setisborrowed=0
wherebookid='20135678902'andisborrowed='1'
insertintoborrow_record(bookid,readerid,borrowdate)
values('20135678903','Q20120403','2013-01-2013:
33')
updatesystem_books
setisborrowed=0
wherebookid='20135678903'andisborrowed='1'
insertintoborrow_record(bookid,readerid,borrowdate)
values('20135678904','Q20120404','2013-01-2112:
01')
updatesystem_books
setisborrowed=0
wherebookid='20135678904'andisborrowed='1'
insertintoborrow_record(bookid,readerid,borrowdate)
values('20135678905','Q20120405','2013-01-2215:
23')
updatesystem_books
setisborrowed=0
wherebookid='20135678905'andisborrowed='1'
insertintoborrow_record(bookid,readerid,borrowdate)
values('20135678907','201005','2013-01-2318:
50')
updatesystem_books
setisborrowed=0
wherebookid='20135678907'andisborrowed='1'
insertintoborrow_record(bookid,readerid,borrowdate)
values('20135678908','201006','
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 数据库 图书 管理 系统 完整 代码
![提示](https://static.bdocx.com/images/bang_tan.gif)