图书借阅管理数据库设计.docx
- 文档编号:6036393
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:26
- 大小:341.87KB
图书借阅管理数据库设计.docx
《图书借阅管理数据库设计.docx》由会员分享,可在线阅读,更多相关《图书借阅管理数据库设计.docx(26页珍藏版)》请在冰豆网上搜索。
图书借阅管理数据库设计
课程设计
课程名称_《数据库原理及应用B》
题目名称__图书借阅管理数据库设计___
学生学院_____管理学院______
专业班级____人力资源3班____
学号**********
学生姓名_____张敏_________
指导教师_______朱世展_________
2011年12月22日
广东工业大学课程设计任务书
题目名称
广工图书借阅管理数据库设计
学生学院
管理学院
专业班级
09人力资源3班
姓名
张敏
学号
3209005176
一、课程设计的内容
一个图书借阅管理数据库要求提供以下服务:
(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]崔巍主编,数据库应用与设计.清华大学出版社,2009
[2]王珊,陈虹.数据库系统原理教程.清华大学出版社,2003
[3]金银秋.数据库原理与设计.科学出版社,2000
[4]李建中,王珊.数据库系统原理.电子工业出版社,1998
[5]李大友.数据库原理及应用.清华大学出版社,2000
发出任务书日期:
2011年12月16日指导教师签名:
朱世展
计划完成日期:
2012年1月6日基层教学单位责任人签章:
主管院长签章:
4、数据库物理设计与数据库保护设计................................................14
1.需求分析
1.1背景分析:
随着我身边越来越多的同学都在广州读书,而且我们都很喜欢读书。
基于这个想法而建一个流动的图书馆以服务大家。
而这个图书馆的范围局限在一定的范围内,并且在三至四个点设置图书管理点。
当然这三四个区之间的距离不能太远也不太近。
这样就能方便大家交换图书而且可能缩短距离。
这个流动图书馆要实现的功能有
(1)能知道该流动图书馆有哪些藏书;(通过分类可能查阅该分类有哪些书,这些书的借阅情况)
(2)能够提供会员借阅;(通过在网上借阅,然后再到图书管理分点取书或者还书)(3)还有管理员的方便管理;随着互联网的普及和数据库技术的发展,利用数据库技术和互联网建立起来的在线管理系统已经成为一种趋势。
所以借助数据库与互联网建立的图书借阅管理系统来实现这个想法。
1.2用户需求:
学生需求:
(1)学生通过用户名和密码进行登录,登录界面则显示用户的真名,而密码则在第一次登陆后可以进行修改;也可以查询自己的基本信息它包括手机号码、电子邮箱、地址、定金余额并且可以修改其中几项;
(2)通过分类可以查看想要的书籍然后借书;
(3)学生可以查询自己的借书记录;
管理员需求:
(1)管理员登录后可自行修改自己的登录密码,但用户名不可以进行修改;也可以查询自己的基本信息它包括手机号码、电子邮箱、地址并且可以修改其中几项;
(2)管理员对收集到的书进行编码或者删掉一些图书的基本信息;
(3)当需要时,可通过数据库中保存的出版社电话、邮编及地址等信息向有关书籍的出版社增购有关书籍;
1.3业务流程分析:
会员登陆后可以执行的操作如图一所示,管理员登陆后执行的操作如图二:
图一:
图二:
1.4信息需求分析
图书借阅管理系统的数据项如表一所示:
数据项编号
数据项名称
含义
类型及大小
1
Username
用户名
Char(12)
2
Password
密码
Char(12)
3
Realname
用户的真名
Char(15)
4
Role
角色
Char
(1)
5
Sex
性别
Char
(2)
6
Utelephone
手机号码
Char(11)
7
电子邮件
Char(25)
8
Useraddress
用户管理员的地址
Char(20)
9
Moneyleft
定金余额
Char(4)
10
Booknumber
书号
Char(8)
11
Bookname
书名
Char(15)
12
catelognumber
书的分类号
Char(4)
13
Bookposition
存放位置
Char(15)
14
author
图书作者
Char(15)
14
Pressname
出版社名
Char(15)
15
bookanoumt
书的数量
Char(4)
16
Simpleintroduce
书的简介
Char(50)
17
Telephone
出版社电话
Char(12)
18
出版社邮编
Char(6)
19
Paddress
出版社地址
Char(20)
20
Catalogname
分类名
Char(12)
21
Borrowtime
借书日期
Char(8)
22
Returntime
还书日期
Char(8)
表一:
数据项
学校在线管理系统的数据结构如表二所示:
数据结构定义
数据结构名
数据结构含义
组成
DS1
books
图书信息
Booknumberbooknamecatalognumberbookpositionpressnamebookamountsimpleintroduce
DS2
borrow
借阅信息
Usernamebooknumberborrowtimereturntime
DS3
Cataglog
分类信息
Catalognamecatalognumberbookname
DS4
user
用户或管理员信息
UsernamepasswordrealnameUtelephone
E-mailuseraddressrolemoneyleft
DS5
press
出版社信息
PressnameptelephonePaddressionmail
表二:
数据结构
1.5功能需求分析
业务流程图如下:
登录及其主界面:
选择系统管理员或普通用户登录:
N
Y
N
Y
会员所要实现的功能有:
管理员所要实现的功能有:
2、概念设计
将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设
计。
它是整个数据库设计的关键。
2.1实体及属性图如图四所示:
2.2实体及其联系图:
ERD四项原则:
原则1(确定实体):
能独立存在的事物,例如人、物、事、地、团体、机构、活动、事项等等,在其有多个由基本项描述的特性需要关注时,就应把它作为实体。
在本系统中包括用户实体、分类实体、出版社实体、借阅信息、图书实体一共5个实体。
原则2(确定联系):
两个或多个实体间的关联与结合,如主管,从属,组成,占有,作用,配合,协同等等,当需要予以关注时,应作为联系。
联系通常是某类行为动作,ERD中关注的是其状态与结果而非其过程。
本系统的5个实体间都存在着一定的联系。
例如:
(1)一个管理员管理若干个会员、若干图书,因为有多个管理员,因此一本书可能被多个管理员管理,同理,一本图书也可能被多个管理员更新或者删除。
这是多对多的关系。
而管理员内部是一对多的关系,即一个管理员领导其它的管理员。
(2)会员有可能借多本书,而一本书也有可能被多个会员借阅。
因为会员与图书之间的关系是多对多的关系。
(3)一本图书只能属于一个出版社出版,故出版社与图书之间的关系是一对多的关系。
(4)一个大分类对应若干种图书,故分类与图书之间的关系是一对多的关系。
原则3(确定属性):
实体的属性是实体的本质特征。
实体应有标识属性(能把不同个体区分开来的属性组),并指定其中一个作为主标识。
联系的属性是联系的结果或状态。
属性具有如下几个特点:
①非多值性②非复合性③非导出性,
实体的属性还应有非关联性,只是一个实体的基本特征,与其他实体无关;联系的属性应具有关联性,是对联系结果或状态的描述。
原则4(一事一地):
信息分析中得到的基本项要在且仅在实体联系图中的一个地方作为属性出现。
这条原则是对ERD的检验原则,对确定其构思是否正确具有很大的意义。
首先要看ERD中有没有重复出现的属性名,如果有,一定是错误的,要分析原因,消除重复。
由以上四条原则,可画出数据库的ER图:
n
1
Pm
Qn
Xyw1
k
1
在消除各种冲突和不必要的冗余之后,基本E-R图就生成了,下面根据概念结构设计结果来进行逻辑结构设计。
3、逻辑设计
概念结构是独立于任何一种数据模型的信息结构。
逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为与所选用的DBMS产品所支持的数据模型想符合的逻辑结构。
3.1E-R图向关系模型转换
把总E-R图转换成为关系模式,下划线表示关系的码。
用户(用户名,密码,用户真名,角色)
分类(分类名,分类号)
出版社(出版社名,电话,邮编,地址)
图书(书名,书号,分类号,存放位置,作者,数量,出版社名,简单介绍)
借阅信息(用户名,书号,借书日期,还书日期)
用户信息(用户名,手机号码,电子邮箱,地址,性别,定金余额)
3.2具体逻辑模型设计
字段名
类型
是否为主键
可否为空
说明
Username
Char(12)
是
否
用户名
password
Char(15)
否
否
密码
realname
Char(15)
否
否
用户真名
role
Char
(1)
否
否
0代表会员;1代表管理员
表一:
User
字段名
类型
是否为主键
可否为空
说明
Catalogname
Char(12)
否
否
分类名
Catalognumber
Char(4)
是
否
分类编号
表二:
Catalog
字段名
类型
是否为主键
可否为空
说明
Pressname
Char(15)
是
否
出版社名
Ptelephone
Char(11)
否
否
出版社电话
Pmail
Char(6)
否
否
出版社邮编
Paddress
Char(20)
否
否
出版社地址
表三:
Press
字段名
类型
是否为主键
可否为空
说明
bookname
Char(12)
否
否
书名
Booknumber
Char(8)
是
否
书的唯一编号
Catalognumber
Char(4)
否
否
分类号
Bookposition
Char(15)
否
否
书的存放位置
Anthor
Char(15)
否
否
书的作者
Bookamount
Char(4)
否
否
书的数量
Pressname
Char(15)
否
否
出版社名
Simpleintroduce
Char(50)
否
是
简单介绍
表四:
Book
字段名
类型
是否为主键
可否为空
说明
Username
Char(12)
是
否
用户名
Booknumber
Char(8)
是
否
书号
Borrowtime
Char(8)
否
否
借书时间
Returntime
Char(8)
否
是
还书时间
表五:
BorrowInfo
字段名
类型
是否为主键
可否为空
说明
Username
Char(12)
是
否
用户名
Utelephone
Char(11)
否
否
用户手机号码
Char(25)
否
否
用户电子邮箱
Uaddress
Char(20)
否
否
用户地址
Usex
Char
(2)
否
否
用户性别
Moneyleft
Char(4)
否
是
定金余额
表六:
UserInfo
4、数据库物理设计与数据库保护设计
4.1设计索引:
建立索引时加快查询速度的有效手段,下面在部分表上经常查询的列建立索引。
(1)createuniqueindexbookInonBook(catalogASC,booknumberASC)
//表示在Book表上按分类号升序和书号升序排列,bookIn为索引名;
(2)createuniqueindexcatalogInonCatalog(catalognumberASC)
//表示在Catalog表上按分类号升序建立索引,CatalogIn为索引名;
(3)createuniqueindexuserinfoInonUserInfoon(UsernameASC)
//表示在UserInfo表上按用户名升序建立索引,userinfoIn为索引名;
(4)createuniqueindexpressInonPress(pressnameASC)
//表示在press表上按出版社名升序建立索引,pressIn为索引名;
4.2设计表间关系:
各表之间的关系如下:
(1)表四:
BorrowInfo使用了表Book中的主码booknumber和表user中的主码username作为其外码。
BorrowInfo为父表,表Book和表user为子表。
4.3完整性设计:
4.3.1主要字段完整性约束,完整性约束条件如表十所示
字段名
类型
是否为主键
完整性约束条件
Username
Char(12)
是
主键约束,非空唯一
realname
Char(15)
否
非空
Catalogname
Char(12)
否
非空
Catalognumber
Char(4)
是
主键约束,非空唯一
Pressname
Char(15)
是
主键约束,非空唯一
bookname
Char(12)
否
非空
Booknumber
Char(8)
是
主键约束,非空唯一
Username
Char(15)
是
主键约束,非空唯一与Booknumber同为主健
Booknumber
Char(8)
是
主键约束,非空唯一与Username同为主健
Username
Char(15)
是
主键约束,非空唯一
4.3.2记录完整性约束及其约束条件如表十一所示:
表名
物理存储名
完整性约束条件
用户
User
用户表的记录通过非空主健username进行唯一的标识
分类
Catalog
分类表的记录通过非空主健catalognumber进行唯一的标识
出版社
Press
出版社表的记录通过非空主健pressname进行唯一的标识
图书
Book
图书表的记录通过非空主健booknumber进行唯一的标识
借阅信息
BorrowInfo
借阅信息表的记录通过非空主健username和booknumber进行唯一的标识,两者均为非空。
用户信息
UserInfo
用户信息表的记录通过非空主健username进行唯一的标识
4.3.3参照完整性表
参照关系
被参照关系
外码
借阅信息表
用户表、图书表
Usernamebooknumber
4.4在有多个用户操作时,考虑用户授权与安全性控制。
本系统对不同的使用者所需的功能不同,因而需要考虑用户权限的问题,以保证信息的安全。
例如管理员是拥有最多的权限,例如可以设置图书的增,删,查改还可能其它会员的各种信息。
而做为会员除了可以查看自己的信息外,还可以查看自己的借书历史,还是通过该系统进行借阅图书等。
两者的权限是不同的。
5.处理功能设计
5.1主控模块设计:
对不同使用者登陆时进行身份验证并执行各自可以进行的相关操作。
5.2子模块设计:
登陆模块设计,输入不同身份登陆者对应的用户名和密码,保证系统数据的安全。
6.数据库应用系统的实现
6.1数据库及其表结构的建立
1.创建数据库
2.创建读者身份表
createtable读者身份
(读者类型char(8)primarykeynotnull,
可借册书tinyintcheck(可借册书in(16,22)),
可借天数tinyintnotnull,
)
3.创建读者表
createtable读者
(图书证编号char(11)primarykey,
姓名char(10)notnull,
单位varchar(40)notnull,
性别char
(2)notnull,
读者类型char(8)notnull,)
4.创建图书表
createtable图书
(图书编号char(8)primarykey,
书名varchar(30)notnull,
库存数量tinyintnotnull,
出版社名称char(20)notnull)
5.创建借还登记表
createtable借还登记
(图书证编号char(11),
图书编号char(8),
借书日期datetimenotnull,
还书日期datetime,
应还日期datetimenotnull,)
6.创建出版社表
createtable出版社
(出版社名称char(20)primarykey,
电话varchar(11)notnull,
地址varchar(20),
邮编char(6),)
7.创建处罚登记表
createtable处罚登记
(罚款单编号char(4)primarykey,
图书馆编号char(11)notnull,
图书编号char(8)notnull,
罚款金额moneynotnull,)
8.创建关系图
8.插入读者表数据
insert读者values('32090045','王一','管理学院','男','本科生')
insert读者values('32090046','牛二','管理学院','男','研究生')
insert读者values('32090089','张三','经济学院','男','本科生')
insert读者values('32090012','李四','经济学院','男','研究生')
insert读者values('32090055','琪琪','管理学院','女','本科生')
insert读者values('32090098','姗姗','经济学院','女','本科生')
insert读者values('32090001','舒广','应用数学学院','男','研究生')
insert读者values('32090048','舒服','管理学院','女','本科生')
insert读者values('32090085','亦舒','经济学院','女','本科生')
insert读者values('32090049','一铭','管理学
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 借阅 管理 数据库 设计