SQL数据库课程设计学校图书借阅管理系统.docx
《SQL数据库课程设计学校图书借阅管理系统.docx》由会员分享,可在线阅读,更多相关《SQL数据库课程设计学校图书借阅管理系统.docx(15页珍藏版)》请在冰豆网上搜索。
SQL数据库课程设计学校图书借阅管理系统
SQL数据库课程设计--学校图书借阅管理系统
SQL数据库课程设计报告
设计题目:
学校图书借阅管理系统
1.问题描述
2.需求分析
2.1需求调查
2.2系统功能结构
2.3数据流图
4.概念结构设计
3.1局部E-R图
3.2全局E-R图
3.3数据字典
4.逻辑结果设计
4.1逻辑设计的任务和目标
4.2将E-R图装换为关系模式
5.物理结构设计
5.1建立数据表
5.2建立视图
5.3建立触发器
5.4存储过程
6.结论与心得
《数据库系统原理》课程设计报告
1.问题的描述
随着社会的信息量的与日俱增,职场竞争的日趋激烈,越来越多的人更关注知识的积累、能力的培养。
作为信息存储的主要媒体之一图书、数量、规模比以往任何时候都大的多,不论个人还是图书管理部门都需要使用方便而有效的方法来管理自己书籍。
在计算机日益普及的今天,对于个人而言采用一套行之有效的图示管理系统来管理自己的书籍,会方便许多.对于图书馆部门而言,以前单一的手工检索已不能满足人们的要求,为了让便于图书资料的管理要有图书馆软件。
对于日益扩大的图书馆,查找特定的书目总使借阅者或工作人员劳神费力,有事还没有结果。
因为往往是投入了大量的人力和财力却得不到有效的管理效率。
因此我没呢采用数据库技术生成图书馆借阅挂历系统将会极大的方便借阅者并简化图书馆管理人员和工作人员的劳动,使工作人员从繁忙、复杂的工作进入到一个简单,搞笑的工作中。
在此以高校学校图书借阅管理系统的开发过程为背景,全文围绕如何:
实现图书信息、类别、出版社等信息的管理;
实现读者信息、借阅证信息的管理;
实现图书的借阅、续借、归还管理;
实现超期罚款管理、收款管理;
创建触发器,分别实现借书和还书时自动更新图书信息的在册数量;
创建视图查询各种图书的书号、书名、总数和在册数;
创建存储过程查询指定读者借阅图书的情况;
建立数据库相关表之间的参照完整性约束。
来进行系统设计,完善高校图书馆图书借阅系统。
2.需求分析
2.1需求调查
系统的需求分析主要是通过我们对于本校图书馆的观察和了解图书馆的一些管理规则和运行机制,并通过上网搜索有关图书馆管理系统的知识,了解到图书馆的现状,以及管理中的一些问题,并开始系统设计。
每个学校都有图书馆,最初由于图书的数量和种类较少,人工手动管理化比较方便和灵活。
随着社会的发展,图书的数量和种类越来越多,人工手动管理会降低工作的效率,希望建立一个图书管理系统,是为了解决人工手动管理图书信息在实践中的问题,从而达到系统化,规范化,标准化的水平。
该系统的建立不但给管理这带来方便,也节省了工作的时间从而提高了工作的效率。
需求分析是在于弄清用户对于开发数据库应用系统的的确切要求。
数据库设计的第一步是明确数据库的目的和如何使用,也就是说需要从数据库中得到那些信息。
明确目的之后,就可以确定您保存那些主题信息(表),以及每一个主题需要保存那些信息(表中字段)。
2.2系统的功能构造
1.能够存储一定量的图书信息,并方便有效的进行相应的书籍操作和管理,这主要有:
1)、图书信息的录入、删除及修改。
2)、图书信息的多关键子检索查询。
3)、图书出借、返回及超时惩罚等。
2.能对一定数量的读者、管理员进行相应的信息存储与管理,包括:
1)、读者信息的登陆,删除及修改。
2)、管理员信息的增加,删除及修改。
3)、读者资料的统计与查询等。
2.3对于图书馆相关业务的宏观数据流程图
读者丢失赔偿单
超时罚款单
还书处理还书记录单
所还图书单更新图书
借阅处理借书记录单信息
管理员有效借书单
缺书通知单更新后的查询信息单查阅处理图书信息查询结果单
3.概念结构设计
3.1局部E-R图
通过对上面2.3的图书馆相关业务的宏观数据流程图的分析可初步的得到图书馆信息处理的局部E-R图:
1.读者与图书之间的关系
NM借阅读者图书
2.读者与借书记录之间的关系
MN图书续借记录续借读者
借记录
3.读者与归还记录之间的关系
NM4.读者与罚款记录之间的的关系归还图书续借记录读者
借记录NM
读者图书续借记录罚款
借记录
5.图书和图书管理员之间的关系
NM读者罚款管理员
6.图书与管理员之间的关系
NM管理图书管理员
3.2整合上述1~6局部E-R图可进一步的的得到完整的全局E-R图。
具体图示如下:
借阅时间图书编号
归还时间
读者图书卡编号读者姓名借阅图书卡编号
到期时间图书编号图书名称图书续
是否续借借记录借阅时间
图书名称
M图书续归还时间读者姓名借记录读者图书卡编号出版社归还图书编号图书名称读者姓名图书名称读者姓名读者类别入库时间M读借时间剩余数量N读者性别作者
图书续MNMN续借借阅读者图书借记录
读者图书卡编号图书编号借书时间借阅时间NN
最多可借图书书量借读次数
管理读借时间罚款管理惩罚金额
MM超时时间读者图书卡编号
图书续图书管惩罚金额借记录理员图书名称管理员编号
读者姓名管理员姓名图书编号管理员性别
借阅时间
登陆密码
3.3数据字典根据上面全局E-R图建立数据字典
数据项名数据项含义数据类型
ReadIDvarchar读者编号ReadNamevarchar读者姓名ReadSexvarchar读者性别ReadDatevarchar登记时间MaxBorrowvarchar最多可借图书数目MIDvarchar管理员编号MNamevarchar管理员姓名MSexvarchar管理员性别Mpwdvarchar登录密码BookIDvarchar图书编号BookNamevarchar图书名称BookWritevarchar作者
BookPublishvarchar出版社
RestNumvarchar剩余数量StorageTimeDatetime入库时间OutDateDatetime借阅时间RBorrowvarchar是否续借InDateDatetime归还时间YHDateDatetime到期时间(图书馆借
阅在60天以内)
RBTimeVarchar续借次数(不能超过
2次)
RBDateDatetime续借时间
OvertimeDatetime超出时间
Finevarchar惩罚金额
4.逻辑结果设计
4.1逻辑设计的任务和目标
以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用DBMS产品发生关系了,系统逻辑设计的任务就是将概念设计阶段设计好基本E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。
具体内容包括数据组织(将E-R图转换成关系模式、模型优化、数据库模式定义、用户子模式设计)、数据处理(画出系统功能模块图)两大任务。
4.2将E-R图转换为关系模式
实体型转换为关系模式,实体的属性就是关系的属性,实体的码就是关系的码。
对于实体间的联系则有一下不同的情况:
一个m:
n联系装换为一个关系模式。
与该关系相连的各实体的码以及联系本身的属性均转换为关系属性,而关系的码为各实体码的结合。
一个1:
n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。
如果转换为一个独立的关系模式,这与该联系相连的各实体的码一记联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
一个1:
:
1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
三个或三个以上实体间的一个多元联系可以转换为以个关系模式。
与该多元联系相连的各实体的码以及联系本省的属性均转换为关系属性,而关系的码为各实体码的组合。
具体的基恩E-R图向关系模型的转化如下:
读者:
Read(ReadID,ReadName,ReadSex,ReadDate,MaxBorrow,RType)
图书:
Book(BookID,BookName,BookWrite,BookPublish,RBookNum,StorageTime,BType)
管理员:
Manger(MID,MName,MSex,Mpwd)
借阅记录:
Borrow(ReadID,ReadName,BookID,BookName,YHDate,RBorrow,OutDate)
归还记录:
Rent(ReadID,ReadName,BookID,BookName,InDate,OutDate)
续借记录:
RBorrow(ReadID,ReadName,BookID,BookName,RBTime,RBDate,OutDate)
惩罚记录:
Fine(ReadID,BookID,Readname,Bookname,Fine,Overtime,OutData,YHtime,Intime)
5.物理结构设计
数据库的物理结构设计就是为了逻辑数据模型选取一个最适合应用要求的物理结构的过程,主要任务是:
确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构。
5.1建立基本表
根据4.2建立的数据关系模式可建立如下的数据库基本表
5.1.1图书信息表的建立
createtable图书信息表(
BookIDvarchar(20)primarykey,
BookNamevarchar(50)notnull,
BookWritervarchar(30)notnull,
BookPublishvarchar(50)notnull,
RestNumvarchar(10)notnull,
StroageTimedatetime,
BookNumvarchar(10),
BTypevarchar(20),
);
数据库中成功建立基本表的图示:
5.1.2读者信息表的建立
createtable读者信息表(
ReadIDvarchar(20)primarykey,
ReadNamevarchar(50)notnull,
ReadSexvarchar
(2)notnull,
ReadDatedatetime,
MaxBorrowvarchar(10)notnull,
RTypevarchar(20),
);
数据库中成功建立基本表的图示:
5.1.3图书管理员信息表的建立
createtable图书管理员信息表(
MIDvarchar(20)primarykey,
MNamevarchar(50)notnull,
Msexvarchar
(2)notnull,
Mpwdvarchar(10)notnull,
);
数据库中成功建立基本表的图示:
5.1.4图书借阅记录信息表的建立
createtable图书借阅记录信息表(
ReadIDvarchar(20)primarykey,
BookIDvarchar(20)primarykey,
BookNamevarchar(50),
ReadNmevarchar(50),
YHDatedatetimenotnull,
RBorrowvarchar(10)notnull,
Outdatedatetimenotnull,
);
数据库中成功建立基本表的图示
5.1.5图书续借记录信息表的建立
createtable图书续借记录信息表(
ReadIDvarchar(20)primarykey,
BookIDvarchar(20)primarykey,
BookNamevarchar(50),
ReadNmevarchar(50),
RBTimedatetimenotnull,
RBDatedatatimenotnull,
OutDatedatetimenotnull,
);
数据库中成功建立基本表的图示
5.1.6图书归还记录信息表的建立
createtable图书归还记录信息表(
ReadIDvarchar(20)notnull,
BookIDvarchar(20)notnull,
BookNamevarchar(50),
ReadNmevarchar(50),
InDatadatetimenotnull,
Outdatedatetimenotnull,
CONSTRAINTReadIDprimarykey(BookID)
);
数据库中成功建立基本表的图示
5.1.7图书罚款记录信息表的建立
createtable图书罚款记录信息表(
ReadIDvarchar(20)primarykey,
BookIDvarchar(20)primarykey,
ReadNmevarchar(50),
BookNamevarchar(50),
Finevarchar(10)notnull,
Outdatedatetimenotnull,
InDatedatetimenotnull,
YHDatedatetimenotnull,
);
数据库中成功建立基本表的图示
5.1.8关系图
5.2建立视图
创建视图查询各种图书的书号、书名、总数和在册数
图:
企业管理器中创造视图BOOKVIEW
图:
在BOOKVIEW视图查询教科书类型的所有书籍
5.3创建触发器
5.3.1创建触发器实现借书时自动更新图书信息的在册数量
5.3.2创建触发器实现还书时自动更新图书信息的在册数量
5.4存储过程
5.4.1创建存储过程查询指定读者借阅图书的情况:
5.4.2存储过程查询指定读者借阅图书
6.结论与心得
经过这次的数据库程序课程设计,我们感触很深。
往往看似一个简单的问题,做起来却不是那么容易,特别是触发器的相关问题的处理,在失败中一步步摸索。
即使这样,这次的校园图书借阅管理系统并没有做得很好,甚至还有很多地方都存在着不足甚至是错误,在存储过程方面就没有做好。
还是基础不扎实,不能够灵活运用课本知识,还是要不断认真的学习和实践,这样才能更好地运用书本知识,增强我们的个人能力。
在这次设计中,我们既从网上查了资料,也借用了别人的东西,同时也向其他同学进行询问。
通过本次的课程设计,让我们对SQLServer2000有了更深的了解,重新对SQL的创建、修改、删除等的操作有了新的认识,也对这个系统的使用和维护有了新的认识和见解。
我们小组所选择的是设计一个学校图书借阅管理系统,这对于我们来说是一次尝试与创新的过程,也可以说是一次挑战的过程,毕竟以前没做过,缺少经验。
现在利用自己学到的知识设计并制造一个图书管理系统,这本身就是一个知识转化为生产力的过程,因此投入了热情和努力。
在具体的设计与实施中,我们看到并感受到了一个管理系统从无到有的过程,对具体的设计步骤、思路、方法、技巧都有了进一步的了解。
在设计中我们基本能按照规范的方法和步骤进行,实施过程中我们深刻的认识到认真执行管理系统软件标准的重要性,由于我们对管理系统软件相关的标准和规范不太了解,缺少行为操作准则,所以在设计中比较生硬。