数据库图书管理系统含代码.docx
- 文档编号:20139803
- 上传时间:2023-04-25
- 格式:DOCX
- 页数:25
- 大小:21.04KB
数据库图书管理系统含代码.docx
《数据库图书管理系统含代码.docx》由会员分享,可在线阅读,更多相关《数据库图书管理系统含代码.docx(25页珍藏版)》请在冰豆网上搜索。
数据库图书管理系统含代码
一.需求描述和系统边界2
二.需求分析2
1.业务需求2
2.功能需求及数据需求分析2
3.业务规则分析3
三.实体集及属性4
四.联系集及E-R图5
五.逻辑数据库设计6
六.数据库编程7
1.创建表7
2.创建触发器10
3.管理员操作10
4.读者操作11
5.管理员对借阅关系的操作12
七.代码实现13
1.输入数据设计13
2.完成借阅、续借、归还的操作设计15
八.模式求精17
九.小结17
精选文档
一.需求描述和系统边界
数据库技术和Internet的飞速发展,使它们已经成为现代信息技术的重要组成部分,是现在计算机信息系统和计算机应用系统的基础和核心。
对于任何一个企业来说,数据是企业重要的资产,如何有效利用这些数据,对于企业发展起着极其重要的作用。
随着我国市场经济的迅速发展和人们生活水平的不断提高,图书馆藏书的数目逐渐增大,这也挑战了图书管理方面的技术,以前的人工管理方式已经不再适应现在的环境,取而代之的是先进的图书管理系统,创建图书管理系统可以让管理人员方便而快捷的进行管理、查询、借阅、录入等工作。
该图书管理系统支持2类用户:
管理员和读者。
读者可以进行借阅、续借、归还和查询书籍等操作,管理员可以完成书籍和读者的增加,删除和修改以及对读者,借阅、续借、归还的确认。
二.需求分析
1.业务需求
图书管理系统的主要业务包括:
包括图书馆内书籍的信息,读者信息,以及借阅信息。
此系统功能分为面向读者和面向管理员两部分,其中读者可以进行借阅、续借、归还和查询书籍等操作,管理员可以完成书籍和读者的增加,删除和
修改以及对读者,借阅、续借、归还的确认。
2.功能需求及数据需求分析
(1)注册管理
管理员注册。
管理员注册时要求填写基本信息,包括管理员编号、姓名、性
别、联系电话、家庭住址。
系统检查所有信息填写正确后管理员注册成功。
读者注册。
读者注册时要求填写基本信息,包括读者编号、姓名、性别、联
系电话、学院等。
系统检查所有信息填写正确后读者注册成功。
(2)图书管理
增加图书信息。
当有新的图书入库时,管理员负责添加图书信息,包括书名、
分类、图书编号、作者、出版社、出版时间、简介等。
图书信息查询。
管理系统需提供方便快捷的方式进行图书检索。
如可以输入
—2
精选文档
指定的关键词进行简单查询,也可以根据书名、分类、图书编号、作者、出版社、出版时间、简介等单一或组合条件进行查询。
图书信息更新及删除。
图书信息发布后,管理员可以随时更新和删除图书信
息。
(3)借阅图书
读者登入图书管理系统之后,将需要的图书的信息输入,可以借阅图书。
由
管理员将图书信息修改为“不在馆”。
(4)续借图书
读者借书之后,一个月后应归还。
如有需要可以续借图书30天。
此操作由
管理员完成。
(5)归还图书
读者将已借图书归还给图书馆时,需要管理员确认信息。
并将图书信息修改
为“在馆”
3.业务规则分析
基于功能需求,通过进一步了解,图书管理业务需求如下:
(1)所有用户均可以搜索图书信息。
但只有管理员可以对图书信息进行修改。
(2)管理员由管理员编号唯一标识。
(3)每位读者由读者编号唯一标识。
(4)图书编号是图书的唯一标识。
(5)借阅图书后需记录图书当前状态包括在馆、不在馆、已归还、未归还、是否续借。
(6)同一图书分类中可以有多本图书,但是每本图书只能在一种个图书分类
中。
—3
精选文档
三.实体集及属性
bookNoclassNobookName
author
publishDate
Book
introductiopublishName
图3-1图书实体集E-R图
adminNo
aPhoneNumber
er
adminNameAdmin
address
aSex
图3-2管理员实体集E-R图
sex
rPhoneNumber
readerName
institute
Reader
readerNo
borrowAdd
图3-3读者实体集E-R图
BookClass
classNoClassName
—4
精选文档
图3-4图书分类实体集E-R图
四.联系集及E-R图
readerName
readerNo
Admin_Reader
n
1
adminNo
aPhoneNumber
er
adminNameAdmin
address
aSex1adminNo
Admin_Book
sex
rPhoneNumber
institute
Reader
borrowAdd
m
readerNo
borrowDate
borrowshouldDate
renewal
bookNo
bookNo
n
n
publishDate
Book
classNo
bookName
author
Classify
introductio
publishName
BookClass
classNo
ClassName
—5
精选文档
五.逻辑数据库设计
表3-1BookClass
属性名称数据类型属性描述
classNovarchar(3)分类编号
ClassNamevarchar(20)分类名称
表3-2Book
属性名称
数据类型
属性描述
bookNo
varchar
(20)
图书编号
classNo
varchar
(3)
分类编号
bookName
varchar
(3)
图书名称
author
varchar
(12)
作者
publishName
varchar
(50)
出版社
publishDate
datetime
出版时间
introduction
varchar
(200)
简介
表3-3Reader
属性名称
数据类型
属性描述
readerNo
varchar
(12)
读者编号
readerName
varchar
(10)
读者姓名
rSex
varchar
(2)
读者性别
rPhoneNumber
varchar
(12)
联系电话
institute
varchar
(20)
学院
effectDate
datetime
生效日期
lostEffectDate
datetime
失效日期
breakRules
char
(2)
违规情况
borrowAdd
int
累计借书
表3-4
Admin
属性名称
数据类型
属性描述
adminNo
varchar
(12)
管理员编号
adminName
varchar
(12)
管理员姓名
aSex
varchar
(2)
管理员性别
aPhoneNumber
varchar
(12)
联系电话
address
varchar
(40)
家庭住址
—6
精选文档
表3-5Borrow
属性名称
数据类型
属性描述
adminNo
varchar
(12)
管理员编号
bookNo
varchar
(20)
图书编号
readerNo
varchar
(12)
读者编号
borrowDate
datetime
结束日期
shouldDate
datetime
应该归还日期
renewal
char
(4)
是否续借
表3-6Admin_Book
属性名称
数据类型
属性描述
adminNo
varchar
(12)
管理员编号
bookNo
varchar
(20)
图书编号
shopTome
datetime
入库时间
inLibrary
char(4)
是否在馆
表3-7Admin_Reader
属性名称
数据类型
属性描述
adminNo
varchar
(12)
管理员编号
readerNo
varchar
(12)
读者编号
bookNo
varchar
(20)
图书编号
brCheck
char(4)
归还确认
六.数据库编程
1.创建表
(1)创建图书分类表BookClass
CREATETABLEBookClass(
classNovarchar(3)notnull,
classNamevarchar(20)null,
CONSTRAINTBookClassPKPRIMARYKEY(classNo)
)
(2)创建图书表Book
—7
精选文档
CREATETABLEBook(
bookNo
varchar(20)
notnull,
classNo
varchar(3)
notnull,
bookName
varchar(50)
notnull,
author
varchar(12)
notnull,
publishName
varchar(50),
publishDate
datetime,
introduction
varchar(200),
CONSTRAINTBookPKPRIMARYKEY(bookNo),
CONSTRAINTBookPK1FOREIGNKEY(classNo)REFERENCESBookClass
(classNo)
)
(3)创建管理员表AdminCREATETABLEAdmin(
adminNo
varchar(12)
notnull,
adminName
varchar(12)
notnull,
aSex
varchar
(2)
notnull,
aPhoneNumbervarchar(12)
null,
address
varchar(40)
null,
CONSTRAINTAdminPKPRIMARYKEY(adminNo)
)
(4)创建读者表ReaderCREATETABLEReader(
readerNo
varchar(12)
notnull,
readerName
varchar(10)
notnull,
rSex
varchar
(2)
notnull,
rPhoneNumbervarchar(12)
null,
institute
varchar(20)
notnull,
effectDate
datetime,
lostEffectDatedatetime,
breakRuleschar
(2),
—8
精选文档
borrowAddint,
CONSTRAINTReaderPKPRIMARYKEY(readerNo)
)
(5)创建借阅表Borrow
CREATETABLEBorrow(
adminNo
varchar(12)
notnull,
bookNo
varchar(20)
notnull,
readerNo
varchar(12)
notnull,
borrowDate
datetime
notnull,
shouldDate
datetime
notnull,
renewal
char(4)
notnull,
CONSTRAINTBorrowPKPRIMARYKEY(adminNo,readerNo,bookNo),CONSTRAINTBorrowPK1FOREIGNKEY(adminNo)REFERENCES
Admin(adminNo),
CONSTRAINTBorrowPK2FOREIGNKEY(readerNo)REFERENCESReader(readerNo),
CONSTRAINTBorrowPK3FOREIGNKEY(bookNo)REFERENCESBook(bookNo),
)
(6)创建管理员_图书表Admin_BookCREATETABLEAdmin_Book(
adminNo
varchar(12)
notnull,
bookNo
varchar(20)
notnull,
shopTime
datetime,
inLibrary
char(4)
CONSTRAINTAdmin_BookPKPRIMARYKEY(adminNo,bookNo),CONSTRAINTAdmin_BookPK1FOREIGNKEY(adminNo)REFERENCES
Admin(adminNo),
)
(7)创建管理员_读者Admin_ReaderCREATETABLEAdmin_Reader(
—9
精选文档
adminNo
varchar(12)
notnull,
readerNo
varchar(12)
notnull,
bookNo
varchar(20)
notnull,
brCheck
char(4)
notnull,
CONSTRAINTAdmin_readerPKPRIMARYKEY(adminNo,readerNo,bookNo),CONSTRAINTAdmin_readerPK1FOREIGNKEY(adminNo)REFERENCES
Admin(adminNo),
CONSTRAINTAdmin_readerPK2FOREIGNKEY(readerNo)REFERENCESReader(readerNo),
CONSTRAINTAdmin_readerPK3FOREIGNKEY(bookNo)REFERENCES
Book(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)注销
—10
精选文档
DELETEFROMAdmin
WHERE(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.读者操作
(1)注册
INSERTINTOReader(readerNo,readerName,rSex,rPhoneNumber,institute,
effectDate,lostEffectDate,breakRules,borrowAdd)
—11
精选文档
VALUES(#readerNo,#readerName,#rSex,#rPhoneNumber,#institute,#effectDate,#lostEffectDate,#breakRules,#borrowAdd)
(2)注销
DELETEReader
WHERE(readerNo=#readerNo)
(3)修改个人信息
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’)
WHERE(bookNo=#bookNo)
UPDATAReader
SET(borrowAdd=borrowAdd+1)
—12
精选文档
WHERE(readerNo=#readerNo)
INSERTINTOAdmin_Reader(adminNo,readerNo,bookNo,brCheck)
VALUES(#adminNo,#readerNo,#bookNo,#brCheck)
②更新续借信息
UPDATEBorrow
SET(renewal=#renewal)
WHERE(adminNo=#adminNoANDreaderNo=#readerNoANDbookNo=#bookNo)
③更新还书信息
UPDATEAdmin_Book
SET(inLibrary=1)
WHERE(bookNo=#bookNo)
UPDATEAdmin_Reader
SET(brCheck=’1’)
WHERE(adminNo=#adminNoANDreaderNo=#readerNoANDbookNo=#bookNo)
七.代码实现
1.输入数据设计
(1)插入图书分类
INSERTINTOBookClass(classNo,className)
VALUES('C01','信息技术教材')
INSERTINTOBookClass(classNo,className)
VALUES('C02','小说')
INSERTINTOBookClass(classNo,className)
VALUES('C03','外语')
INSERTINTOBookClass(classNo,className)
—13
精选文档
VALUES('C04','漫画')
(2)插入管理员
INSERTINTOAdmin(adminNo,adminName,aSex,aPhoneNumber,address)
VALUES('1001','王子','女','012345678','北京')
(3)插入读者
INSERTINTOReader(readerNo,readerName,rSex,rPhoneNumber,institute,effectDate,lostEffectDate,breakRules,borrowAdd)
VALUES('11111','李瑞','男','123456789','软件','2010-09-02','2014-06-30','1','10')
(4)插入图书
INSERTINTOBook(bookNo,classNo,bookName,author,publishName,publishDate,introduction)
VALUES('S1234','C01','数据库系统原
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 图书 管理 系统 代码