图书借还书数据库设计汇编.docx
- 文档编号:9415863
- 上传时间:2023-05-18
- 格式:DOCX
- 页数:41
- 大小:715.92KB
图书借还书数据库设计汇编.docx
《图书借还书数据库设计汇编.docx》由会员分享,可在线阅读,更多相关《图书借还书数据库设计汇编.docx(41页珍藏版)》请在冰点文库上搜索。
图书借还书数据库设计汇编
学号:
课程设计
题目
图书借还书数据库设计
学院
计算机科学与技术
专业
计算机科学与技术
班级
计算机班
姓名
指导教师
2012
年
7
月
4
日
课程设计任务书
学生姓名:
专业班级:
计算机班
指导教师:
工作单位:
计算机学院
题目:
图书借还书数据库设计
初始条件:
1)要求能够对图书资料进行管理,如登记新书,删除不存在的书目,对已经变更的图书信息进行修改,还可以根据多种条件从数据库中查询书目的详细信息。
2)要求能对新读者信息进行登记,对已经变更的读者信息进行修改,对不再借阅的读者信息进行删除。
还可以查询读者的详细信息,以及读者借阅过的书目和正在借阅的书目。
3)提供借阅登记表和返还登记表来管理借阅,并且提供查询借阅次数最高的前10个书目。
要求完成的主要任务:
1.根据上述的初始条件,进行调查分析并设计适当的属性。
设计一个图书数据库,DBMS可选MsSQLServer、Access、VFP等。
2.完成课程设计说明书,其格式遵守学校今年的新规定。
主要内容包括:
需求分析,概念设计,逻辑设计,物理实现等。
3.基于该数据库,最好实现一个或多个应用程序(自己确定功能),程序设计语言(工具)任选。
这一项是选作,不作硬性要求。
时间安排:
本学期第18周:
1.消化资料、系统调查1天
2.系统分析1天
3.总体设计,实施计划2天
4.撰写报告1天
指导教师签名:
年月日
系主任(或责任教师)签名:
年月日
图书借还书数据库设计
1.课程设计目的与功能描述
1.1目的描述
学习完《数据库系统简明教程》这门专业课后,对数据库的基本原理有了一定的了解;基于此,结合生活实际和实例,设计一个图书馆里数据库,要求能够处理基本的借阅书籍、归还书籍的业务操作。
1.2功能描述
此次我采用Java和MySQL数据库设计了一个图形化操作程序,主要功能有:
[1]账户注册、账户信息的修改、账户注销;
[2]按管理员和普通读者的登录;
[3]针对管理员的新书入库、书籍查询、书籍信息修改、书籍删除、借阅查询、借阅设置等操作;
[4]针对读者的书籍查询、借阅书籍、归还书籍、个人信息查询、个人正在借阅信息查询、曾借阅过书籍信息查询;
2.需求分析
2.1前期准备
根据所学,确定需求分析的过程,如图:
拿到此次课程设计的题目即任务书时,首先是根据要求,分析当前已有的与此题目相关的数据库系统和图书管理的业务操作,如本校的图书馆的业务操作,分析其数据库的设计,适当的增加、删除一些数据库的存储逻辑结构,形成本次课程设计的设计原型。
经过对已有的图书馆里数据库的研究和借还书籍的业务流程的分析,确定出基本的处理需求:
1.用户的行为
Ø针对管理员:
登录后对图书数据库的操作,包括:
新书的入库、更新更改图书信息、删除图书信息、多条件查询图书信息、查询注册信息、当前的借阅信息、借阅设置等行为。
Ø针对读者:
登录后多条件查询书籍、对制定图书的借阅、归还制定图书、查询个人注册的信息、查询当前自己的借阅信息、查询曾经的借阅信息等行为。
2.系统边界
用户完成的操作:
注册或更改账户信息时个人注册信息的输入、登录时信息的输入、注销操作的发起、新书入库信息的输入、更新图书信息的新信息的输入、查询条件的输入、系统设置参数的输入、借还书时主要书籍信息的输入等。
由系统完成的操作:
注册时,根据用户输入的注册信息,提取并将其存储在制定的数据表、登录时根据输入的登录信息,验证信息,并返回结果、登录成功时,根据用户身份进入制定的操作平台、提取管理员输入的新书信息并存储到制定的图书数据表中、提取管理员的更新图书信息,更新图书表中制定书籍的信息、根据用户选择的查询条件,查询相关数据表,并返回结果、登记读者的借阅信息,归还信息等。
2.2数据流图
根据“功能分解,逐步求精”的原则,此次需求分析的数据流图主要分为三层:
顶层数据流图:
确定系统的输入与输出、第一层数据流图:
对系统进行第一层功能分解,确定系统的主要工作、第二层数据流图:
确定系统详细的工作流图。
顶层数据流图:
第一层数据流图:
第二层数据流程图:
系统登录数据流图:
管理员数据流图:
读者数据流图:
2.3数据字典
数据流图表达了数据和处理的关系,数据字典则是系统中的各类数据描述的集合,是进行详细的数据手机和数据分析做得到的主要成果,可以自己设计一套适合阅读的图表。
本设计的数据字典有:
账户信息、图书信息、借阅信息、归还信息、系统设置,具体如下:
数据组名:
账户信息
特征
数据项名
数据项名
数据项名
数据项名
数据项名
数据项名
数据项名
ID号
用户名
密码
性别
联系方式
管理员
注册时间
1
2
3
4
5
6
7
数据类型
Int
Varchar(20)
Varchar(20)
Char
Varchar(20)
Char
Varchar(20)
数据长度
可变
可变
可变
4
可变
4
可变
小数位数
无
无
无
无
无
无
无
单位
无
无
无
无
无
无
无
约束
主码
空值允许
否
否
是
否
是
否
否
表---2.3-1账户信息数据字典
数据组名:
图书信息
特征
数据项名
数据项名
数据项名
数据项名
数据项名
数据项名
数据项名
图书编号
书名
ISBN
出版社
作者
类型
出版时间
1
2
3
4
5
6
7
数据类型
Int
Varchar(20)
Varchar(15)
varchar
Varchar(20)
Varchar(10)
Varchar(10)
数据长度
可变
可变
可变
可变
可变
可变
可变
小数位数
无
无
无
无
无
无
无
单位
无
无
无
无
无
无
无
约束
主码
空值允许
否
否
否
否
是
否
是
表—2.3-2图书信息数据字典
数据组名:
图书信息
特征
数据项名
数据项名
数据项名
数据项名
数据项名
数据项名
入馆时间
馆藏地址
外借允许
库存量
现存量
最近更新时间时间
8
9
10
11
12
8
数据类型
Varchar(10)
Varchar(20)
Varchar(20)
Char
Varchar(20)
Varchar(10)
数据长度
可变
可变
可变
4
可变
可变
小数位数
无
无
无
无
无
无
单位
无
无
无
本
本
无
约束
空值允许
否
否
是
否
是
否
表—2.3-3图书信息数据字典续
数据组名:
借阅信息
特征
数据项名
数据项名
数据项名
数据项名
数据项名
借阅者ID
借阅图书编号
借阅时间
借阅册数
借阅期限
1
2
3
4
5
数据类型
Int
Int
Varchar(10)
Int
Int
数据长度
可变
可变
可变
可变
可变
小数位数
无
无
无
无
无
单位
无
无
无
本
月
约束
主码
主码
主码
空值允许
否
否
否
否
否
表—2.3-4借阅信息数据字典
数据组名:
归还信息
特征
数据项名
数据项名
数据项名
数据项名
数据项名
归还者ID
归还图书编号
归还时间
归还册数
借阅天数
1
2
3
4
5
数据类型
Int
Int
Varchar(10)
Int
Int
数据长度
可变
可变
可变
可变
可变
小数位数
无
无
无
无
无
单位
无
无
无
本
天
约束
主码
主码
主码
空值允许
否
否
否
否
否
表—2.3-5归还信息数据字典
数据组名:
借阅设置信息
特征
数据项名
数据项名
数据项名
借阅数量
借阅期限
惩罚设置
1
2
3
数据类型
Int
Int
Int
数据长度
可变
可变
可变
小数位数
无
无
无
单位
无
无
无
约束
主码
主码
主码
空值允许
否
否
否
表—2.3-6借阅设置信息数据字典
3.概念设计
概念结构设计的步骤
[1]抽象数据并设计局部视图
[2]集成局部视图,得到全局概念结构
[3]验证整体概念结构
设计局部视图
[1]选择局部应用
[2]逐一设计分E-R图
Ø标定局部应用中的实体、属性、码,实体间的联系
Ø用E-R图描述出来
集成局部视图
[1]合并分E-R图,生成初步E-R图
消除冲突
Ø属性冲突
Ø命名冲突
Ø结构冲突
[2]修改与重构
消除不必要的冗余,设计生成基本E-R图
Ø分析方法
Ø规范化理论
3.1实体与关系
3.1.1实体
根据需求分析的数据流图,对其进行自底向上的分析。
抽象出设计视图,集成局部视图,得到全局的概念结构。
本数据库的实体有:
管理员(ID号,用户名,密码,性别,联系方式,注册时间)
读者(ID号,用户名,密码,性别,联系方式,注册时间)
图书(图书编号,书名,ISBN,出版社,作者,类型,出版时间,入馆时间,馆藏地址,外借允许,库存量,现存量,最近更新时间)
账户信息(ID号,用户名,密码,性别,联系方式,管理员,注册时间)
借阅设置参数(借阅数量、借阅期限、惩罚设置)
3.1.2实体之间的关系
本数据库的实体之间的关系如下:
[1]管理员与读者之间是多对多的负责关系:
一个读者可由多个管理员管理借阅操作,一个管理员可以负责多个读者的借阅操作;
[2]管理员与图书之间是多对多的管理关系:
一本图书可由多个管理员经手处理,一个管理员可以管理多本图书;
[3]读者与图书之间是多对一借阅的关系:
一个读者可以借阅多本图书,一本图书可由一个读者借阅;
[4]管理员与账户信息之间是一对一的对应关系:
一个管理员对应一个账户信息,一个账户信息对应一个管理员;
[5]读者与账户信息之间是一对一的对应关系:
一个读者对应一个账户信息,一个账户信息对应一个读者;
[6]管理员与设置参数之间是一对一的设置关系:
一个管理员只能设置借阅设置参数,一组借阅设置参数只能由一个管理员设置;
[7]读者与节约设置参数之间是多对一的关系:
一个读者只能被一组节约设置参数作用,一组借阅设置参数可以作用于多个读者。
3.2系统E-R图
根据E-R的设计过程,根据初始数据流图设计初始的E-R图,而后将各分E-R图集成,消除冲突、消除冗余,得到最初的E-R图,对其进行分析和根据规范化理论进行规范化,集成视图,最后形成基本的E-R图。
其过程如图所示:
冲突的种类:
属性冲突、命名冲突、结构冲突。
属性冲突:
[1]属性域冲突
Ø属性值的类型
Ø取值范围
Ø取值集合不同
[2]属性取值单位冲突
命名冲突:
Ø同名异义:
不同意义的对象在不同的局部应用中具有相同的名字
Ø异名同义(一义多名):
同一意义的对象在不同的局部应用中具有不同的名字
结构冲突:
Ø同一对象在不同应用中具有不同的抽象
Ø同一实体在不同分E-R图中所包含的属性个数和属性排列次序不完全相同
Ø实体之间的联系在不同局部视图中呈现不同的类型
根据上述过程,形成本数据库的最终E-R图,本数据库的系统E-R图如下:
图—3.2-1系统E-R图
账户实体E-R图
图—3.2-2账户实体E-R图
图书实体E-R图
图—3.2-3图书实体E-R图
借阅关系E-R图
图—3.2-4借阅关系实体E-R图
归还关系E-R图
图—3.2-5归还关系实体E-R图
借阅设置参数关系E-R图
图—3.2-6设置关系实体E-R图
4.逻辑结构设计
概念结构是独立于任何数据库管理系统的信息结构。
逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转化为与选用的数据库管理系统产品所支持的数据模型相符合的逻辑结构。
逻辑结构设计的步骤为:
[1]将概念结构转化为一般的关系、网状、层次模型
[2]将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换
[3]对数据模型进行优化
图---4--1概念设计过程图示
4.1E-R图向关系模型的转换
E-R图向关系模型的转换要解决的问题:
如何将实体型和实体间的联系转换为关系模式、如何确定这些关系模式的属性和码;转换内容:
将E-R图转换为关系模型、将实体、实体的属性和实体之间的联系转换为关系模式。
实体型间的联系有以下不同情况即转换规则:
[1]一个1:
1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系、与某一端实体对应的关系模式合并;
[2]一个1:
n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并;
[3]一个m:
n联系转换为一个关系模式;
[4]三个或三个以上实体间的一个多元联系转换为一个关系模式;
[5]具有相同码的关系模式可合并:
将其中一个关系模式的全部属性加入到另一个关系模式中,然后去掉其中的同义属性(可能同名也可能不同名),并适当调整属性的次序。
根据上述规则,首先是将几个实体转化为关系模型:
图书(图书编号,书名,ISBN,出版社,作者,类型,出版时间,入馆时间,馆藏地址,外借允许,库存量,现存量,最近更新时间)
账户信息(ID号,用户名,密码,性别,联系方式,管理员,注册时间)
借阅设置参数(借阅数量、借阅期限、惩罚设置)
将上述关系转化为关系模型:
读者与书籍之间的一对多的借阅、归还关系,由于借阅关系和归还关系还可以包含属性,因此借阅关系转化为借阅关系模型:
借阅(借阅者ID,借阅图书编号,借阅时间,借阅册数,借阅期限)
归还(归还者ID,归还图书编号,归还时间,归还册数,借阅天数)
4.2数据模型的优化
数据模型的优化得到初步数据模型后,还应该适当地修改、调整数据模型的结构,以进一步提高数据库应用系统的性能。
优化数据模型的方法
[1]确定数据依赖
Ø按需求分析阶段所得到的语义,分别写出每个关系模式内部各属性之间的数据依赖以及不同关系模式属性之间数据依赖。
[2]消除冗余的联系
Ø对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。
[3]确定所属范式
Ø按照数据依赖的理论对关系模式逐一进行分析;
Ø考查是否存在部分函数依赖、传递函数依赖、多值依赖等;
Ø确定各关系模式分别属于第几范式。
[4]按照需求分析阶段得到的各种应用对数据处理的要求,分析对于这样的应用环境这些模式是否合适,确定是否要对它们进行合并或分解。
按照上述的模型优化的过程,经过分析,原来的设计模型基本上满足要求,不再需要进行更加深入的优化。
对关系模式的研究,确定其数据依赖关系,最终确定其满足的范式级别:
图书(图书编号,书名,ISBN,出版社,作者,类型,出版时间,入馆时间,馆藏地址,外借允许,库存量,现存量,最近更新时间)
关系模式图书:
由于其是一个关系模式,故至少满足第一范式1NF,又其为单码关系模式,所以每一个非主属性都完全函数依赖与码,又不存在非主属性对码的传递函数依赖,故其满足第三范式3NF;
账户信息(ID号,用户名,密码,性别,联系方式,管理员,注册时间)
关系模式账户信息:
由于其是一个关系模式,故至少满足第一范式1NF,又其为单码关系模式,所以每一个非主属性都完全函数依赖与码,又不存在非主属性对码的传递函数依赖,故其满足第三范式3NF,又没有任何属性完全函数依赖于非码的任何一组属性,故其满足BCNF;
借阅设置参数(借阅数量、借阅期限、惩罚设置)
关系模式借阅设置参数:
由于其是一个关系模式,故至少满足第一范式1NF,又其为单码关系模式,所以每一个非主属性都完全函数依赖与码,又不存在非主属性对码的传递函数依赖,故其满足第三范式3NF,又没有任何属性完全函数依赖于非码的任何一组属性,故其满足BCNF;
借阅(借阅者ID,借阅图书编号,借阅时间,借阅册数,借阅期限)
关系模式借阅:
由于其是一个关系模式,故至少满足第一范式1NF,又其为单码关系模式,所以每一个非主属性都完全函数依赖与码,又不存在非主属性对码的传递函数依赖,故其满足第三范式3NF,又没有任何属性完全函数依赖于非码的任何一组属性,故其满足BCNF;
归还(归还者ID,归还图书编号,归还时间,归还册数,借阅天数)
关系模式归还:
由于其是一个关系模式,故至少满足第一范式1NF,又其为单码关系模式,所以每一个非主属性都完全函数依赖与码,又不存在非主属性对码的传递函数依赖,故其满足第三范式3NF,又没有任何属性完全函数依赖于非码的任何一组属性,故其满足BCNF;
4.3设计用户子模式
设计用户子模式包括三个方面:
[1]使用更符合用户习惯的别名
上述关系模式的属性的命名军根据日常生活实际来命名,目的就是使命名更加符合日常规范,使属性名更加容易理解,并且没有歧义;
[2]针对不同级别的用户定义不同的View,以满足系统对安全性的要求
Ø对账户信息的关系模式,管理员可以看到所有注册账户的基本信息,但是不能看到别人的密码,因此可以为管理员建立一个视图:
管理员查看账户(账户ID,用户名,性别,联系方式,管理员,注册时间,借阅册数,总借阅册数)
Ø针对读者查询书籍信息时,读者只需要知道该书籍的一部分信息,而不需要知道书籍的完整信息,因此可以为读者建一个视图:
读者查书(图书编号,书名,作者,ISBN,出版社,类型,出版时间,馆藏地址,外借允许,现存量)
[3]简化用户对系统的使用
5.物理设计
数据库的物理结构设计指数据库在实际的设备上的存储结构和存取方法,是与硬件环境和RDBMS软件产品有关的。
5.1创建表
对于账户信息的关系模式:
账户信息(ID号,用户名,密码,性别,联系方式,管理员,注册时间)
创建一个名为Accounts的表,设置其码为ID号,:
CREATETABLEAccount(
ID号int(11)NOTNULL,
用户名varchar(20)CHARACTERSETgb2312COLLATEgb2312_chinese_ciNOTNULL,
密码varchar(20)CHARACTERSETgb2312COLLATEgb2312_chinese_ciNULLDEFAULTNULL,
性别char(4)CHARACTERSETgb2312COLLATEgb2312_chinese_ciNOTNULL,
联系方式varchar(15)CHARACTERSETgb2312COLLATEgb2312_chinese_ciNULLDEFAULTNULL,
管理员char(4)CHARACTERSETgb2312COLLATEgb2312_chinese_ciNOTNULL,
注册时间varchar(10)CHARACTERSETgb2312COLLATEgb2312_chinese_ciNOTNULL,
PRIMARYKEY(`ID号`))
ENGINE=InnoDB
DEFAULTCHARACTERSET=gb2312COLLATE=gb2312_chinese_ci
ROW_FORMAT=COMPACT;
图—5.1-1账户信息表
对于图书关系:
图书(图书编号,书名,ISBN,出版社,作者,类型,出版时间,入馆时间,馆藏地址,外借允许,库存量,现存量,最近更新时间)
创建一个名为Books的表,并设置图书编号为主码:
CREATETABLE`Books`(
`图书编号`int(11)NOTNULL,
`书名`varchar(20)CHARACTERSETgb2312COLLATEgb2312_chinese_ciNOTNULL,
`ISBN`varchar(15)CHARACTERSETgb2312COLLATEgb2312_chinese_ciNOTNULL,
`出版社`varchar(20)CHARACTERSETgb2312COLLATEgb2312_chinese_ciNOTNULL,
`作者`varchar(20)CHARACTERSETgb2312COLLATEgb2312_chinese_ciNULLDEFAULTNULL,
`类型`varchar(10)CHARACTERSETgb2312COLLATEgb2312_chinese_ciNOTNULL,
`出版时间`varchar(10)CHARACTERSETgb2312COLLATEgb2312_chinese_ciNULLDEFAULTNULL,
`入馆时间`varchar(10)CHARACTERSETgb2312COLLATEgb2312_chinese_ciNOTNULL,
`馆藏地址`varchar(20)CHARACTERSETgb2312COLLATEgb2312_chinese_ciNULLDEFAULTNULL,
`外借允许`char(4)CHARACTERSETgb2312COLLATEgb2312_chinese_ciNOTNULL,
`馆存量`int(11)NOTNULL,
`现存量`int(11)NOTNULL,
`最近更新时间`varchar(10)CHARACTERSETgb2312COLLATEgb2312_chinese_ciNOTNULL,
PRIMARYKEY(`图书编号`))
ENGINE=InnoDB
DEFAULTCHARACTERSET=gb2312COLLATE=gb2312_chinese_ci
ROW_FORMAT=COMPACT;
图—5.1-2图书信息表
借阅设置参数(借阅数量、借阅期限、惩罚设置)
对与借阅设置参数创建一个Settings表,并设置所有属性为码:
CREATETABLE`Settings`(
`借阅数量`int(11)NOTNULL,
`借阅期限`int(11)NOTNULL,
`惩罚设置`int(11)NOTNULL,
PRIMAR
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 借还书 数据库 设计 汇编