图书借阅管理数据库设计Word格式文档下载.docx
《图书借阅管理数据库设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《图书借阅管理数据库设计Word格式文档下载.docx(26页珍藏版)》请在冰豆网上搜索。
![图书借阅管理数据库设计Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2023-1/2/9311614c-f4b7-4deb-b07d-1600891f828f/9311614c-f4b7-4deb-b07d-1600891f828f1.gif)
描述系统的业务流程,画出规范的业务流程图。
数据库概念模式设计
写出由基本项相应得出的实体、联系及其属性,并确定主实体的标识特征,画出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信息需求分析
图书借阅管理系统的数据项如表一所示:
数据项编号
数据项名称
含义
类型及大小
Username
用户名
Char(12)
Password
密码
Realname
用户的真名
Char(15)
Role
角色
Char
(1)
Sex
性别
Char
(2)
Utelephone
手机号码
Char(11)
7
E-mail
电子邮件
Char(25)
8
Useraddress
用户管理员的地址
Char(20)
9
Moneyleft
定金余额
Char(4)
10
Booknumber
书号
Char(8)
11
Bookname
书名
12
catelognumber
书的分类号
13
Bookposition
存放位置
14
author
图书作者
Pressname
出版社名
15
bookanoumt
书的数量
16
Simpleintroduce
书的简介
Char(50)
17
Telephone
出版社电话
18
Mail
出版社邮编
Char(6)
19
Paddress
出版社地址
20
Catalogname
分类名
21
Borrowtime
借书日期
22
Returntime
还书日期
表一:
数据项
学校在线管理系统的数据结构如表二所示:
数据结构定义
数据结构名
数据结构含义
组成
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具体逻辑模型设计
字段名
类型
是否为主键
可否为空
说明
是
否
password
realname
用户真名
role
0代表会员;
1代表管理员
User
Catalognumber
是
分类编号
Catalog
Ptelephone
Pmail
表三:
Press
bookname
书的唯一编号
分类号
书的存放位置
Anthor
书的作者
Bookamount
简单介绍
表四:
Book
借书时间
还书时间
表五:
BorrowInfo
用户手机号码
用户电子邮箱
Uaddress
用户地址
Usex
用户性别
表六:
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主要字段完整性约束,完整性约束条件如表十所示
完整性约束条件
主键约束,非空唯一
非空
主键约束,非空唯一与Booknumber同为主健
主键约束,非空唯一与Username同为主健
4.3.2记录完整性约束及其约束条件如表十一所示:
表名
物理存储名
用户
用户表的记录通过非空主健username进行唯一的标识
分类
分类表的记录通过非空主健catalognumber进行唯一的标识
出版社
出版社表的记录通过非空主健pressname进行唯一的标识
图书
图书表的记录通过非空主健booknumber进行唯一的标识
借阅信息表的记录通过非空主健username和booknumber进行唯一的标识,两者均为非空。
用户信息
用户信息表的记录通过非空主健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'
牛二'
研究生'
32090089'
张三'
经济学院'
32090012'
李四'
32090055'
琪琪'
女'
32090098'
姗姗'
32090001'
舒广'
应用数学学院'
32090048'
舒服'
32090085'
亦舒'
32090049'
一铭'
管理学