数据库图书管理系统含代码Word下载.docx
- 文档编号:7083348
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:18
- 大小:113.28KB
数据库图书管理系统含代码Word下载.docx
《数据库图书管理系统含代码Word下载.docx》由会员分享,可在线阅读,更多相关《数据库图书管理系统含代码Word下载.docx(18页珍藏版)》请在冰点文库上搜索。
管理员注册时要求填写基本信息,包括管理员编号、姓名、性别、联系电话、家庭住址。
系统检查所有信息填写正确后管理员注册成功。
读者注册。
读者注册时要求填写基本信息,包括读者编号、姓名、性别、联系电话、学院等。
系统检查所有信息填写正确后读者注册成功。
(2)图书管理
增加图书信息。
当有新的图书入库时,管理员负责添加图书信息,包括书名、分类、图书编号、作者、出版社、出版时间、简介等。
图书信息查询。
管理系统需提供方便快捷的方式进行图书检索。
如可以输入指定的关键词进行简单查询,也可以根据书名、分类、图书编号、作者、出版社、出版时间、简介等单一或组合条件进行查询。
图书信息更新及删除。
图书信息发布后,管理员可以随时更新和删除图书信息。
(3)借阅图书
读者登入图书管理系统之后,将需要的图书的信息输入,可以借阅图书。
由管理员将图书信息修改为“不在馆”。
(4)续借图书
读者借书之后,一个月后应归还。
如有需要可以续借图书30天。
此操作由管理员完成。
(5)归还图书
读者将已借图书归还给图书馆时,需要管理员确认信息。
并将图书信息修改为“在馆”
3.业务规则分析
基于功能需求,通过进一步了解,图书管理业务需求如下:
(1)所有用户均可以搜索图书信息。
但只有管理员可以对图书信息进行修改。
(2)管理员由管理员编号唯一标识。
(3)每位读者由读者编号唯一标识。
(4)图书编号是图书的唯一标识。
(5)借阅图书后需记录图书当前状态包括在馆、不在馆、已归还、未归还、是否续借。
(6)同一图书分类中可以有多本图书,但是每本图书只能在一种个图书分类中。
三.实体集及属性
图3-1图书实体集E-R图
图3-2管理员实体集E-R图
图3-3读者实体集E-R图
图3-4图书分类实体集E-R图
四.联系集及E-R图
五.逻辑数据库设计
表3-1BookClass
属性名称
数据类型
属性描述
classNo
varchar(3)
分类编号
ClassName
varchar(20)
分类名称
表3-2Book
bookNo
图书编号
bookName
图书名称
author
varchar(12)
作者
publishName
varchar(50)
出版社
publishDate
datetime
出版时间
introduction
varchar(200)
简介
表3-3Reader
readerNo
读者编号
readerName
varchar(10)
读者姓名
rSex
varchar
(2)
读者性别
rPhoneNumber
联系电话
institute
学院
effectDate
生效日期
lostEffectDate
失效日期
breakRules
char
(2)
违规情况
borrowAdd
int
累计借书
表3-4Admin
adminNo
管理员编号
adminName
管理员姓名
aSex
管理员性别
aPhoneNumber
address
varchar(40)
家庭住址
表3-5Borrow
borrowDate
结束日期
shouldDate
应该归还日期
renewal
char(4)
是否续借
表3-6Admin_Book
shopTome
入库时间
inLibrary
是否在馆
表3-7Admin_Reader
brCheck
归还确认
六.数据库编程
1.创建表
(1)创建图书分类表BookClass
CREATETABLEBookClass(
classNovarchar(3)notnull,
classNamevarchar(20)null,
CONSTRAINTBookClassPKPRIMARYKEY(classNo)
)
(2)创建图书表Book
CREATETABLEBook(
bookNovarchar(20)notnull,
bookNamevarchar(50)notnull,
authorvarchar(12)notnull,
publishNamevarchar(50),
publishDatedatetime,
introductionvarchar(200),
CONSTRAINTBookPKPRIMARYKEY(bookNo),
CONSTRAINTBookPK1FOREIGNKEY(classNo)REFERENCESBookClass(classNo)
(3)创建管理员表Admin
CREATETABLEAdmin(
adminNovarchar(12)notnull,
adminNamevarchar(12)notnull,
aSexvarchar
(2)notnull,
aPhoneNumbervarchar(12)null,
addressvarchar(40)null,
CONSTRAINTAdminPKPRIMARYKEY(adminNo)
(4)创建读者表Reader
CREATETABLEReader(
readerNovarchar(12)notnull,
readerNamevarchar(10)notnull,
rSexvarchar
(2)notnull,
rPhoneNumbervarchar(12)null,
institutevarchar(20)notnull,
effectDatedatetime,
lostEffectDatedatetime,
breakRuleschar
(2),
borrowAddint,
CONSTRAINTReaderPKPRIMARYKEY(readerNo)
(5)创建借阅表Borrow
CREATETABLEBorrow(
borrowDatedatetimenotnull,
shouldDatedatetimenotnull,
renewalchar(4)notnull,
CONSTRAINTBorrowPKPRIMARYKEY(adminNo,readerNo,bookNo),
CONSTRAINTBorrowPK1FOREIGNKEY(adminNo)REFERENCESAdmin(adminNo),
CONSTRAINTBorrowPK2FOREIGNKEY(readerNo)REFERENCESReader(readerNo),
CONSTRAINTBorrowPK3FOREIGNKEY(bookNo)REFERENCESBook(bookNo),
(6)创建管理员_图书表Admin_Book
CREATETABLEAdmin_Book(
shopTimedatetime,
inLibrarychar(4)
CONSTRAINTAdmin_BookPKPRIMARYKEY(adminNo,bookNo),
CONSTRAINTAdmin_BookPK1FOREIGNKEY(adminNo)REFERENCESAdmin(adminNo),
(7)创建管理员_读者Admin_Reader
CREATETABLEAdmin_Reader(
brCheckchar(4)notnull,
CONSTRAINTAdmin_readerPKPRIMARYKEY(adminNo,readerNo,bookNo),
CONSTRAINTAdmin_readerPK1FOREIGNKEY(adminNo)REFERENCESAdmin(adminNo),
CONSTRAINTAdmin_readerPK2FOREIGNKEY(readerNo)REFERENCESReader(readerNo),
CONSTRAINTAdmin_readerPK3FOREIGNKEY(bookNo)REFERENCESBook(bookNo)
2.创建触发器
CreateTriggerRENEW
OnBorrow
forUpdate
As
IfUpdate(renewal)
begin
UpdateBorrow
SetshouldDate=shouldDate+30
WhereadminNo=1001
end
3.管理员操作
(1)注册
INSERTINTOAdmin(adminNo,adminName,aSex,aPhoneNumber,address)
VALUES(#adminNo,#adminName,#aSex,#aPhoneNumber,#address)
(2)注销
DELETEFROMAdminWHERE(adminNo=#adminNo);
(3)修改个人信息
UPDATEAdmin
SET(adminNo=#adminNo,adminName=#adminName,aSex=#aSex,aPhoneNumber#aPhoneNumber,address#address);
(4)增加图书
INSERTINTOBook(bookNo,classNo,bookName,author,publishName,publishDate,introduction)
VALUES(#bookNo,#classNo,#bookName,#author,#publishName,#publishDate,#introduction)
(5)删除图书
DELETEFROMBook
WHERE(bookNo=#bookNo)
(6)修改图书信息
UPDATEBook(bookNo=#bookNo,classNo=#classNo,bookName=#bookName,author=#author,publishName=#publishName,publishDate=#publishDate,introduction=#introduction)
(7)增加图书分类
INSERTINTOBookClass(classNo,className)
VALUES(#classNo,#className)
(8)删除图书分类
DELETEFROMBookClass
WHERE(classNo=#classNo)
(9)更新图书分类
UPDATEBookClass(classNo=#classNo,className=#className)
4.读者操作
INSERTINTOReader(readerNo,readerName,rSex,rPhoneNumber,institute,effectDate,lostEffectDate,breakRules,borrowAdd)
VALUES(#readerNo,#readerName,#rSex,#rPhoneNumber,#institute,#effectDate,#lostEffectDate,#breakRules,#borrowAdd)
DELETEReader
WHERE(readerNo=#readerNo)
UPDATEReader
SET(readerNo=#readerNo,readerName=#readerName,rSex=#rSex,rPhoneNumber=#rPhoneNumber,institute=#institute,effectDate=#effectDate,lostEffectDate=#lostEffectDate,breakRules=#breakRules,borrowAdd=#borrowAdd)
(4)查询
SELECT*FROMBook
WHEREbookNo=#bookNoORbookName=#bookName
5.管理员对借阅关系的操作
(1)插入读者的信息
INSERTINTOBorrow(adminNo,bookNo,readerNo,borrowDate,shouldDate,renewal)
VALUES(#adminNo,#bookNo,#readerNo,#borrowDate,#shouldDate,#renewal)
(2)更新信息
①更新借出信息
UPDATEBorrow
SET(borrowDate=#borrowDate,shouldDate=shouldDate+30,renewal=’0’)
WHERE(adminNo=#adminNoANDreaderNo=#readerNoANDbookNo=#bookNo)
UPDATEAdmin_Book
SET(inLibrary=’0’)
UPDATAReader
SET(borrowAdd=borrowAdd+1)
INSERTINTOAdmin_Reader(adminNo,readerNo,bookNo,brCheck)
VALUES(#adminNo,#readerNo,#bookNo,#brCheck)
②更新续借信息
SET(renewal=#renewal)
③更新还书信息
SET(inLibrary=1)
UPDATEAdmin_Reader
SET(brCheck=’1’)WHERE(adminNo=#adminNoANDreaderNo=#readerNoANDbookNo=#bookNo)
七.代码实现
1.输入数据设计
(1)插入图书分类
VALUES('
C01'
'
信息技术教材'
C02'
小说'
C03'
外语'
C04'
漫画'
(2)插入管理员
1001'
王子'
女'
,'
北京'
(3)插入读者
INSERTINTOReader(readerNo,readerName,rSex,rPhoneNumber,institute,
effectDate,lostEffectDate,breakRules,borrowAdd)
11111'
李瑞'
男'
软件'
2010-09-02'
2014-06-30'
1'
10'
(4)插入图书
S1234'
数据库系统原理与设计'
万常选'
清华大学出版社'
2009-03-05'
数据库教程'
S1235'
JAVA'
吴京'
2007-05-07'
JAVA基础教程'
S1236'
红楼梦'
曹雪芹'
2009-09-04'
中国四大名着之一'
S1237'
英语写作'
刘平惠'
浙江大学出版社'
2006-10-21'
基础英语写作教程'
S1238'
最漫画'
郭敬明'
长江出版社'
2011-03-17'
漫画连载'
(5)插入管理员_书籍表
INSERTINTOAdmin_Book(adminNo,bookNo,shopTime,inLibrary)
2010-7-7'
0'
2008-7-8'
(6)插入借阅信息
2012-6-1'
2010-7-1'
2.完成借阅、续借、归还的操作设计
假设读者想借书籍名为《JAVA》且不知道bookNo
(1)借阅操作如下:
if((selectbookNamefromBookwherebookNo='
)='
2012-6-8'
2012-7-8'
SETinLibrary='
WHEREbookNo='
SETborrowAdd=borrowAdd+1
WHEREreaderNo='
print'
借阅成功!
'
else
借阅失败!
(2)续借操作如下:
if((SELECTrenewal
FROMBorrow
WHEREadminNo='
ANDreaderNo='
ANDbookNo='
SETrenewal='
1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 图书 管理 系统 代码