学校图书借阅管理系统.docx
《学校图书借阅管理系统.docx》由会员分享,可在线阅读,更多相关《学校图书借阅管理系统.docx(27页珍藏版)》请在冰豆网上搜索。
![学校图书借阅管理系统.docx](https://file1.bdocx.com/fileroot1/2023-4/19/b139c2ee-7f4f-4cd5-bdc8-d6b5da392fe6/b139c2ee-7f4f-4cd5-bdc8-d6b5da392fe61.gif)
学校图书借阅管理系统
东莞理工学院
课程设计
课程名称:
数据库原理与应用
设计题目:
学校图书借阅管理系统
院系名称计算机学院
班级11软件工程1班
学生
学号
组员
指导教师
时间2014年06月30日
1题目
1学校图书借阅管理系统
功能要求:
●实现图书信息、类别、等信息的管理;
●实现读者信息、借阅证信息的管理;
●实现图书的借阅、续借、归还管理;
●实现超期罚款管理、收款管理;
●分别实现借书和还书时自动更新图书信息的在册数量;
●创立视图视图以方便查询各种图书的书号、书名、总数和在册数;
●实现查询指定读者借阅图书的情况;
●建立数据库相关表之间的参照完整性约束。
2需求分析
2.1需求分析
图书信息、借阅证件信息及图书借阅管理是一件非常繁琐但又及其重要的工作,因此有必要开发一个数据库管理系统,用来管理这些信息。
这篇课程设计介绍的就是图书借阅信息管理系统。
系统的具体要求如下所述:
1、能够实现添加图书的时候自动增加在册数
2、能够实现对读者和借书证的管理
3、能够实现借阅和归还图书,并能自动修改图书的在册数量和流通情况
4.对于超过借书期限未归还图书的用户进展罚款
5.能够实现对未超过应归还日期的图书续借
6.对于到达借书上限的读者拒借
7.对于逾期未续借的不予续借
8.能够查询各种图书的条形码、书号、书名、总数和在册数
9.能够查询指定用户的借阅历史
2.2数据字典
Reader
代码
数据类型
初值
主健
外键
注释
R_ID
char(18)
Y
N
号
R_Name
char(10)
N
N
R_Gender
char〔2〕
N
N
性别
R_Unit
char(50)
N
N
所在单位
LibraryCard
代码
数据类型
初值
主健
外键
注释
LC_ID
char(12)
Y
N
借书证号
R_ID
char(18)
N
Y
号
LC_BorrowQuantity
smallint
N
N
可借书数
LC_BorrowingLimit
smallint
N
N
借书期限
Book
代码
数据类型
初值
主健
外键
注释
B_ID
char〔10〕
Y
N
图书条形码
B_ISBN
char〔13〕
N
N
图书标准码
B_Name
char〔50〕
N
N
书名
B_Author
char(10)
N
N
作者
B_Type
char(20)
N
N
图书类别
B_Press
char(20)
N
N
B_Price
float
(2)
N
N
定价
B_RegisteredNumber
smallint
N
N
在册数量
B_State
bit
1
N
N
流通状态1在架可借,0已外借
BorrowBook
代码
数据类型
初值
主健
外键
注释
LC_ID
char(12)
Y
Y
借书证号
B_ID
char〔10〕
Y
Y
图书条形码
BB_BorrowDate
smalldatetime
系统时间
Y
N
借书日期
BB_ShouldReturnDate
smalldatetime
N
N
应归还日期
Renew
代码
数据类型
初值
主健
外键
注释
LC_ID
char(12)
Y
Y
借书证号
B_ID
char〔10〕
Y
Y
图书条形码
BB_BorrowDate
smalldatetime
Y
Y
借书日期
RN_Number
smallint
N
N
续借次数
ReturnBook
代码
数据类型
初值
主健
外键
注释
LC_ID
char(12)
Y
Y
借书证号
B_ID
char〔10〕
Y
Y
图书条形码
BB_BorrowDate
smalldatetime
Y
Y
借书日期
RB_ReturnDate
smalldatetime
N
N
归还日期
Fine
代码
数据类型
初值
主健
外键
注释
LC_ID
char(12)
Y
Y
借书证号
B_ID
char〔10〕
Y
Y
图书条形码
BB_BorrowDate
smalldatetime
Y
Y
借书日期
F_Fine
float
N
N
罚款金额
F_PaymentDate
smallint
N
N
缴款日期
3数据库概念设计
图书实体类E-R图
借书证实体类E-R图
读者实体类E-R图
读者与借书证之间1对1关系
借书证与图书之间的一对多的借阅关系
借书证与图书之间的一对多续借关系
借书证与图书之间的一对多归还关系
完整ER图
4数据库逻辑设计
具体的根本E-R图向关系模型的转化结果如下:
读者(号,,性别,所在单位)
主键:
号
外键:
无
借书证〔借书证号,号,可借书数,借书期限〕
主键:
借书证号
外键:
号
图书〔图书条形码,图书标准码,书名,作者,图书类别,,定价,
在册数量,流通状态〕
主键:
图书条形码
外键:
无
借阅〔借书证号,图书条形码,借书日期,应归还日期〕
主键:
借书证号,图书条形码,借书日期
外键:
借书证号,图书条形码
续借〔借书证号,图书条形码,借书日期,续借次数〕
主键:
借书证号,图书条形码,借书日期
外键:
借书证号,图书条形码,借书日期
归还〔借书证号,图书条形码,借书日期,归还日期〕
主键:
借书证号,图书条形码,借书日期
外键:
借书证号,图书条形码,借书日期
罚款〔借书证号,图书条形码,借书日期,罚款金额,缴款日期〕
主键:
借书证号,图书条形码,借书日期
外键:
借书证号,图书条形码,借书日期
5数据库物理设计
(1)创立数据库
〔2〕创立读者表
〔3〕创立借书证表
(4)创立图书表
〔5〕创立借阅表
(6)创立续借表
〔7〕创立还书表
〔8〕创立罚款表
〔9〕在Book中创立Trg_Book_ins
〔10〕在Book中创立Trg_Book_del
〔11〕在Book中创立Trg_Book_upd
〔12〕在BookBorrowDate中创立v_BorrowDate_ins
(13)在Renew中创立v_Renew_upd
(14)在ReturnBook中创立v_ReturnBook_upd
(15)创立视图v_Book
(16)创立视图v_BorrowSituation
6操作功能实现
〔1〕添加读者
〔2〕修改读者
〔3〕删除读者
〔4〕查询读者
〔5〕添加借书证
〔6〕修改借书证
(7)删除借书证
(8)查询借书证信息
(9)添加图书,并触发trg_Book_ins自动修改在册数
(10)修改图书
(11)修改图书的标准号,并触发trg_Book_upd自动修改在册数
〔12〕删除图书,触发trg_Book_del修改在册数量
〔13〕添加借书记录,触发trg_BookBorrow_ins,自动减少在册数,把记录分别添加到Renew和ReturnBook中
〔14〕续借,触发trg_Renwe_upd,应归还时间
(15)还书,修改系统时间使书逾期归还,触发trg_Return_upd,自动增加在册数,并生成罚款记录
(16)缴清罚款
(17)使用v_Book视图查询图书信息
(18)使用视图v_BorrowSituation查询借阅情况
〔19〕级联修改BorrowBook、Renew、ReturnBook、Fine
(20)级联删除BorrowBook、Renew、ReturnBook、Fine
7总结与体会
首先要建立一个完整的管理系统,就必须明白这个系统所包含的根本容、处理一些怎样的信息等。
最主要的是画出他们的E-R图,便可直观的看出他们关系。
在设计的时候,有时候也会感到没有思路了,或许是只有一点点的头绪,可经过对图的分析和认真观察他们的关系后,便有了新的思路和闪光点。
最后根据自己的整理资料将每一步都运用SQL语言执行出来,并且看以下是否符合结果要求。
我想经过这次课程设计可以更好的将所学知识运用到实际中去。
也让我加深了对数据库知识的认识和了解。
在这次实践设计过程中,我懂得了如何将所学的理论知识运用到实际中去,使得所学的知识能够融会贯穿。
同时,在课程设计过程中,我懂得了许多知识,增加了我对数据库的兴趣,经过这次的数据库程序课程设计,使我了解了更多数据库原理与应用这门课程,对以前不太理解和熟悉的容有更多的掌握,虽然这次的图书借阅管理系统并没有做得很好,甚至还有很多地方都存在着缺乏甚至是错误,在存储过程方面就没有做好,但是还是增强了自己对数据库方面应用的理解,对自己今后参与开发数据库系统积累了不少经历。
归根结底还是根底不扎实,不能够灵活运用课本知识,还是要不断认真的学习和实践,这样才能更好地运用书本知识,增强我们的个人能力。
在整个数据库课程设计的过程中,虽然遇到了很多麻烦,但最后把它做来的时候感觉很有成就感,也让我更加喜欢这门课程了。
总的来说,这次课程设计还算比拟满意,今后还要更加努力!