题目:基MYSQL图书理系统数库设计
目录
1题目概述 3
2需求分析 3
21功需求 3
22数需求 4
23 数安全约束 4
24 数流图 5
3概设计 6
31 实体联系 6
32 ER图 6
4逻辑结构设计 9
41 数库模型 9
42 数库模型函数赖集 10
5程序设计 12
51图书理系统功模块 12
52模块功描述 12
53数库源代码 13
531数库表设计 13
532数初始化 15
533单表查询 17
534书操作 18
535超期处理 20
536书操作 21
537书籍状态 23
538读者状态 24
6运行环境描述 26
61选择语言 26
611 SQL语言特点 26
612 SQL功特性 26
613 UML语言特点 27
62选择数库 27
7参考文献 28
1题目概述
该校图书馆进行调研时发现图书馆部分工作采手工操作理起效率低师生图书需求意图解够充分时查询类图书存储状况等图书动态调整缓慢利满足师生图书阅需求手工操作存量弊端例素手动操作常造成图书数遗漏误报等
学校图书馆提高理阅效率决定采计算机理图书馆理员交谈知
(1) 学校师生必须图书馆先办理阅证然方阅图书资料
(2) 图书馆书籍原套卡片登记制度现需查询功移植入计算机(然相应必须建立图书登记报废等记录)
(3) 阅图书原手工填写阅单改计算机登记阅
(4) 提供挂失预约综合查询等新功方便读者
(5) 图书馆理需提供定统计功
2需求分析
21功需求
(1)图书理
1 新书入库:新购进图书进行必登记
2图书资料修改:图书数量分类流通馆藏等资料进行修改
3图书查询提供种查询定位图书方法通图书编号类书名作者出版社出版日期等信息查询
(2)读者理
1增加新读者:新读者办理书证读者区分教师学生教师学生阅图书种类数量
2读者资料修改:读者信息进行修改外读者信息进行批量修改书证进行挂失取消挂失证件注销等处理读者未图书时允许注销
3读者资料查询:提供种方法读者信息该读者阅信息进行查询
(3)阅理
1书:根书号书书定阅期限位读者阅数量超允许数量图书阅必须进行必登记通知读者书日期等相关事宜某种原出说明理图书馆藏已完等
2书:超期损坏图书应进行罚款处理
3挂失:丢失图书视书籍进行数量罚款
4预约:根书号已完图书进行预约预约读者证号联系电话址Email等信息进行登记预约图书读者回时作记录便通知理员通知预约读者
5续续次数限制已预约图书允许续
(4)综合查询
综合查询面读者普通读者采种方式图书前库存数量图书容等信息进行查询根书证号阅情况进行查询
(5)统计
1种类图书数量库存等信息进行统计
2种图书定时期阅次数预约次数等信息进行统计
3读者阅情况进行统计
22数需求
(1)图书基数
1银行标识超10汉字
2帐号18位数字银行帐号必须唯
3编号
4ISBN号
5书名:超30汉字
6文种
7作者:止作者规定作者姓名长度超5汉字查询方便作者放属性中
8出版社:超20汉字
9出版日期
10价格
11题词1
12题词2
13题词3
14流通册数
15馆藏册数等
(2)读者基数
1证号:超10位数字
2姓名:超5汉字
3单位:超20汉字
4职务:超3汉字者职务编号代
5卡数等
23 数安全约束
系统安全性求体现数库安全性信息安全性系统台安全性等方面安全性先通视图机制户访问系统授权视图样提供系统数定程度安全性通分配权限设置权限级区操作者数库操作提高数库安全性系统台安全性体现操作系统安全性计算机系统安全性网络体系安全性等方面
数外部互联网络图书馆部局域网中进行流动存储保证程中安全稳定图书馆数安全说防止数传输程中非法复制更改删等达目需开发相应信息理技术建立相应图书馆数信息理系统通保障图书馆软件系统硬件系统安全稳定运行图书馆数服务系统持续工作部数错误外界环境干扰出现中断达保护数安全终目标
24 数流图
(1)图书阅业务流程图:
图21系统数流程图
3概设计
31 实体联系
(1)书籍类(种类编号种类名称)
(2)读者(书证编号读者姓名读者性读者种类登记时期)
(3)书籍(书籍编号书籍名称书籍类书籍作者出版社名称出版日期登记日期否出)
(4)阅(书证编号书籍编号读者书时间)
(5)书(书证编号书籍编号读者书时间)
(6)罚款(书证编号读者姓名书籍编号书籍名称罚款金额阅时间)
32 ER图
根功需求建立实体间关系进实现逻辑结构功图书理信息系统划分实体:书籍类信息实体读者信息实体书籍信息实体阅记录信息实体记录信息实体
(1)书籍类实体ER图:
图31书籍类实体ER图
(2)读者信息实体ER图:
图32 读者信息实体ER图
(3)书籍信息实体ER图:
图33书籍信息实体ER图
(4)阅记录信息实体ER图:
图34阅记录信息实体ER图
(5)记录信息实体ER图:
图35记录信息实体ER图
(6)罚款信息实体ER图:
图36罚款信息实体ER图
(7)总信息实体ER图:
图37总信息实体ER图
4逻辑结构设计
41 数库模型
数字典:
表41 book_style 书籍类信息表
表中列名
数类型
否空
说明
bookstyleno
varchar
Not null(键)
种类编号
bookstyle
Varchar
Not null
种类名称
表42 system_readers读者信息表
表中列名
数类型
否空
说明
readerid
Varchar
Not null(键)
读者书证号
readername
Varchar
Not null
读者姓名
readersex
Varchar
Not null
读者性
readertype
Varchar
Null
读者种类
regdate
Datetime
Null
登记日期
表43 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
否出
表44 borrow_record 阅记录信息表
表中列名
数类型
否空
说明
readerid
Varchar
Not null(外键)
读者阅证编号
bookid
Varchar
Not null(外键)
书籍编号
borrowdate
Varchar
Not null
读者书时间
表45 return_record 记录信息表
表中列名
数类型
否空
说明
readername
Varchar
Not null(外键)
读者阅证编号
readerid
Varchar
Not null(外键)
书籍编号
returndate
Datetime
Not null
读者书时间
表46 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
阅时间
42 数库模型函数赖集
(1) 书籍类关系中种类编号键中函数赖:种类编号→种类名称
书籍类关系中存非属性码部分函数赖传递函数赖关系客户关系属3NF
(2)书籍关系中书籍编号键中函数赖:书籍编号→书籍名称书籍编号→书籍类书籍编号→书籍作者书籍编号→出版社名称书籍编号→出版日期书籍编号→登记日期
书籍关系中存非属性码部分函数赖传递函数赖关系客户关系属3NF
(3)读者关系中读者书证号键中函数赖:读者书证号→读者姓名读者书证号→读者性读者书证号→读者种类读者书证号→登记日期
读者关系中存非属性码部分函数赖传递函数赖关系客户关系属3NF
(4)阅关系中(书证编号书籍编号)键中函数赖:(书证编号书籍编号)→读者书时间
阅关系中存非属性码部分函数赖传递函数赖关系客户关系属3NF
(5) 书关系中(书证编号书籍编号)键中函数赖:(书证编号书籍编号)→读者书时间
书关系中存非属性码部分函数赖传递函数赖关系客户关系属3NF
(6) 罚款关系中书籍编号键中函数赖:书籍编号→书证编号书籍编号→读者姓名书籍编号→书籍名称书籍编号→罚款金额书籍编号→阅时间
罚款关系中存非属性码部分函数赖传递函数赖关系客户关系属3NF
5程序设计
51图书理系统功模块
图51图书理系统功模块
52模块功描述
系统分4模块包括户理模块图书理模块阅理模块信息查询模块
(1)户理模块
户理模块功包括户信息(理员户师生户)新增修
改删查询等功
1新增户书证
面学校年量新入学新生需提供快捷完善户增加功图书理员户注册新进员工分配图书理员账号系统理员负责
2注销户书证
学生毕业时职工离职时单批量删户信息确保图书理系统安全性
3修改户信息
图书馆日常工作中难免发生问题差错会产生错误户信息修改功通账号查找户信息户估息修改项进行修改
4查询功
通户理模块拥查询权限理员查询户理员户信
息般提供通账号姓名出图书者等信息进行查询返回户信息
方便图书理系统统理
(2)图书信息理模块
图书信息理模块包括图书信息录入图书信息修改图书信息删图书信息查询等功
1图书信息录入
新进图书进行图书信息录入单图书录入般图书理员负责图书理员录入图书基信息系统根图书基信息图书分配唯编号实时更新数库方便户查询
2图书信息修改
图书信息修改通输入图书名称图书编号等基信息中项项进行图书信息查修改该图书信息功般图书理员操作
3图书信息删
图书删功通录入图书名称图书编号等基信息中项项进行图书信息查进删该图书信息般拥删权限图书理员操作
(3)阅信息理模块
阅信息理模块包括图书阅图书超期罚款等功
1图书阅
图书阅需审核户信息图书信审核通修改系统数库中图书信息户信息审核通返问错误信息户
2图书
图书时图书理员检查图书否破损否违反图书馆理规例图书期等审核完成修改数库中图书信息户信息完成图书工作
3超期罚款
户阅程中出现超期现象产生超期罚款超期罚款缴纳前户
图书证处锁定状态容许继续阅图书直户解锁户交完罚款实时更新数库
(4)信息査询模块
信息查询模块师生户提供阅信息查询功户通登录查询网站录入户学号返回查询结果中包括阅图书基信息阅时间时间否超期等信息
53数库源代码
531数库表设计
(1)创建书类表
create table book_style
(
bookstyleno varchar(30) primary key
bookstyle varchar(30)
)
(2)创建书库表
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)
)
(3)创建书证表
create table system_readers
(
readerid varchar(9)primary key
readername varchar(9)not null
readersex varchar(2) not null
readertype varchar(10)
regdate datetime
)
(4)创建书记录表
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)
)
(5)创建书记录表
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)
)
(6)创建罚款单表
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)
)
532数初始化
(1)初始化书籍类表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''政治法律')
(2)已图书加入system_books表中
insert into system_books(bookid bookname bookstylenobookauthorbookpubbookpubdate bookindate isborrowed )
values('20161112001''中国易学''1''刘正''中央编译出版社''20150510''20151025''1')
insert into system_books(bookid bookname bookstylenobookauthorbookpubbookpubdate bookindate isborrowed )
values('20161112002''初妆张爱玲''2''陶舒天''新华出版社''20140110''20150526''1')
insert into system_books(bookid bookname bookstylenobookauthorbookpub bookpubdatebookindate isborrowed )
values('20161112003''明成祖传''3''晁中辰''民出版社''20140810''20150527''1')
insert into system_books(bookid bookname bookstylenobookauthorbookpubbookpubdate bookindate isborrowed )
values('20161112004''高等数学''4''李东''重庆学出版社''20140810''20150528''1')
insert into system_books(bookid bookname bookstylenobookauthorbookpub bookpubdatebookindate isborrowed )
values('20161112005''转基解析''5''杨青''河南民出版社''20140110''20150529''1')
insert into system_books(bookid bookname bookstylenobookauthorbookpub bookpubdatebookindate isborrowed )
values('20161112006''铁路选线设计''6''易思蓉''重庆学出版社''20140110''20150530''1')
insert into system_books(bookid bookname bookstylenobookauthorbookpub bookpubdatebookindate isborrowed )
values('20161112007''民事诉讼实务教程''7''秦涛''华东理工学出版社''20140910''20150531''1')
insert into system_books(bookid bookname bookstylenobookauthorbookpub bookpubdatebookindate isborrowed )
values('20161112008''楣月窗''2''程然''四川民出版社''20140910''20150530''1')
(3)已图书证读者加入system_readers表中
insert into system_readers(readeridreadernamereadersexreadertyperegdate)
values('20151101''姬彦雪''女''学生''20150101 1220')
insert into system_readers(readeridreadernamereadersexreadertyperegdate)
values('20151102''郝永宸''男''学生''20150102 1315')
insert into system_readers(readeridreadernamereadersexreadertyperegdate)
values('20151103''新磊''男''学生''20150103 1333')
insert into system_readers(readeridreadernamereadersexreadertyperegdate)
values('20151104''殷娜梅''女''学生''20150104 1201')
insert into system_readers(readeridreadernamereadersexreadertyperegdate)
values('20151105''宋天鸣''男''学生''20150105 1523')
insert into system_readers(readeridreadernamereadersexreadertyperegdate)
values('20111217''石逸轩''男''教师''20150106 1850')
insert into system_readers(readeridreadernamereadersexreadertyperegdate)
values('20111202''孟灵丽''女''教师''20150107 1825')
insert into system_readers(readeridreadernamereadersexreadertyperegdate)
values('M0001''陈慧''女''理''20150110 1620')
(4)添加已书读者记录时已出阅标记置0
insert into borrow_record(bookidreaderidborrowdate)
values('20161112005''20151104''20150711 1220')
update system_books set isborrowed0
where bookid'20161112005' and isborrowed'1'
insert into borrow_record(bookidreaderidborrowdate)
values('20161112008''20151101''20150701 1315')
update system_books set isborrowed0
where bookid'20161112008' and isborrowed'1'
insert into borrow_record(bookidreaderidborrowdate)
values('20161112002''20151102''20150703 1333')
update system_books set isborrowed0
where bookid'20161112002' and isborrowed'1'
insert into borrow_record(bookidreaderidborrowdate)
values('20161112004''20111217''20150711 1201')
update system_books set isborrowed0
where bookid'20161112004' and isborrowed'1'
533单表查询
(1)书籍类表查询演示
查询语句:select * from book_style
图52 表book_style中容
(2)表书库表查询演示
查询语句:select * from system_books
图53 表system_books中容
(3)已图书证读者加入读者表结果查询
查询语句:select * from system_readers
图54 表system_readers中容
(4)书纪录表结果查询
查询语句:select * from borrow_record
图54 表borrow_record中容
534书操作
(1)查询未出书:
查询语句:
select bookid 书籍编号bookname 书籍名称
from system_books
where isborrowed'1'
图55 未出书查询结果
(2)查询已出书:
查询语句:
select bookid 书籍编号bookname 书籍名称
from system_books
where isborrowed'0'
图56 已出书查询结果
(3)新增户书证:
Insert into system_readers(readeridreadernamereadersexreadertyperegdate)
values('20151106''马悦''女''学生'now())
查询语句:
select * from system_readers
where readerid'20151106'
图57 新增户书证查询结果
(4)注销户书证:
注销前执行书程马悦书证纪录删时删马悦纪录容
delete from system_readers where readerid'20151106'
delete from return_record where readerid'20151106'
确认马悦否删
查询语句:
select * from system_readers
where readerid'20151106'
图58 注销户书证查询结果
535超期处理
(1)现已书证读者进行查询书否超期
查询语句(里规定30天):
select system_readersreaderid 读者书证编号readername 读者姓名
system_booksbookid 书籍编号bookname 书名borrowdate 书时间
datediff(now()borrowdate)30
from borrow_record system_readerssystem_books
where system_readersreaderidborrow_recordreaderid
and system_booksbookidborrow_recordbookid
and datediff(now()borrowdate)>30
图59 出超30天读者
(2)超天数读者进行罚款加入罚款单里面天01元扣计算
insert into reader_fee(readeridreadernamebookidbooknamebookfeeborrowdate)
select * from reader_fee
图510 罚款单查询结果
536书操作
(1)首先书书纪录中添加条书纪录
insert into return_record(bookidreaderidreturndate)
select bookidreaderid’20151210’
from borrow_record
where bookid'20161112004'
查询语句:
select * from return_record
图511 增加20161112004纪录
(2)次删相应书阅纪录
delete from borrow_record where bookid'20161112004'
查询语句:
select * from borrow_record
图512 删20161112004记录
(3)书库中标记该书1表示未供读者阅
update system_books set isborrowed1 where bookid'20161112004'
查询语句:
select bookid 书籍编号bookname 书籍名称isborrowed 否出
from system_books
where bookid'20161112004'
图513 标记设'1'
537书籍状态
(1)查询书应类
查询语句:
select distinct bookname 书籍名称bookstyle 书籍类
from book_stylesystem_books
where book_stylebookstylenosystem_booksbookstyleno
图514 书籍应类查询结果
(2)查询文学艺术类书
查询语句:
select distinct bookname 书籍名称bookstyle 书籍类
from book_stylesystem_books
where book_stylebookstylenosystem_booksbookstyleno
and system_booksbookstyleno'2'
图515 文学艺术类书查询结果
(3)查询重庆学出版社出版书:
查询语句:
select distinct bookname 书籍名称bookpub
from book_stylesystem_books
where bookpub'重庆学出版社'
图516 重庆学出版社书查询结果
538读者状态
(1)查询什什书
查询语句:
select readername 读者姓名bookname 书籍名称
from borrow_recordsystem_bookssystem_readers
where system_readersreaderidborrow_recordreaderid
and system_booksbookidborrow_recordbookid
图517 查询结果
(2)指定查询郝永宸什书
查询语句:
select readername 读者姓名bookname 书籍名称
from borrow_recordsystem_bookssystem_readers
where system_readersreaderidborrow_recordreaderid
and system_booksbookidborrow_recordbookid
and readername'郝永宸'
图518 查询结果
6运行环境描述
61选择语言
系统设计中SQL语言UML建模语言
611 SQL语言特点
(1)高度非程化
应SQL语言实现数库编程户需指明完成需告诉编程者需完成务象极降低户工作强度提高数独立性SQL集合方式集中处理批记录须单记录进行操作处理SQL语句包集合作数库输入返回集合作输出该特性SQL输出作条SQL语句输入该性质户集中精力需结果
(2)集成致性
SQL语言集中DDL(数定义)DML(数操作)DQL(数查询)DCL(数控制)等数库常功模块相稳定编程风格SQL语言功贯穿数库生命周期中阶段容具体言关系模式界定数添加新建数库数查找信息刷新数库维护数库重构数库安全性保障等操作求SQL适性强适种类型数库户包括终端户系统理员事务处理员作业工作员等SQL系统提供命令包含查找数包含添加修改删记录添加修改删数象包括数象存取控制保证数库统性标准性
(3)应方式样性
交互式方式:户联机交互式环境SQL语言输入条命令敲回车系统执行条命令显示执行结果谓交互式方式程序式方式:SQL语言嵌入高级语言中(CFORTRAN等)独立组成段SQL批处理程序应程序方式提交系统执行
(4)语言功强
SQL语言介关系代数关系演算间语言时吸取两类语言特点长处着丰富语言功包括:数定义功数查询功数操功数控制功基SQL命令易学易会易掌握DBMS专某项操作提供单独语言相SQL全部务集成单语言成关系型数库通语言SQL语言种户容易掌握语言户性非常受广户喜爱原
612 SQL功特性
通SQL命令够实现功特性:
(1)建立数库表
(2)变换数库变量设置
(3)特定数层级中户授予相应存取权限
(4)数库表建立索引值
(5)修改数库表结构(新建删修改表字段)
(6)够实现信息添加
(7)够实现信息删
(8)够实现信息变更
(9)够实现信息查找
613 UML语言特点
统建模语言(UMLUnifiedModelingLanguage)面象软件标准化建模语言UML简单统特点表达软件设计中动态静态信息目前已成视化建模语言工业标准
UML3素构成:UML基构造块支配构造块放置起规运整语言公机制UML3种基构造块:事物关系图事物模型中具代表性成分抽象包括结构事物类(Class)接口(Interface)协作(Collaboration)例(UseCase)动类(ActiveClass)组件(Component)节点(Node)行事物交互(Interaction)态机(Statemachine)分组事物(包Package)注释事物(注解Note)关系事物结合起包括赖关联泛化实现关系UML考虑系统角度出发定义例图类图象图状态图活动图序列图协作图构件图部署图等9种图图侧面系统进行描述系统模型侧面综合成致整体便系统分析构造
62选择数库
数库(Database)数结构组织存储理数仓库存储结构化危害必冗余数集合提供种应服务产生历史追溯50年前着IT市场发展特20世纪90年代数库理仅体现种户理需数存储理转化成种数理方式数库具种类型简单存储数表进行海量数存储型数系统已广泛目前广泛面象数库模型数库软件产品种DB2MYSQLOracleINFORMIXSybaseSQL ServerPostgreSQLAccess等数库Oracle数库数库领域中领先者世界流行数库台紧密结合网络技术价格非常昂贵适系统微软公司MSSQLMicrosoft Windows操作系统够完美兼容符合数户惯功强购买软件然开销
MYSQL数库型关系型数库理系统已广泛应特网中型企业体积速度快总体拥成低尤开放源码特点中型企业采MYSQL数库特点具扩展性移植性优越稳定性灵活性强数保护功支持型数库关键MYSQL数库户直接网载完全免费产品方面较考虑系统数库选MYSQL数库完全满足校图书理系统需成低减学校资金压力
7 参考文献
[1] 关雪仑 高校图书理系统分析设计[D] 北京邮电学 2012
[2] 宫昌利 图书理系统设计实现[D] 山东学 2009
[3] 李胤葵 浅析图书馆数安全理[J] 智 2010(21)
[4] 吴德萍 图书馆理系统设计开发[D] 电子科技学 2007
[5] 朱瑞 图书馆理信息系统设计实现[D] 华东师范学 2010
[6] 魏松贺丹娜 基MYSQL学生信息理系统数库设计[J] 计算机光盘软
件应 2012(14)
[7] 崔娅萍杨靖新 利 MySql 实现学生信息理系统台数理[J]赤峰
学院学报然科学版201283940
[8] 应吉康黄凛汪华 图书馆系统数库设计研究[J]海华东师范学学报
(然科学版)19944
北jing邮电学
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档