题 目:图书理系统
班 级 网络班
学 号
姓 名
课程名称 数库应技术
指导教师
二O三年X月
目录
数库课程设计报告书
设计目标
1 掌握计算机理信息系统设计般方法包括系统分析系统设计组织实施
2 关系型数库理系统编程技术独立完成般系统程序设计调试运行等工作
3 培养学知识运具体象求出解决方案力
二 数库存储设计指导思想
数库存储设计数选择中简单系统架构师 DBA 秘密武器
简单时候特定表表空间没选择优 IO 特性总种富验 DBA 拥高超存储技没时间限制非常重表者索引配置存储然样做问题算达设计佳性维护原始象常造成系统理变更加复杂
数库存储设计点动态系统实现目标应该初系统设计部分应该数库运行程中长期进行篇文档简单佳实践描述达目标没性损失
三 务
角色:读者图书馆馆员系统理员基础数:读者信息图书信息操作员信息业务数:书记录登记罚款登记统计数:书籍阅情况统计读者阅情况统计基求:利数库技术完成基础数业务数储存操作数库设计合理
1. 设计报告:含ER图数字典关系模式关系实例查询描述关系代数SQL实现查询语言查询结果
2. 机实现
1问题描述
11背景
着图书馆规模断扩图书数量相应增加关图书种信息量成倍增加面着庞信息量传统工方式理会导致图书馆理混乱力物力浪费图书馆理费增加图书馆负担重影响整图书馆运作控制理必须制定套合理效规范实图书理系统图书资料进行集中统理
方面IT产业Internet获飞速发展计算机应已渗透领域引起信息理革命实现信息动化处理提高处理时性正确性
提高图书理工作效率作信息规范理科学统计快速查询图书馆更学校社会服务
12数需求
图书馆理信息系统需完成功:
1 读者基信息输入包括书证编号读者姓名读者性
2.读者基信息查询修改包括读者书证编号读者姓名读者性等
3.书籍类标准制定类信息输入包括类编号类名称
4.书籍类信息查询修改包括类编号类名称
5.书籍库存信息输入包括书籍编号书籍名称书籍类作者姓名出版社名称出版日期登记日期
6.书籍库存信息查询修改包括书籍编号书籍名称书籍类作者姓名出版社名称出版日期登记日期等
7.书信息输入包括读者书证编号书籍编号书日期
8.书信息查询修改包括书证编号读者编号读者姓名书籍编号书籍名称书日期等
9.书信息输入包括书证编号书籍编号书日期
10.书信息查询修改包括书读者书证编号读者姓名书籍编号书籍名称书日期书日期等
11.超期书罚款输入书超出期限包括超出期限书读者书证号书籍编号罚款金额
12.超期书罚款查询删包括读者书证编号读者姓名书籍编号书籍名称罚款金额等
14关系模式
() 书籍类(种类编号种类名称)
(二) 读者(书证编号读者姓名读者性读者种类登记时期)
(三) 书籍(书籍编号书籍名称书籍类书记作者出版社名称出版日期登记日期)
(四) 阅(书证编号书籍编号读者书时间)
(五) 书(书证编号书籍编号读者书时间)
(六) 罚款(书证编号读者姓名书证编号书籍编号读者书时间)
通关系代数方法进行运算需结果实验结果中
2方案图表设计
21 ER图
根1)实现功设计建立间关系进实现逻辑结构功
图书理信息系统划分实体:书籍类信息实体读者信息实体书籍信息实体阅记录信息实体记录信息实体ER图描述实体
211类实体ER图:
图21类实体ER图
212读者信息实体ER图:
图22 读者信息实体ER图
213信息实体ER图:
信息实体ER图:
图24 记录信息实体ER图
215记录信息实体ER图:
图25记录信息实体ER图
216罚款信息实体ER图:
图26罚款信息实体ER图
216总信息实体ER图:
图27总信息实体ER图
22数流程图
书籍类设置
D5
信息录入 基信息录入
D2
D1
书籍类信息理
读者登记
书籍登记
基信息录入 基信息录入
D3
书籍信息理
读者信息理
D4
阅信息录入
读者信息返回 书籍信息返回
阅信息理
超期罚款
D6
图27系统数流程图
23数字典
表21 book_sytle 书籍类信息表
表中列名
数类型
否空
说明
bookstyleno
varchar
not null(键)
种类编号
bookstyle
Varchar
not null
种类名称
表22 system_readers读者信息表格
表中列名
数类型
否空
说明
readerid
varchar
not null(键)
读者书证号
readername
varchar
not null
读者姓名
readersex
varchar
not null
读者性
readertype
varchar
null
读者种类
regdate
datetime
null
登记日期
表23 system_book书籍信息表
表中列名
数类型
否空
说明
bookid
Varchar
Not null(键)
书籍编号
bookname
Varchar
Not null
书籍名称
bookstyle
Varchar
Not null
书籍类
bookauthor
Varchar
Not null
书籍作者
bookpub
Varchar
Null
出版社名称
bookpubdate
Datetime
Null
出版日期
bookindate
Datetime
Null
登记日期
isborrowed
Varchar
Not Null
否出
表24 borrow_record 阅记录信息表
表中列名
数类型
否空
说明
readerid
Varchar
Not null(外键)
读者阅证编号
bookid
Varchar
Not null(外键)
书籍编号
borrowdate
Varchar
Not null
读者书时间
表25 return_record 阅记录信息表
表中列名
数类型
否空
说明
readername
Varchar
Not null(外键)
读者阅证编号
readerid
Varchar
Not null(外键)
书籍编号
returndate
datetime
Not null
读者书时间
表26 reader_fee 罚款记录信息表
readerid
varchar
Not null
读者书证编号
readername
varchar
Not null
读者姓名
bookid
varchar
Not null(外键)
书籍编号
bookname
varchar
Not null
书籍名称
bookfee
varchar
Not Null
罚款金额
borrowdate
datetime
Not Null
阅时间
24关系图:
图28数库存表关系图
3数库源代码
31数库建立
311创建数库
USE master
go
CREATE DATABASE tangzhangsentsg
ON
(
NAME librarysystem
FILENAME 'c\tangzhangsenlibrarymdf'
SIZE 10
MAXSIZE 50
FILEGROWTH 5
)
LOG ON
(
NAME 'library'
FILENAME 'c\tangzhangsenlibraryldf'
SIZE 5MB
MAXSIZE 25MB
FILEGROWTH 5MB
)
go
312书类表建立
create table book_style
(
bookstyleno varchar(30) primary key
bookstyle varchar(30)
)
313创建书库表
create table system_books
(
bookid varchar(20) primary key
bookname varchar(30) Not null
bookstyleno varchar(30) Not null
bookauthor varchar(30)
bookpub varchar(30)
bookpubdate datetime
bookindate datetime
isborrowed varchar (2)
foreign key (bookstyleno) references book_style (bookstyleno)
)
314书证表建立
create table system_readers
( readerid varchar(9)primary key
readername varchar(9)not null
readersex varchar(2) not null
readertype varchar(10)
regdate datetime
)
315书记录表建立
create table borrow_record
( bookid varchar(20) primary key
readerid varchar(9)
borrowdate datetime
foreign key (bookid) references system_books(bookid)
foreign key (readerid) references system_readers(readerid)
)
316书记录表建立
create table return_record
( bookid varchar(20) primary key
readerid varchar(9)
returndate datetime
foreign key (bookid) references system_books(bookid)
foreign key (readerid) references system_readers(readerid)
)
317罚款单表建立*
create table reader_fee
( readerid varchar(9)not null
readername varchar(9)not null
bookid varchar(20) primary key
bookname varchar(30) Not null
bookfee varchar(30)
borrowdate datetime
foreign key (bookid) references system_books(bookid)
foreign key (readerid) references system_readers(readerid)
)
32数初始化
321书籍类加入表book_style中
insert into book_style(bookstylenobookstyle)values('1''修真说')
insert into book_style(bookstylenobookstyle)values('2''穿越说')
insert into book_style(bookstylenobookstyle)values('3''恐怖说')
insert into book_style(bookstylenobookstyle)values('4''市说')
insert into book_style(bookstylenobookstyle)values('5''科幻说')
insert into book_style(bookstylenobookstyle)values('6''仙侠说')
insert into book_style(bookstylenobookstyle)values('7''言情说')
322已图书加入system_books表中
insert
into system_books(bookid bookname bookstylenobookauthorbookpubbookpubdate bookindate isborrowed )
values('20135678901''飘渺旅''1''萧潜''鲜网''20050901''20130525''1')
insert
into system_books(bookid bookname bookstylenobookauthorbookpubbookpubdate bookindate isborrowed )
values('20135678902''唐男''2''半''新星出版社''20080509''20130526''1')
insert
into system_books(bookid bookname bookstylenobookauthorbookpub bookpubdatebookindate isborrowed )
values('20135678903''鬼吹灯''3''天霸唱''安徽文艺出版社''20070918''20130527''1')
insert
into system_books(bookid bookname bookstylenobookauthorbookpubbookpubdate bookindate isborrowed )
values('20135678904''空姐居日子''4''三十''中国海关出版社''20090408''20130528''1')
insert
into system_books(bookid bookname bookstylenobookauthorbookpub bookpubdatebookindate isborrowed )
values('20135678905''卡徒''5''方想''广西民出版社''20091011''20130529''1')
insert
into system_books(bookid bookname bookstylenobookauthorbookpub bookpubdatebookindate isborrowed )
values('20135678906''蜀山剑侠传''6''珠楼''山西民出版社''19980817''20130530''1')
insert
into system_books(bookid bookname bookstylenobookauthorbookpub bookpubdatebookindate isborrowed )
values('20135678907''笙箫默''7''顾漫''华出版社''20070409''20130531''1')
insert
into system_books(bookid bookname bookstylenobookauthorbookpub bookpubdatebookindate isborrowed )
values('20135678908''步步惊心''2''桐华''民族出版社''20060620''20130530''1')
323已图书证读者加入system_readers表中*
insert into system_readers(readeridreadernamereadersexreadertyperegdate)
values('Q20120401''李雷''男''学生''20130118 1220')
insert into system_readers(readeridreadernamereadersexreadertyperegdate)
values('Q20120402''唐张森''男''学生''20130119 1315')
insert into system_readers(readeridreadernamereadersexreadertyperegdate)
values('Q20120403''韩梅梅''女''学生''20130120 1333')
insert into system_readers(readeridreadernamereadersexreadertyperegdate)
values('Q20120404''露西''女''学生''20130121 1201')
insert into system_readers(readeridreadernamereadersexreadertyperegdate)
values('Q20120405''王强''男''学生''20130122 1523')
insert into system_readers(readeridreadernamereadersexreadertyperegdate)
values('201005''毛正标''男''教师''20130123 1850')
insert into system_readers(readeridreadernamereadersexreadertyperegdate)
values('201006''陆海鹏''男''教师''20130124 1825')
insert into system_readers(readeridreadernamereadersexreadertyperegdate)
values('GL001''李燕玲''女''理''20130101 1620')
324添加已书读者记录时已出阅标记置0*
insert into borrow_record(bookidreaderidborrowdate)
values('20135678901''Q20120401''20130118 1220')
update system_books
set isborrowed0
where bookid'20135678901'
insert into borrow_record(bookidreaderidborrowdate)
values('20135678902''Q20120402''20130119 1315')
update system_books
set isborrowed0
where bookid'20135678902' and isborrowed'1'
insert into borrow_record(bookidreaderidborrowdate)
values('20135678903''Q20120403''20130120 1333')
update system_books
set isborrowed0
where bookid'20135678903' and isborrowed'1'
insert into borrow_record(bookidreaderidborrowdate)
values('20135678904''Q20120404''20130121 1201')
update system_books
set isborrowed0
where bookid'20135678904' and isborrowed'1'
insert into borrow_record(bookidreaderidborrowdate)
values('20135678905''Q20120405''20130122 1523')
update system_books
set isborrowed0
where bookid'20135678905' and isborrowed'1'
insert into borrow_record(bookidreaderidborrowdate)
values('20135678907''201005''20130123 1850')
update system_books
set isborrowed0
where bookid'20135678907' and isborrowed'1'
insert into borrow_record(bookidreaderidborrowdate)
values('20135678908''201006''20130124 1825')
update system_books
set isborrowed0
where bookid'20135678908' and isborrowed'1'
4结果数处理
41单表查询
411表book_style中查询演示
查询语句:select * from book_style
图41 表book_style中容
412表system_books中查询演示
查询语句:select * from system_books
图42 表system_books中容
413已图书证读者加入system_readers表中结果查询
查询语句:select * from system_readers
图43 表system_readers中容
414书纪录表borrow_record结果查询
查询语句:select * from borrow_record
图44 表borrow_record中容
42超期处理
421现已书证读者进行查询书否超期
查询语句:(里定30天)
select system_readersreaderid 读者书证编号readername 读者姓名
system_booksbookid 书籍编号bookname 书名borrowdate 书时间
datediff(dayconvert(smalldatetimeborrowdate)getdate())30 超天数
from borrow_record system_readerssystem_books
where system_readersreaderidborrow_recordreaderid
and system_booksbookidborrow_recordbookid
and datediff(dayconvert(smalldatetimeborrowdate)getdate())>30
说明:前getdate()前时间日期计算
图44 选出出超30天读者
422时语句超天数读者进行罚款加入罚款单里面天03元扣计算
语句
insert into reader_fee(readeridreadernamebookidbooknamebookfeeborrowdate)
select system_readersreaderid 读者书证编号readername 读者姓名
system_booksbookid 书籍编号bookname 书名
003*(Datediff(dayconvert(smalldatetimeborrowdate)getdate())30) 超时间天数
borrowdate 书时间
from borrow_record system_readers system_books
where system_readersreaderidborrow_recordreaderid
and system_booksbookidborrow_recordbookid
and Datediff(dayconvert(smalldatetimeborrowdate)getdate())>30
go
select readerid 书读者书证编号readername 读者姓名
bookid 书籍编号bookfee 超期罚款
from reader_fee
图45查罚款单
43书操作
431现某读者进行书操作
1.首先书书纪录中添加条书纪录
insert into return_record(bookidreaderidreturndate)
select bookidreaderidgetdate()
from borrow_record
where bookid'20135678901'
(1 行受影响)
查询语句:
select bookid 书籍编号readerid 读者书证号returndate 时间
from return_record
图46 增加20135678901纪录
2.次删相应书阅纪录
delete
from borrow_record
where bookid'20135678901'
(1 行受影响)
查询语句:
select bookid 书籍编号readerid 读者书证号borrowdate 时间
from borrow_record
图47 20135678901书书纪录里没
3.书库中标记该书1表示未供读者阅
update system_books
set isborrowed1
where bookid'20135678901'
(1 行受影响)
查询语句:
select bookid 书籍编号bookname 书籍名称isborrowed 否出
from system_books
where bookid'20135678901'
图48 标记设1’
说明:书重新回未出标记1
结果书成功相应表变化罚款单通阅记录表borrow_record中更新
44书操作
441查询未出书:
查询语句:
select bookid 书籍编号bookname 书籍名称
from system_books
where isborrowed'1'
图49
442查询已出书:
查询语句:
select bookid 书籍编号bookname 书籍名称
from system_books
where isborrowed'0'
图410
443申请书证:
Insert into system_readers(readeridreadernamereadersexreadertyperegdate)
values('Q20120406''萌萌''女''学生'getdate())
(1 行受影响)
查询语句:
select * from system_readers
where readerid'Q20120406'
图411
说明:查询相应纪录增加萌萌样读者书证纪录:
444注销书证:
注销前执行书程萌萌书证纪录删时删萌萌纪录容
delete from system_readers where readerid'Q20120406'
Go
delete from return_record where readerid'Q20120406'
(1 行受影响)
(0 行受影响)
确认萌萌否删
查询语句:
select * from system_readers
where readerid'Q20120406'
445查询书应类:
445查询书应类
查询语句:
select distinct bookname 书籍名称bookstyle 书籍类
from book_stylesystem_books
where book_stylebookstylenosystem_booksbookstyleno
图412
45书籍状态
451查询穿越说类书
查询语句
select distinct bookname 书籍名称bookstyle 书籍类
from book_stylesystem_books
where book_stylebookstylenosystem_booksbookstyleno
and system_booksbookstyleno'2'
图413
452查询广西民出版社出版书:
查询语句
select distinct bookname 书籍名称bookpub
from book_stylesystem_books
where bookpub'广西民出版社'
图414
46读者状态
461查询什什书:
查询语句
select readername 读者姓名bookname 书籍名称
from borrow_recordsystem_bookssystem_readers
where system_readersreaderidborrow_recordreaderid
and system_booksbookidborrow_recordbookid
图415
462指定查询唐张森什书:
查询语句
select readername 读者姓名bookname 书籍名称
from borrow_recordsystem_bookssystem_readers
where system_readersreaderidborrow_recordreaderid
and system_booksbookidborrow_recordbookid
and readername'唐张森'
图416
运行环境
系统windowXP Microsoft SQL Server 2005
5结束语
51课程设计心
通次数库课程设计真正达学结合增强数库方面应理解参开发数库系统积累少验实验程中建立数开始灵库设计理念思想更高认识需求分析概念设计逻辑设计ER图表示数字典创建懂少关数库开发程中知识实验中建表关系模式关系代数建立理解SQL语查询语句淋漓致增强数库中应SQL语言灵活性中包括插入删修改查询牵涉表表间联系建外键定义约束项设置逻辑更严密学程中网查少资料设计图书馆理信息系统设计报告鉴语言结构学致创新完成份报告中学学断修改系统更新然达完善系统做步
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档