数据库课程设计图书管理信息系统大学论文.docx
《数据库课程设计图书管理信息系统大学论文.docx》由会员分享,可在线阅读,更多相关《数据库课程设计图书管理信息系统大学论文.docx(24页珍藏版)》请在冰豆网上搜索。
![数据库课程设计图书管理信息系统大学论文.docx](https://file1.bdocx.com/fileroot1/2022-10/29/7ee73dab-db78-4255-aacc-b39ab09e6e03/7ee73dab-db78-4255-aacc-b39ab09e6e031.gif)
数据库课程设计图书管理信息系统大学论文
目录
1.设计题目1
2.设计目的1
3.设计任务1
4.设计准备1
4.1系统准备1
4.2知识准备1
5.系统分析2
6.系统设计2
6.1系统体系结构设计2
6.2系统功能模块设计3
6.3数据库设计3
7.系统实现8
7.1功能模块8
7.2界面设计10
8.系统实现16
8.2数据访问层23
8.3业务逻辑层24
8.4表示层25
结束语25
参考文献26
1.设计题目
图书管理信息系统
2.设计目的
通过对图书管理信息系统的系统分析、系统设计、编码和调试等工作的实践,了解管理信息系统的一般设计方法和实现思路,深入了解数据库设计的基本理论及方法。
3.设计任务
完成一个具有一定实用价值的图书管理信息系统,主要任务包括:
在SQLServer2000/2005/2008环境下建立图书管理信息系统所使用的数据库,利用企业管理器或查询分析器建立各种数据库对象,包括:
数据表、视图、约束、存储过程和触发器等;
了解数据库引擎技术,并掌握使用ADO.NET连接数据库服务器和客户端应用程序;
掌握使用C#或其他语言开发一个数据库系统的基本方法和步骤,应用程序的功能包括:
数据的输入、修改和删除;数据的浏览、查询和Excel导出;数据报表(包括图形化)及打印输出;系统的用户登录和权限管理;
了解多层C/S或B/S体系结构的数据库系统的开发过程:
需求分析、系统设计、系统实现及文档的收集和整理。
4.设计准备
4.1系统准备
操作系统:
Windows
数据库系统:
SQLServer
客户端开发工具:
VisualStudio或其他开发工具
4.2知识准备
熟悉SQLServer的使用;
熟悉C++、C#、ASP.NET或其他语言进行数据库编程。
5.系统分析
图书管理系统开发的总体任务是实现图书信息管理的计算机化。
1.新书入库;
2.读者信息管理;
3.图书信息管理;
4.图书借阅;
5.信息查询(读者信息、图书基本信息、流通信息等)。
6.系统设计
6.1系统体系结构设计
使用多层(三层)C/S或B/S模式开发系统。
简单的客户/服务器体系结构的数据库应用系统开发周期短,能够适应大部分中小型数据库应用系统的要求(当客户端数量少于50时),但是,随着数据库应用的日益发展、数据容量的不断增加、客户端数量的不断增多,这种体系结构显示出了诸多缺陷。
所谓三层体系结构,是在客户端与数据库之间加入了一个“中间层”。
它是指逻辑上的三层结构,即使在一台机器上也可构成三层体系结构的应用系统。
三层分别为表示层、业务逻辑层和数据访问层。
表示层(USL):
为客户提供对应用程序的访问,以Windows应用程序或Web应用程序的形式提供实现的功能。
业务逻辑层(BLL):
实现应用程序的业务功能,以类库的形式为表示层提供服务。
数据访问层(DAL):
实现整个系统所有的数据库连接、数据存取操作,以组件类库的形式为业务逻辑层提供服务。
此外,实体类,简单地说是描述一个业务实体的类。
业务实体直观一点的理解就是整个应用系统业务所涉及的对象,从数据存储来讲,业务实体就是存储应用系统信息的数据表,将数据表中的每一个字段定义成属性,并将这些属性用一个类封装,这个类就称为实体类。
业务实体可以认为属于业务逻辑层,当然,可以将业务实体单独作为一层,称为业务实体层。
表示层、业务逻辑层、数据访问层都依赖于业务实体。
各层之间数据的传递主要是实体对象(业务信息封装在实体对象中)。
6.2系统功能模块设计
该系统主要由五大功能模块组成:
图书管理、读者管理、借阅管理、数据统计和系统管理。
各大功能模块又由一些子功能模块构成,其功能框图如下。
6.3数据库设计
数据库设计分四个阶段,需求分析、概念设计、逻辑设计和物理设计。
在需求分析阶段,对图书馆管理系统原有的数据及新的业务要求做了详细的分析,同时对新系统在加工与存储要求、完整性、一致性要求、安全性、可靠性要求及性能的要求等做了详细的分析。
根据分析结果,对数据库进行了概念模型设计,画出了概念模型E-R图。
然后将概念模型转换为关系数据模型,并按照数据库规范化的三条原则进行了规范化处理:
保证一个关系中的所有属性都是原子属性;确保一个关系中的每个属性完全函数依赖于主关键字;去掉各关系中的传递函数依赖。
最后,确定了数据库的存储结构和存取方法,建立了索引。
6.3.1数据库需求分析
一般图书馆管理信息系统的需求,通过对图书馆管理工作过程的内容和数据流程分析,设计如下面所示的数据项和数据结构:
图书信息包括:
书名、ISBN、一名或多名作者(译者)、出版社、定价和内容简介等;
读者信息包括:
借书证记录有借阅者的姓名、密码、读者类别和所在单位等;
读者凭借书证借书,教师最多借书15本书,借书期限最长为90天;学生最多借书8本书,借书期限最长为30天。
续借与超期罚款,图书可以续借;对于超期未还的读者必须先处理(续借或罚款),否则不能继续借新书;每本书每超期一天罚款0.05元。
图书借还历史要求长期保存在数据库中,以便于统计分析,读者对一本书可能多次借阅。
6.3.2数据库概念结构设计
得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。
本系统根据上面的设计规划出的实体有:
读者类别信息实体、读者信息实体、书籍类别信息实体、书籍信息实体、借阅信息实体。
各个实体具体的描述E-R图如下。
读者类别信息实体图如下图1-1所示。
图1-1读者类别信息实体
读者信息实体图如下图1-2所示
图1-2读者信息实体
书籍信息实体图如下图1-3所示
图1-3书籍信息实体
借阅信息实体图如下图1-4所示
图1-4借阅信息实体图
实体之间相互关系的E-R图如下图1-5所示
图1-5实体间相互关系
6.3.3数据库逻辑结构设计
根据上面得到的E-R模型,现在需要将数据库概念结构转化为SQLServer2013数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。
1.读者类别表(ReaderType)
字段名
数据类型
说明
rdType
SmallInt
读者类别【主键】
rdTypeName
Nvarchar(8)
读者类别名称
CanLendQty
Int
可借书数量
CanLendDay
Int
可借书天数
CanContinueTimes
Int
可续借的次数
PunishRate
Float
罚款率(分/天/本)
DateValid
SmallInt
证书有效日期
2.读者信息表(Reader)
字段名
数据类型
说明
rdID
Int
读者序号【主键】
rdName
nvarchar(20)
读者姓名
rdPwd
nvarchar(20)
读者密码,初值为“123”
rdSex
Bit
性别,0-男,1-女
rdType
SmallInt
读者类别【外键ReaderType.rdType】
rdDept
NChar(8)
单位代码
rdPhone
nvarchar(25)
电话号码
rdEmail
nvarchar(25)
电子邮件
rdDateReg
smalldatetime
读者登记日期
rdBorrowQty
Int
已借书数量
3.图书信息表(Book)
字段名
数据类型
说明
bkID
Int
图书序号或条码号【主键】
bkCode
NChar(20)
图书编号
bkName
Nvarchar(50)
书名
bkAuthor
Nvarchar(30)
作者
bkPress
Nvarchar(50)
出版社
bkDatePress
datetime
出版日期
bkISBN
NChar(15)
书号
bkCatalog
Nvarchar(30)
分类名
bkLanguage
SmallInt
语言,0-中文,1-英文,2-日文,3-俄文,
4-德文,5-法文
bkPages
Int
页数
bkPrice
Money
价格
bkDateIn
DateTime
入馆日期
bkBrief
Text
内容简介
bkCover
Nvarchar(100)或image
图书封面照片
bkIsInLab
NChar(4)或bit
是否在馆(借出)
4.借阅信息表(Borrow)
字段名
数据类型
说明
BorrowID
Numeric(12,0)
借书顺序号【主键】
rdID
Int
读者序号【外键Reader.rdID】
bkID
Int
图书序号【外键Book.bkID】
ldContinueTimes
Int
续借次数(第一次借时,记为1)
ldDateOut
DateTime
借书日期
ldDateRetPlan
DateTime
应还日期
ldDateRetAct
DateTime
实际还书日期
ldOverDay
Int
超期天数
ldOverMoney
Money
超期金额
ldPunishMoney
Money
罚款金额
lsHasReturn
Bit
是否已经还书,缺省为0-未还
OperatorLend
Nvarchar(20)
借书操作员
OperatorRet
Nvarchar(20)
还书操作员
7.系统实现
7.1功能模块
7.1.1图书管理
图书入库(添加图书信息):
图书管理员可以将新书添加到数据库中。
图书出库(注销图书信息):
图书删除。
图书信息查询:
所有用户可以按指定的组合条件查询图书,查询结果可以显示、预览、打印、导出到Excel文件。
对于图书管理员,可以删除图书和修改部分字段的内容。
7.1.2读者管理
读者管理员可以添加读者类别和修改读者类别。
读者管理员可以添加读者信息,可以按指定的组合条件查询读者,查询结果可以显示、预览、打印和导出到Excel文件,还可以删除读者和修改部分字段的内容。
读者可以修改个人信息、密码和查阅个人的借阅信息。
7.1.3借阅管理
读者管理员可以给读者借书和还书。
还书时如果图书超期,提示超期的天数,并计算罚款,记录归还相关信息。
读者管理员还可按读者信息查询指定期间内的历史借阅信息和当前未还信息,按图书信息查询指定期间内的历史借阅信息和当前借阅读者信息。
查询结果可以显示、预览、打印和导出到Excel文件。
7.1.4系统管理
系统管理员可以浏览、添加、修改和删除用户信息。
7.2界面设计
7.2.1登录窗口
所有用户只有正确登录后,方可进入该系统,登录窗口如下。
Ø用户编号指“用户“表中的用户编号或“读者”信息表中的读者编号。
7.2.2查询图书信息
图书管理员、读者管理员和读者均可查询图书信息,如下图。
Ø输入查询条件:
图书序号采用完全匹配;图书编号采用左匹配;图书名称、作者、出版社采用模糊匹配;出版日期、入馆日期、库存数量支持区间条件。
Ø输入文本若为空,表示没有约束条件。
Ø按下“查询”按钮后,将满足各个输入框中的条件相与的记录显示到网格中。
7.2.3图书信息操作
图书管理员、读者管理员和读者均可查询图书信息,只有图书管理员可以添加图书信息,如下图。
Ø输入查询条件:
图书序号采用完全匹配;