数据库设计关于图书馆管理系统的设计(有完整代码)
更新时间:2023-06-05 15:02:01 阅读量: 实用文档 文档下载
分类编号
《数据库》课程设计
(2008/2009学年第2学期第18-19周)
数据库课程设计任务书
一、目的
1.2.3.
掌握计算机管理信息系统设计的一般方法,主要包括系统分析、系统设计的组织和实施。
关系型数据库管理系统的编程技术,并能独立完成一般小系统的程序设计、调试运行等工作。
培养把所学知识运用到具体对象,并能求出解决方案的能力。
二、任务(任选其一)
A.运用关系型数据库管理系统,实现本院图书馆管理信息系统。具体要求如下:
—图书、资料的登记、注销和查询。
—借书证管理,包括申请、注销借书证,查询借书证持有人等。—借还图书、资料的登记、超期处理,超期拒借等。—图书、资料查询,借、还图书和资料情况查询。
—图书、资料借阅情况的统计分析,拒此作为图书馆图书、资料订够的依据之一。(本项不作为基本要求)
B.运用关系型数据库管理系统,实现服务电话管理系统
向客户现场派技术人员的服务公司可以用服务电话管理系统跟踪客户、员工、工作订单、发票、付款等等。要求:
数据库要存储以下信息:
—客户信息
—客户工需单信息
—完成工需单所需人工—完成工需单所需部件—部件信息—付款信息—雇员信息完成的功能:
—输入/查看客户工需单信息
—输入/查看部件、雇员等其它信息—付款
—打印发票等
三、结果形式
1.设计报告:含E-R图、数据字典、关系模式、关系实例、查询描述、关系代数、SQL
实现的查询语言及查询结果。2.上机实现。
四、考核
1.课程设计态度(20分)。2.递交的书面材料(40分)。3.上机运行情况(40分)
目录
1.问题描述......................................................................................................................................................21.1背景......................................................................................................................................................21.2数据需求..............................................................................................................................................21.3事物需求..............................................................................................................................................31.4关系模式..............................................................................................................................................32.方案图表设计............................................................................................................................................32.1E-R图....................................................................................................................................................32.2数据流程图..........................................................................................................................................82.3数据字典..............................................................................................................................................92.4关系图:............................................................................................................................................113.数据库源代码............................................................................................................................................123.1数据库建立........................................................................................................................................123.2数据初始化........................................................................................................................................144.结果数据处理............................................................................................................................................174.1单表查询............................................................................................................................................174.2超期处理............................................................................................................................................194.3还书操作............................................................................................................................................204.4借书操作............................................................................................................................................224.5书籍状态............................................................................................................................................244.6读者状态............................................................................................................................................245.结束语........................................................................................................................................................265.1课程设计心得.....................................................................................................................................26
1.问题描述
1.1背景
随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,
面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。另一方面,IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。
提高图书管理工作效率,作到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校,社会服务。
1.2数据需求
图书馆管理信息系统需要完成功能主要有:
1.读者基本信息的输入,包括借书证编号、读者姓名、读者性别。
2.读者基本信息的查询、修改,包括读者借书证编号、读者姓名、读者性别等。3.书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称。4.书籍类别信息的查询、修改,包括类别编号、类别名称。
5.书籍库存信息的输入,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、
出版日期、登记日期。
6.书籍库存信息的查询,修改,包括书籍编号、书籍名称、书籍类别、作者姓名、出版
社名称、出版日期登记日期等。
7.借书信息的输入,包括读者借书证编号、书籍编号、借书日期。
8.借书信息的查询、修改,包括借书证编号、读者编号、读者姓名、书籍编号、书籍名
称、借书日期等。
9.还书信息的输入,包括借书证编号、书籍编号、还书日期。
10.还书信息的查询和修改,包括还书读者借书证编号、读者姓名、书籍编号、书籍名
称、借书日期、还书日期等。
11.超期还书罚款输入,还书超出期限包括超出期限还书的读者借书证号,书籍编号,罚
款金额。
12.超期还书罚款查询,删除,包括读者借书证编号、读者姓名、书籍编号、书籍名称,罚款金额等
1.3事物需求
(1)在读者信息管理部分,要求:
a.可以查询读者信息。
b.可以对读者信息进行添加及删除的操作。(2)在书籍信息管理部分,要求:
a.可以浏览书籍信息,要求:
b.可以对书籍信息进行维护,包括添加及删除的操作。(3)在借阅信息管理部分,要求:。
a.可以浏览借阅信息。
b.可以对借阅信息进行维护操作。
(4)在归还信息管理部分,要求:
a.可以浏览归还信息
b.对归还信息可修改维护操作(5)在管理者信息管理部分,要求:
a.显示当前数据库中管理者情况。b.对管理者信息维护操作。(6)在罚款信息管理部分,要求:
a.可以浏览罚款信息b.对罚款信息可以更新
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图:
是否被借
收录时间
出版社
书籍编号
出版时间
书籍信息实体
书籍作者
书籍名称
书籍类别编号
图2-3信息实体E-R图
2.1.4.记录信息实体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
书籍类别设置
D1
D2
书籍类别信息管理
读者登记
D3
读者信息管理
读者信息返回
书籍信息管理书籍登记
书籍信息返回
借阅信息管理超期罚款
D6
图2-72.3数据字典
表2-1
book_sytle书籍类别信息表
表中列名bookstylenobookstyle表2-2
数据类型varcharVarchar
可否为空notnull(主键)notnull
说明种类编号种类名称
system_readers读者信息表格
数据类型varcharvarcharvarcharvarchardatetime
可否为空notnull(主键)notnullnotnullnullnull
说明读者借书证号读者姓名读者性别读者种类登记日期
表中列名readeridreadernamereadersexreadertyperegdate表2-3
system_book书籍信息表
数据类型VarcharVarcharVarcharVarcharVarcharDatetimeDatetimeVarchar
可否为空Notnull(主键)NotnullNotnullNotnullNullNullNullNotNull
说明书籍编号书籍名称书籍类别书籍作者出版社名称出版日期登记日期是否被借出
bookid
表中列名booknamebookstylebookauthorbookpubbookpubdatebookindateisborrowed
表2-4borrow_record借阅记录信息表表中列名readeridbookidborrowdate
数据类型VarcharVarcharVarchar
可否为空Notnull(外主键)Notnull(外主键)
Notnull
说明读者借阅证编号
书籍编号读者借书时间
表2-5return_record借阅记录信息表
数据类型VarcharVarchardatetime
可否为空Notnull(外主键)Notnull(外主键)
Notnull
说明读者借阅证编号
书籍编号读者还书时间
表中列名readernamereaderidreturndate表2-6
reader_fee罚款记录信息表readerid
varcharvarchar
NotnullNotnull
读者借书证编号
读者姓名
readername
bookid
booknamebookfeeborrowdate
varcharvarcharvarchardatetime
Notnull(外主键)
NotnullNotNullNotNull
书籍编号书籍名称罚款金额借阅时间
2.4关系图:
图2-8数据库存表关系图
3.数据库源代码
3.1数据库建立
3.1.1创建数据库USEmasterGO
CREATEDATABASElibrarysystemON
(NAME=librarysystem,
FILENAME='d:\librarysystem.mdf',SIZE=10,
MAXSIZE=50,FILEGROWTH=5)LOGON
(NAME='library',
FILENAME='d:\librarysystem.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('00125415152','计算机组成原理','6','王爱英','清华大学出版社','2001-01-03','2003-11-15','1');insert
intosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)
values('00125415153','计算机组成原理','6','王爱英','清华大学出版社','2001-01-03','2003-11-15','1');insert
intosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)
values('00456456','数据库原理','6','萨师煊','高等教育出版社','2007-07-02','2007-09-15','1');insert
intosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)
values('12215121','C程序设计','6','谭浩强','清华大学出版社','2002-04-02','2004-03-14','1');insert
intosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)
values('9787308020558','计算机体系结构','6','石教英','浙江大学出版社','2004-10-03','2006-11-15','1');insert
intosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)
values('45456141414','数据结构(C语言版)','6','吴伟民,严蔚敏','清华大学出版社','2002-06-28','2004-01-21','1');insert
intosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)
values('5455515','中华历史5000年','1','吴强','北京大学出版社','2005-04-03','2006-05-15','1');insert
intosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)
values('015115','古代埃及','3','赵文华','北京大学出版社','2001-02-02','2002-09-15','1');insert
intosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)
values('1514514','日本文化','1','吴小鹏','北京大学出版社','2002-04-02','2004-03-14','1');insert
intosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)
values('15154656','微观经济学','5','李小刚','北京大学出版社','2000-10-03','2001-11-15','1');insert
intosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)
values('5658','影视文学','4','苏庆东','北京大学出版社','1999-02-28','2000-01-21','1');insertinto
system_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)
values('565800020','探索宇宙奥秘','2','苏庆东','北京大学出版社','1999-02-28','2000-01-21','1');3.2.3将已有图书证的读者加入system_readers表中*/
insertintosystem_readers(readerid,readername,readersex,readertype,regdate)values('X05620207','陈远鹏','男','学生','2005-9-2314:23:56')
insertintosystem_readers(readerid,readername,readersex,readertype,regdate)values('X05620206','陈特','男','学生','2005-09-3013:24:54.623')
insertintosystem_readers(readerid,readername,readersex,readertype,regdate)values('X05620204','赵铭静','女','学生','2005-09-2711:24:54.123')
insertintosystem_readers(readerid,readername,readersex,readertype,regdate)values('X05620202','潘虹','女','学生','2005-09-3013:24:54.473')
insertintosystem_readers(readerid,readername,readersex,readertype,regdate)values('008415','蒋伟','男','教师','2004-04-3009:24:54.478')
insertintosystem_readers(readerid,readername,readersex,readertype,regdate)values('001456','李叶风','女','教师','2004-04-3009:24:54.478')3.2.4添加已借书读者的记录,同时将在已借出的借阅标记置0*/insertintoborrow_record(bookid,readerid,borrowdate)
values('00125415152','X05620202','2007-09-2711:24:54.123')updatesystem_bookssetisborrowed=0
wherebookid='00125415152'
insertintoborrow_record(bookid,readerid,borrowdate)
values('00125415153','X05620206','2007-12-2708:26:51.452')updatesystem_bookssetisborrowed=0
wherebookid='00125415153'andisborrowed='1'insertintoborrow_record(bookid,readerid,borrowdate)values('5455515','X05620207','2007-12-2708:26:51.452')updatesystem_bookssetisborrowed=0
wherebookid='5455515'andisborrowed='1'
insertintoborrow_record(bookid,readerid,borrowdate)values('015115','X05620204','2007-10-2112:11:51.452')updatesystem_bookssetisborrowed=0
wherebookid='015115'andisborrowed='1'
insertintoborrow_record(bookid,readerid,borrowdate)values('15154656','001456','2007-12-2814:11:51.312')updatesystem_bookssetisborrowed=0
wherebookid='15154656'andisborrowed='1'
insertintoborrow_record(bookid,readerid,borrowdate)values('565800020','008415','2007-08-2815:11:31.512')updatesystem_bookssetisborrowed=0
wherebookid='565800020'andisborrowed='1'
4.结果数据处理
4.1单表查询
4.1.1表book_style中查询演示:
图4-1表book_style中内容
4.1.2表system_books中查询演示
:
图4-2表system_books中内容
4.1.3将已有图书证的读者加入system_readers表中结果查询
:
图4-3表system_readers中内容
4.1.4借书纪录表borrow_record结果查询
:
图4-4表borrow_record中内容
4.2超期处理
4.2.1现在对已有借书证的读者进行查询借书是否超期(这里归定30天):说明:当前的getdate()以日期为2008年1月6日计算
图4-4选出借出超过30天的读者
4.2.2同时也可以用语句超过天数的读者进行罚款,加入到罚款单里面,一天以0.3元扣除计算:SQL语言:
insertintoreader_fee(readerid,readername,bookid,bookname,bookfee,borrowdate)selectsystem_readers.readerid读者借书证编号,readername读者姓名,system_books.bookid书籍编号,bookname书名,
0.3*(Datediff(day,convert(smalldatetime,borrowdate),getdate())-30)超过时间天数,borrowdate借书时间fromborrow_record,system_readers,system_bookswheresystem_readers.readerid=borrow_record.readeridandsystem_books.bookid=borrow_record.bookid
andDatediff(day,convert(smalldatetime,borrowdate),getdate())>=30(所影响的行数为3行)
selectreaderid书读者借书证编号,readername读者姓名,bookid书籍编号,bookfee超期罚款fromreader_fee
形成各本书对应的罚款金额,按0.3
元每天算
图4-5查看罚款单
4.3还书操作
4.3.1现在对某一读者进行还书操作:
1.首先还书要在还书纪录中添加一条还书纪录
2.其次删除相应书本的借阅纪录
3.最后在书库中标记该本书为1,表示归还了未借,可供其他读者借阅
说明:学号为X05620207姓名为陈远鹏借阅的565800020书籍编号进行归还。SQL语言:
insertintoreturn_record(bookid,readerid,returndate)selectbookid,readerid,getdate()fromborrow_record
wherebookid='565800020'(所影响的行数为1行)delete
fromborrow_record
wherebookid='565800020'(所影响的行数为1行)updatesystem_bookssetisborrowed=1
wherebookid='565800020'(所影响的行数为1行)
三个表的结果如图:
图4-6增加了565800020
纪录
图4-7565800020这本书在借书纪录里没有了
正在阅读:
建筑设备安装课件第十章04-21
关于成立幼儿园的请示03-31
创卫生城好人事迹材料五篇800字04-04
农业推广学04-29
安徽省社区矫正实施细则10-07
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 设计
- 管理系统
- 图书馆
- 完整
- 代码
- 数据库
- 关于
- 研究显示富钾食物有助预防心脑血管疾病
- 课堂教学转型变革的策略研究(吴亚萍)
- 矿山排土场安全现状评价报告(2)
- 晚会工作人员须知
- 2014年“中国石化-三井化学杯”第八届全国大学生化工设计竞赛设计任务书
- 吉祥天宝分集剧情第14集(共40集)_吉祥天宝剧情介绍_吉祥天宝大结局_吉祥天宝演员表
- 环评单位联系表(乙)
- 2010年国家社科基金民族问题研究立项(88项)
- 华北电力大学杰出校友
- ACS800-RDCU-硬件手册-英文
- 设计思路=绩效考核系统
- 第六师团学校运动场附属设施建设项目
- 2016英国谢菲尔德大学硕士申请条件是什么?
- 2016财政局副局长述职述廉报告
- 雕刻机维修-如何安装type3
- 各部门绩效考核表(好东东)
- 2012雅思阅读模拟练习-2
- 2007年高考语文试题及参考答案(海南卷)
- 2014年马年金铤 金币总公司贺岁金砖
- 石家庄市一个旧厂区新建住宅小区的商业计划书