大数据库SQL图书馆借阅管理系统大数据库设计.docx
- 文档编号:7392418
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:45
- 大小:1.46MB
大数据库SQL图书馆借阅管理系统大数据库设计.docx
《大数据库SQL图书馆借阅管理系统大数据库设计.docx》由会员分享,可在线阅读,更多相关《大数据库SQL图书馆借阅管理系统大数据库设计.docx(45页珍藏版)》请在冰豆网上搜索。
大数据库SQL图书馆借阅管理系统大数据库设计
一、课程设计的内容
一个图书借阅管理数据库要求提供以下服务:
(1)可随时查询书库中现有书籍的种类、数量与存放位置。
所有各类书籍均可由书号唯一标识。
(2)可随时查询书籍借还情况。
包括借书人单位、姓名、借书证号、借书日期和还书日期。
任何人可借多种书,任何一种书可为多个人所借,借书证号具有唯一性。
(3)当需要时,可通过数据库中保存的出版社电话、邮编及地址等信息向有关书籍的出版社增购有关书籍。
一个出版社可出版多种书籍,同一本书仅为一个出版社出版,出版社名具有唯一性。
根据以上的情景假设,进行如下的分析与设计:
(1)根据上述语义画出ER图。
(2)将ER模型转换成关系模型,并指出每个关系模式的主关键字。
(3)分析每个关系模式已经达到第几范式。
对于不符合第三范式要求的关系模式进行规范化。
(4)根据概念模型设计逻辑模型和保护设计。
(5)在SQLServer中实现。
二、课程设计的要求与数据
根据教师给定的选题,运用课堂中学到的数据库的基本理论与设计的知识,完成数据库概念设计、逻辑设计及部分物理设计的内容。
重点是ER图的设计、关系模式的转换与规范化以及如何利用DBMS完成数据表及数据库的创建和操作。
具体要求包括:
1.开发环境要求:
SQLServer2005
2.提交课程设计报告一份,包括以下内容:
用户需求:
要解决的主要问题,达到的具体指标等。
业务流程分析:
描述系统的业务流程,画出规范的业务流程图。
数据库概念模式设计
写出由基本项相应得出的实体、联系及其属性,并确定主实体的标识特征,画出ERD;对其中复杂的多元联系进行分析,必要则改进。
数据库逻辑模式设计
4.1一般逻辑模型设计:
写出由ERD导出一般关系模型的四条原则,列出数据库初步构思的关系框架,并检查改进之。
4.2具体逻辑模型设计:
按所用的DBMS要求,设计表(文件)的具体结构,在关系框架下补充字段类型、长度、小数位数等行。
数据库保护设计
5.1设计表间关系:
列出数据库表间的关联关系。
5.2完整性设计:
列出主要字段完整性的字段名、完整性约束条件;列出记录完整性约束及其约束条件;列出参照完整性表。
数据库系统的实现
6.1数据库及其表结构的建立:
建立数据库描述文件及建立其数据库表,注意完整性与关联的实现,并附作为命令执行结果的数据库表结构及其关联图、参照完整性表。
6.2数据输入:
录入数据,并打印出各表的内容,要求每个表至少有15条记录。
3.提交光盘(每班统一制作1张光盘,每人一个文件夹,文件夹名为“学号姓名”)。
每人的光盘文件夹内含:
任务书;
数据库文件(包括数据文件和日志文件);
课程设计报告电子文档。
三、课程设计应完成的工作
1要求完成一个系统设计的主要过程:
需求分析、系统分析、系统设计、系统实现等过程。
2完成设计后,要写出设计报告。
四、课程设计进程安排
序号
设计各阶段内容
地点
起止日期
1
举行课程设计动员会,说明课程设计的要求、目的。
通过讨论、查询相关资料确定课程设计选题。
实验中心机房
17周1-周2
2
进行需求分析、数据库逻辑结构的分析。
实验中心机房
17周3-周4
3
完成以下内容:
(1)用户需求分析;
(2)业务流程分析;(3)数据库概念模型设计;(4)写出由基本项相应得出的实体、联系及其属性;(5)对其中复杂的多元联系进行分析,必要则改进。
实验中心机房
17周4-周5
4
完成数据库模型设计,包括一般逻辑模型设计和物理逻辑模型设计;设计索引、设计表间关系、设计完整性。
实验中心机房
18周1-周2
5
进行系统实现。
内容主要包括:
数据库表结构的建立与数据输入。
实验中心机房
18周3-周4
6
撰写课程设计报告并上交
实验中心机房
18周4-周5
1、概述
图书馆信息管理系统是一种在学校中常用的一种系统。
它从图书的入库登记到查询浏览,从读者的管理到图书的借阅,形成了一个整体自动化管理模式。
系统主要有三个方面的内容:
一方面是图书管理,主要包括新书入库 图书整理 图书信息的修改等方面。
一方面是图书借阅,主要包括图书的借阅和归还。
第三方面是信息查询,主要包括图书目录查询 读者信息查询等。
随着社会信息量的与日俱增,作为信息存储的主要媒体之一图书,数量、规模比以往任何时候都大的多,不论个人还是图书管理部门都需要使用方便而有效的方式来管理自己的书籍。
《图书馆管理系统》能够高效的完成图书管理员的基本业务需求和系统管理员的管理需求,并能根据需要,完成读者所提出的需求。
是图书馆日常管理不可或缺的管理系统。
用户类型
业务类型
具体操作
读者
申请服务
借阅图书
归还图书
预定图书
图书管理员
基本业务
借阅图书
归还图书
预定图书
系统管理员
图书管理
新书入库
更新图书信息(修改、删除)
查询图书信息
读者管理
读者登记
更新读者信息(修改、注销)
查询读者信息
系统设置
查询统计、基本设置等
《图书管理系统》主要功能描述
1.1系统的基本任务
图书的使用对象是借阅者,例如学生,教师;管理者是图书馆的管理员。
因此根据这些信息,本系统的主要功能就是:
实现图书馆图书信息的管理和维护,如用户信息管理,图书馆规则维护,新书入库,整理图书,修改图书信息和进行查询等;以及服务系统的图书信息查询,图书的借出和归还等功能图书信息管理系统能够为用户提供充足的信息和快捷的查询手段.例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
因此要提供真实的、详细的、全面的、系统化的图书管理。
为读者借书及管理员的管理提供方便。
1.2系统的主要业务
一是:
借书人借书。
借书人可以通过本系统,快速而且方便地查询到自己所要找的书,很方便快捷;二是:
图书馆的日常管理。
图书馆通过本系统,可以掌握整个图书馆的所有书籍和的全部信息与借书人的借书情况,为图书馆的日常管理提供全面、有用并且有序的信息,方便了图书馆的管理,提高了图书馆的管理效率。
1.3系统的开发目标
通过建立一个较为全面系统化的图书馆管理系统,为借书人借书提供便利,同时也为图书馆的正常有序管理提供方便。
大学图书馆管理信息系统为广大大学师生提供了便利的图书借阅服务。
本系统面向全体教职职工与学生,该系统根据不同的操作者,提供不同的服务,以实现图书管理系统的科学化、系统化、自动化,最大限度地为老师和学生提供方便和提供管理效率。
2、需求分析
2.1用户需求
我们总可以看到图书馆里,书籍琳琅满目,很多,而且图书的种类也多种多样。
这就给图书馆的管理带来很多麻烦,也是借书人非常头痛的问题。
从借书人的角度来说,当到书山书海中,找一本书就像大海捞针一样。
这样不仅费时又费神,而且还不一定能找得到,去图书馆不是去看书,而是大部分去找书。
所以把书籍分门别类,按一定的分类,按一定顺序编排出来,对借书人来说是很有用处,很有必要的。
从图书馆的角度来说,图书馆里的书多人杂。
一个方便全面的系统是必须的,这个系统可以用来管理书籍也可以用来管理借还书业务,而是图书馆的管理有条有理。
图书馆配置一些检索器,把书籍的资料都整理在里面,包括书号、书名、数量,借还状况等等,可供借书人检查,方便借书人知道有什么书以及书的位置,数量,可否借等等情况。
然后在系统里面也会登记每个借书人的借书状况。
系统需具备以下功能:
查询功能、增加功能、删除功能、修改功能。
图书馆管理信息系统功能模块
2.2数据需求
图书目录,包括图书编号、图书名称、作者名称、出版社、出版日期、图书编号、图书单价、图书类别等。
读者明细,包括读者编号、读者名称、性别、单位地址、所在城市、所在地区、邮政编码、电话号码、传真号码、公司主页、备注信息等。
借阅情况,包括图书编号、图书名称、出版社、读者名称、读者编号、结束日期、还书日期等。
借阅状态,包括图书编号、图书名称、作者名称、出版社、出版日期、图书编号、单价、图书类别、状态信息等。
系统中用到的数据表:
书籍表:
字段名
数据类型
长度
是否允许空值
书号
Char
10
Notnull
书名
Char
20
作/编者
Char
20
存放位置
Char
40
数量
Int
出版社号
Char
20
Notnull
借书人表:
字段名
数据类型
长度
是否允许空值
借书证号
Char
10
Notnull
姓名
Char
10
单位
Char
40
性别
Char
2
借书表:
字段名
数据类型
长度
是否允许空值
书号
Char
10
Notnull
借书证号
Char
10
Notnull
借书日期
varchar
10
还书日期
varchar
10
出版社表:
字段名
数据类型
长度
是否允许空值
出版社号
Char
20
Notnull
名称
Nvarchar
25
地址
Char
30
邮编
Char
10
电话
Char
20
2.3需求规定
在图书管理系统中,管理员要为每个读者建立借阅账户,并給读者发放不同类别的借阅卡(借阅卡可提供卡号、读者姓名),账户内存储读者的个人信息和借阅记录信息。
持有借阅卡的读者可以通过管理员(作为读者的代理人与系统交互)借阅、归还图书,不同类别的读者可借阅图书的范围、数量和期限不同,可通过互联网或图书馆内查询终端查询图书信息和个人借阅情况,以及续借图书(系统审核符合续借条件)。
借阅图书时,先输入读者的借阅卡号,系统验证借阅卡的有效性和读者是否可继续借阅图书,无效则提示其原因,有效则显示读者的基本信息(包括照片),供管理员人工核对。
然后输入要借阅的书号,系统查阅图书信息数据库,显示图书的基本信息,供管理员人工核对。
最后提交借阅请求,若被系统接受则存储借阅纪录,并修改可借阅图书的数量。
归还图书时,输入读者借阅卡号和图书号(或丢失标记号),系统验证是否有此借阅纪录以及是否超期借阅,无则提示,有则显示读者和图书的基本信息供管理员人工审核。
如果有超期借阅或丢失情况,先转入过期罚款或图书丢失处理。
然后提交还书请求,系统接受后删除借阅纪录,并登记并修改可借阅图书的数量。
图书管理员定期或不定期对图书信息进行入库、修改、删除等图书信息管理以及注销(不外借),包括图书类别和出版社管理。
为系统维护人员提供权限管理、数据备份等通用功能。
2.4业务流程分析
图书管理系统的的总体功能如下:
图书的借阅;图书的返还;学生检索书籍信息;图书的增删改;学生的增删改;图书采购信息的录入。
学生借书流程图:
学生还书过程数据流程图:
学生查询书籍信息图:
图书馆管理员对图书的的增删改数据流图:
图书馆管理员对学生的的增删改数据流图:
图书采购的数据流图:
2.5系统功能分析
系统的对象确定之后,应该对系统进行定性的分析,分析是为了了解系统应达到的目标和系统应具备的功能。
2.5.1功能分析
图书馆图书信息管理系统由两大子系统组成:
图书管理和维护子系统以及图书信息服务子系统。
图书管理和维护子系统的功能包括:
(1)图书信息入库(建立信息库,以便查询和借阅)。
(2)理图书库(包括删除图书图书信息和统计图书信息)。
(3)查看图书信息。
(4)查询图书的借阅情况(包括借出情况查询、未借出情况查询和超时情况查询,同时还要知道:
如果某本图书被借出,那么可直接查询到借阅者的信息,以便催还等)。
(5)图书馆的规则管理和维护(包括每人可借阅图书数目、每人每本书可持有天数以及每超时一天的罚金数目等)。
(6)用户信息的管理和维护(例如删除已毕业学生信息、增加新生信息等)。
(7)数据库路径的管理和维护,主要是为了提高系统的通用性而设置的。
图书信息服务子系统的功能包括:
(1)书信息的查询(例如在借书前可先查询某本图书是否被借出)。
(2)图书的借阅(按图书馆的规则进行借阅,例如不超过5本,如果已有超时借阅的图书,则在归还前不允许再借阅等等)。
(3)图书的归还。
2.5.2功能分析图
根据对系统功能的分析,建立了系统功能分析图,系统功能分析如图所示。
该图反映了系统功能模块之间的层次关系。
3、数据库概念(模型)设计
3.1由基本项构思ERD的三个原则
①原则1(确定实体):
能独立存在的事物,在其有多个由基本项描述的特性需要关注时,就应把它作为实体。
实体和属性的定义:
书籍(图书编号,图书名称,作者,出版社,出版日期,备注,价格,数量,)
借书人(借书证号,姓名,性别,身份证,联系电话,密码)
身份(身份编号,身份描述,最大借阅数)
图书类别(图书类别编号,类别描述)
②原则2(确定联系):
两个或多个实体间的关联与结合,当需要予以关注时,应作为联系。
实体间的联系可分为一对一、一对多、多对多等三类,在确定联系时还要确定其类型。
。
一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在联系。
若有联系,进一步确定是1:
N,M:
N,还是1:
1等。
③原则3(确定属性):
实体的属性是实体的本质特征。
实体应有标识属性(能把不同个体区分开来的属性组),并指定其中一个作为主标识。
联系的属性是联系的结果或状态。
信息分析中得到的基本项要在且仅在实体联系图中的一个地方作为属性出现。
这条原则是对ERD的检验原则,对确定其构思是否正确具有很大的意义。
首先要看ERD中有没有重复出现的属性名,如果有,一定是错误的,要分析原因,消除重复。
然后要看有无不在信息分析中作为基本项出现的属性,如果有,不一定是错误,但如果不符合基本项的要求,就是错误的,要分析原因,予以改正;如果是基本项,则往往是业务流程用到的资料不太完备,数据库设计者与用户协商后加上去的,要分析增加是否真有必要;如果信息分析中列出的基本项在ERD中没有作为属性出现,则一定要分析原因:
有时是不小心遗漏了,那就要补充到适当的地方;有的是联系的表现形式。
建立如下ER图:
借书人ER图:
书籍ER图:
出版社ER图:
联系集的ER模型如图所示:
3.2绘制ER图
此系统由三个实体以及它们之间的联系组成。
三个实体分别是书籍和借书人以及出版社。
书籍和借书人之间以借书号和书号联系。
出版社和书籍之间以出版社号和书号联系。
其E-R图和关系图如下:
书籍(书号,书号,数量,存放位置,作/编者,出版社号,出版日期)
PK(主关键字)=书号
FK(主关键字)=出版社号,参照表是出版社表
借书人(借书证号,姓名,单位,性别)
PK(主关键字)=借书证号
出版社(出版社号,名称,出版日期,作/编者)
PK(主关键字)=出版社号
借书(书号,借书证号,借书日期,还书日期)
PK(主关键字)=书号,借书证号
FK(主关键字)=书号,参照表是书籍表
FK(主关键字)=借书证号,参照表是借书人表
根据检查,每个关系模式都已达到第三范式,无需修改。
4、数据库逻辑(模型)设计
4.1按四原则转化
原则1:
ER图中的每一个独立实体变换为一个关系,其属性变为关系的属性,其主标识变为关系的主码。
例如,图中独立实体“借书人”、“书籍”、“出版社”分别变为借书人关系、书籍关系和出版社关系。
借书人关系
借书证号
单位
姓名
主码
书籍关系
书号
种类
数量
存放位置
主码
出版社关系
出版社名
电话
邮编
地址
主码
原则2:
ER图中的从实体及相应的“的”联系变换为一个关系,从实体的属性加上主实体关系的主码构成这个关系的属性。
如果“的”联系是1:
1的,则以主实体关系的主码(作为外来码)为这个关系的主码;如果“的”联系是1:
M的,则以主实体关系的主码加上同一主实体个体联系的不同从属实体个体赖以相互区分的属性组,组成该关系的主码。
原则3:
1:
M联系通过在“多”实体关系中增加相联系的“1”实体关系的主码及联系本身的属性来表达。
其中“1”实体主码为外来码。
增购
书号
出版社名
种类
数量
存放位置
增购日期
增购数量
外码
主码
原则4:
M:
M联系转换成一个独立的关系,被联系实体关系的主码(作为外来码)和联系本身的属性作为该关系的属性,被联系实体关系的主码组成其复合主码。
借阅
书号
借书证号
借书日期
还书日期
外码
外码
主码(复合主码)
4.2转化的逻辑模型
借书人关系
借书证号
单位
姓名
主码
书籍关系
书号
种类
数量
存放位置
主码
出版社关系
出版社名
电话
邮编
地址
主码
借阅关系
借书证号
书号
借书日期
还书日期
外码
外码
主码(复合主码)
增购关系
书号
出版社名
种类
数量
存放位置
增购日期
增购数量
外码
主码
4.3逻辑模型的优化
增购关系
书号
出版社名
种类
数量
存放位置
增购日期
增购数量
外码
主码
可优化为
出版社名
书号
增购日期
增购数量
外码
外码
主码
4.4具体逻辑模型设计
借书人表
字段名
字段类型
字段长度
小数点位数
是否主关键字
借书证号
tinyint
0
是
单位
char
20
0
否
姓名
char
8
0
否
书籍表
字段名
字段类型
字段长度
小数点位数
是否主关键字
书号
tinyint
0
是
种类
tinyint
0
否
数量
tinyint
0
否
存放位置
tinyint
0
否
出版社表
字段名
字段类型
字段长度
小数点位数
是否主关键字
出版社名
char
30
0
是
电话
char
20
0
否
邮编
tinyint
0
否
地址
char
40
0
否
借阅表
字段名
字段类型
字段长度
小数点位数
是否主关键字
借书证号
tinyint
0
是
书号
tinyint
0
是
借书日期
datetime
0
否
还书日期
datetime
0
否
增购表
字段名
字段类型
字段长度
小数点位数
是否主关键字
出版社名
char
40
0
是
书号
tinyint
0
是
增购日期
datetime
0
否
增购数量
tinyint
0
否
5、数据库物理设计与数据库保护设计
5.1设计索引
A、书籍表的索引:
索引名
类型
表达式
书号
主索引
书号
书名
普通索引
书名
数量
普通索引
数量
存放位置
普通索引
存放位置
作/编者
普通索引
作/编者
出版社号
外部索引
出版社号
出版日期
普通索引
出版日期
B、借书人表的索引:
索引名
类型
表达式
借书证号
主索引
借书证号
姓名
普通索引
姓名
单位
普通索引
单位
性别
普通索引
性别
C、借书表的索引:
索引名
类型
表达式
借书证号
主索引
借书证号
书号
普通索引
书号
借书日期
普通索引
借书日期
还书日期
普通索引
还书日期
D、出版社表的索引
索引名
类型
表达式
出版社号
主索引
出版社号
名称
普通索引
名称
电话
普通索引
电话
邮编
普通索引
邮编
地址
普通索引
地址
5.2设计表间关系
书籍表的主索引:
书号;
借书人表的主索引:
借书证号.
借书表的主索引:
书号、借书证号
出版社表的主索引:
出版社号
书籍表和借书人表通过借书表建立关系,把本来多对多的关系分解为两个一对多。
出版社表与书籍表是多对一的关系。
5.3完整性设计
更新规则
删除规则
插入规则
父表
书籍表和借书人表
忽略
忽略
忽略
子表
借书表
更新规则
删除规则
插入规则
父表
出版社表
忽略
忽略
忽略
子表
书籍表
5.4数据库保护设计
列出父表与子表的关联索引,指出要建立的表间关系的类型。
1、出版社,书籍,借书人表是独立主体为该系统的父表
2、出版社表和书籍表间是1:
N的关系,增购是出版社和书籍的联系,关系索引为出版社名和书号
3、书籍表和借书人表间是M:
N的关系,借阅是书籍和借书人的联系,关系索引为书号和借书证号
列出主要字段完整性的字段名、完整性约束条件;列出记录完整性约束及其约束条件;列出参照完整性表。
借书人表
(1)实体完整性约束:
借书证号是主属性,不可取空值
(2)用户自定义完整性:
姓名字段不允许为空值
书籍表
(1)实体完整性约束:
书号是主属性,不可取空值
(2)用户自定义完整性:
数量不能为空值,以便查询书籍的总数
出版社表
(1)实体完整性约束:
图书证号是主属性,不可取空值
(2)用户自定义完整性:
电话不能为空值,方便联系
借阅表
(1)实体完整性约束:
(书号,借书证号)是主属性,不可取空值
(2)参照完整性约束:
借阅表和书籍表是参照与被参照关系,借阅表外部关键字是借书证号,借阅表和借书人表也是参照与被参照关系,书籍表的外部关键字是借书证号
(3)用户定义完整性:
借书日期字段类型为日期、还书日期字段类型为日期
增购表
(1)实体完整性约束:
(出版商名称,图书号)是主属性,不可取空值
(2)参照完整性约束:
增购表和出版社表是参照与被参照关系,增购表外部关键字是出版社名,增购表和书籍表也是参照与被参照关系,增购表的外部关键字是书号
(3)用户自定义约束:
增购日期字段类型为日期。
6、数据库实现
6.1建立数据库
createdatabase图书馆
on(name=library,filename='e:
\library.mdf',
size=10,
maxsize=50,
filegrowth=5)
logon(name=library_log,
filename='e:
\library.ldf',
size=5mb,
maxsize=25m
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 SQL 图书馆 借阅 管理 系统 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)