图书馆数据库设计案例doc.docx
《图书馆数据库设计案例doc.docx》由会员分享,可在线阅读,更多相关《图书馆数据库设计案例doc.docx(15页珍藏版)》请在冰点文库上搜索。
![图书馆数据库设计案例doc.docx](https://file1.bingdoc.com/fileroot1/2023-5/5/a0b6b879-aeae-4f0b-8ba1-31bbba21723d/a0b6b879-aeae-4f0b-8ba1-31bbba21723d1.gif)
图书馆数据库设计案例doc
数据库应用举例
图书馆管理系统
编辑单位:
人防一队09风水
参加人员
教员:
蒋成明
领队:
冯云收集:
杨佳鑫汤瑞
编辑:
赵廷洪辅助:
索朗旺堆潘登
一、设计目的………………………………………(4)
二、设计内容………………………………………(5)
三、E--R图…………………………………………(7)
四、设计过程………………………………………(12)
五、数据库实现……………………………………(16)
六、设计总结………………………………………(20)
一、设计目的(需求分析)
为了便于管理员有效管理图书借阅、归还,并详细记录图书借阅与留存以及归还与延期情况,能准确记录读者相关信息,方便图书管理人员管理图书室,为学校建立一个便捷、快速借书系统,需要建立一个系统数据库来存储读者、书籍、借阅信息、管理员以及相关管理员信息。
帮助管理员随时掌握书籍去向和整理书刊,让读者能明确自己的借阅相关信息,使读者能自觉遵守图书馆相关条令,从而保证图书安全和图书馆书籍不丢失,更是利于管理人员管理图书,为需要借阅的读者提供准确的书籍信息。
在日常的图书馆管理中,需要建立一个系统的表格来合理安排管理员相关任务和配置给管理员必要的权限,以方便管理员清楚自己的职责和任务,并能方便学校了解管理员信息。
由于各层管理员不同,在相互交接班或换班时,需要清晰记录更改信息以便于学校对管理员调剂和任派。
图书是图书馆的细胞,每一个读者都应该爱惜图书,不能损坏和弄丢图书,建立一个掌控图书流向的表格,督促读者严格按照图书馆借阅要求借阅图书,而且应该按时归还图书,对于损坏和丢失图书的应该予以相应的处罚。
二、设计内容(概念结构设计)
1、管理员(编号,职称,对应密码,对应权限,所属楼层);
2、楼层(楼层号,图书类别,管理员编号,容纳量);
3、书籍(书号,书名,作者,出版社,总册数,库存量,应属楼层);
4、读者(证号,姓名,联系方式,读者类别,已借图书,未还图书,可借图书数);
5、读者借阅(证号,姓名,已借图书数,越期图书数,越期罚金)
6、读者类别(读者类别,可借书总量,可借书籍数,借书凭证类别,备注);
7、借阅信息(书号,证号,管理员编号,借阅日期,应归还日期,实际归还日期);
设计要求:
1、能方便管理员浏览书籍信息,并对书籍信息进行维护(添加、删除),帮助读者查找所需图书相关信息(库存、能否借);
2、能方便管理员浏览读者信息,并对读者信息进行维护(添加、删除),并在需要管理读者信息时能及时通知读者;
3、显示当前数据库中管理员配置和调剂情况,和图书库存与流向相关信息,为管理员提供便捷服务;
4、能方便管理员浏览借阅信息,并对借阅信息进行维护,及时给读者有关自己的借阅情况;
5、能方便及时学校获取图书借阅与库存信息,清晰明了图书馆运营情况,掌控学校学员学习动向和学习热情;
6、能为保证图书馆图书安全提供有效保证,帮助读者自觉遵守图书馆借阅规则,养成良好的借阅习惯;
三、E-R图(概念结构设计)
图3.1各实体间关系E-R图
图3.2管理员属性E-R图
图3.3楼层属性E-R图
图3.4书籍属性E-R图
图3.5读者类别属性E-R图
图3.6读者属性E-R图
图3.7读者借阅属性E-R图
图3.8借阅信息属性E-R图
四、设计过程(逻辑结构设计)
管理员信息
数据项
数据类型
长度
描述
说明
gbh
char
10
notnull
管理员编号,主码
gzc
varchar
10
unique
职称
gmm
char
10
Notnull
对应密码
gqx
varchar
20
_
对应权限
gsslc
int
_
_
所属楼层
表4.1管理员信息表
楼层
数据项
数据类型
长度
描述
说明
llch
int
_
Notnull
楼层号,主码
ltslb
char
10
Notnull
图书类别
gbh
char
20
Notnull
管理员编号,外码
lrnl
int
_
Notnull
容纳量
表4.2楼层信息表
书籍信息表
数据项
数据类型
长度
描述
说明
ssh
char
20
Notnull
书号,主码
ssm
varchar
20
Notnull
书名
szz
varchar
10
Notnull
作者
scbs
varchar
20
_
出版社
szch
int
_
Notnull
图书总册数
skc
int
_
Notnull
图书库存量
llh
int
_
Notnull
应属楼层,外码
表4.3书籍信息表
读者类别信息表
(1)
数据项
可借图书(本)
可借书时间(天)
借书凭证
备注
教员
6
60
工作证
——
研究生学员
4
30
借书卡
本院
本科学员
3
30
借书卡
本院
外来人员
0
0
无
只可借读
表4.4读者类别信息表
(1)
读者类别信息表
(2)
数据项
数据类型
长度
描述
说明
dlb
varchar
10
Notnull
读者类别,主码
lkjsl
int
——
Notnull
可借书籍数
lpz
varchar
10
——
借书凭证
lbz
varchar
20
——
备注
表4.5读者类别信息表
(2)
读者信息表
数据项
数据类型
长度
描述
说明
dzh
char
20
Notnull
读者证号,主码
dxm
varchar
10
unique
姓名
dlb
char
5
教员、研究生、本科、外来人员
读者类别
dlxfs
int
20
——
联系方式
dyj
varchar
20
——
已借图书
dwhts
varchar
20
——
未还图书
dkjts
int
——
——
可借图书数
表4.6读者信息表
读者借阅信息表
数据项
数据类型
长度
描述
说明
dzh
char
20
Notnull
读者证号,主码
dxm
varchar
10
unique
读者姓名
yjss
int
——
——
已借书数
yqss
int
——
——
越期书数
yqfj
int
——
——
越期罚金
表4.7读者借阅信息表
借阅信息表
数据项
数据类型
长度
描述
说明
ssh
char
20
Notnull
书号,主码
dzh
char
20
Notnull
证号,主码
gbh
char
10
Notnull
管理员编号
jyrq
datetime
——
Notnull
借阅日期
ygh
datetime
——
Notnull
应归还日期
sjgh
datetime
——
Notnull
实际归还日期
表4.8借阅信息表
五、数据库的实现(数据库的实施)
createdatabasetsgglxt**//创建数据库//**
createtablegly**//创建管理员表格//**
(gbhchar(10)uniquenotnull,
gzcvarchar(10)unique,
gmmchar(10)notnull,
gqxvarchar(20),
gsslcint,
primarykey(gbh));**//编号是主码//**
createtablelc**//创建楼层表格//**
(llchintuniquenotnull,
ltslbchar(10)notnull,
gbhchar(10)notnull,
lrnlintnotnull,
primarykey(llch),**//楼层号是主码//**
foreignkey(gbh)referencesgly(gbh));**//管理员编号是外码,鉴于管理员表格//**
createtablesj**//创建书籍表格//**
(sshchar(20)uniquenotnull,
ssmvarchar(20)notnull,
szzvarchar(10)notnull,
scbsvarchar(20),
szcsintnotnull,skcintnotnull,
llchintnotnull,
primarykey(ssh),**//书号是主码//**
foreignkey(llch)referenceslc(llch));**//楼层号是外码,鉴于楼层表格//**
createtablelbxx**//创建类别信息表格//**
(dlbvarchar(10)notnull,
lkjslintnotnull,
lkjsjchar(5)notnull,
lpzvarchar(10),
lbzvarchar(20),
primarykey(dlb));**//类别是主码//**
**//输入类别信息值//**
insertintolbxxvalues
('教员','4','60','工作证','无');
insertintolbxxvalues
('研究生学员','4','30','借书证','本院学员');
insertintolbxxvalues
('本科学员','3','30','借书证','本院学员');
insertintolbxxvalues
('外来人员','0','0','无','只可阅读');
createtabledz**//创建读者表格//**
(dzhchar(20)notnull,
dxmvarchar(10)unique,
dlbvarchar(10)check(dlbin('教员',
'研究生学员','本科学员','外来人员')),
dlxfschar(20),
dyjvarchar(20),dwhtsvarchar(20),
dkjint,primarykey(dzh),**//证号是主码//**
foreignkey(dlb)referenceslbxx(dlb));**//类别是外码,鉴于读者类别表//**
createtabledzjy**//创建读者借阅表格//**
(dzhchar(20)primarykeynotnull,
dxmvarchar(20)unique,
yjssint,
yqssint,
yqfjint,
foreignkey(dzh)referencesdz(dzh));**//读者证号是外码,鉴于读者表格//**
createtablejyxx**//创建借阅信息表格//**
(sshchar(20)notnull,
dzhchar(20)notnull,
gbhchar(10)uniquenotnull,
jyrqdatetimenotnull,
yghdatetimenotnull,
sjghdatetimenotnull,
primarykey(ssh,dzh),**//书号、证号是主码//**
foreignkey(ssh)referencessj(ssh),**//书号鉴于书籍表格//**
foreignkey(dzh)referencesdz(dzh));**//证号鉴于读者表格//**
六、设计总结(心得体会)
此次图书馆管理系统数据库设计,加强和巩固了我们对数据库知识的理解和掌握,并通过实际练习使我们初步理解到创建数据库的途径和所需准备的工作。
任务的完成使我们对掌握和熟练运用数据库打下了坚定的决心,这不仅为我们的学习提供了很好的实践机会,更是锻炼了我们动手和团队合作的能力。
通过从初步的概念结构设计一直到最后数据库的实现,使我们对数据库的设计模式以及施舍的步骤有了真实的认识,更加增进了我们对数据库应用的理解。
创建数据库是一个繁杂而且繁重的任务,这就需要我们团体共同协作,各自努力完成自己的任务,并且帮助团队解决困难,最终才能既快又高效地完成任务。
在活动过程中,通过不断发现问题并解决问题,这样以提升我们处理难题的灵活性和承担压力的忍耐性,为我们今后的学习和生活都走着积极的促进作用。
在以后的学习和训练中,一定会吸取此次宝贵的经验,并认真总结和不断提高自身的基础知识、动手能力。