图书管理系统数据库结构说明书.docx
- 文档编号:6244492
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:30
- 大小:242.22KB
图书管理系统数据库结构说明书.docx
《图书管理系统数据库结构说明书.docx》由会员分享,可在线阅读,更多相关《图书管理系统数据库结构说明书.docx(30页珍藏版)》请在冰豆网上搜索。
图书管理系统数据库结构说明书
《数据库应用开发项目技术》课程设计
学号:
1302012109
姓名:
钟威
学院:
电气与信息工程学院
专业:
计算机科学与技术
指导教师:
梁君霞
分数:
2015年6月24日
1.课程设计目的
2.课程设计内容
2.1课程设计题目及要求
2.2数据库需求分析
2.2.1功能分析
2.2.2数据流图
2.2.3数据字典
2.3数据库概念设计
2.3.1局部E-R图
2.3.2全局E-R图
2.4数据库逻辑设计
2.4.1读者信息表表的逻辑结构
2.4.2图书信息表的逻辑结构
2.4.3借书证表的逻辑结构
2.5数据库物理设计
2.5.1数据表的创建
2.5.2表中约束,规则的创建
2.5.3视图的创建
2.5.4存储过程的创建
2.5.5触发器的使用
2.6数据的测试
2.6.1数据插入,修改,删除的测试
2.6.2存储过程的测试
2.6.3触发器的测试
3.课程设计总结及心得体会
4.参考文献
1.课程设计目的:
数据库应用开发项目设计是数据库系统原理实践环节的及为重要的一部分,其目的是:
(1)培养学生能够应用数据库系统原理在需求分析的基础上对系统进行概念设计,学会设计局部ER,全局ER图。
(2)培养学生能够应用数据库系统原理在概念设计的基础上应用关系规范化理论对系统进行逻辑设计,学会在ER图基础上设计出易于查询和操作的合理的规范化关系模型。
(3)培养学生能够应用SQL语言对所设计的规范化关系模型进行物理设计,并且能够应用视图,存储过程,触发器,游标技术以保证数据库系统的数据完整性,安全性,一致性,保证数据共享和防止数据冲突.
(4)培养学生理论与实际相结合能力,培养学生开发创新能力
2.课程设计内容:
2.1课程设计题目及要求
本文研究的图书管理系统的数据库。
计算机主要是借助软件用来存储、更新数据的,并有统计书目的功能。
使用管理系统软件,虽然需要投入一定的资金,但同时却可以使处理速度成倍、成十倍的增加,使在固有的时间内能让尽量多的会员办理完手续,增加了处理速度,而且可以减少员工数量,是公司更加精简;由于计算机是一种高精度的机器,所以使用计算机软件辅助后,出错的几率也就变得非常低了。
2.2数据库需求分析
2.2.1功能分析
根据这些需要,本系统需要建立“用户信息”表,“图书借阅”表,“读者信息”表,“借阅逾期”表,“系统日志”表,“图书信息”表,“日志”表,“预借”表,“罚款日志”表和“续借信息”表等。
事务需求分析
经过实际考察、咨询和分析,图书管理系统主要应该具有以下功能模块。
(1)读者登录界面部分,要求有如下功能:
①可以显示读者信息(包括当前借书情况以及是否有罚款在身等相关信息);
②图书查询功能;
③借书操作;
④续借操作;
(2)管理员登录界面部分,要求有如下功能:
①新书上架操作(完成新书录入工作);
②图书信息修改操作;
③图书相关统计操作;
④办理借书证操作;
⑤借书证的挂失与解封等操作;
⑥接收还书;
⑦接收罚金
2.2.2数据流图
“图书管理系统”顶层数据流图:
“图书管理系统”1层数据流图:
加工2“图书管理”的数据流图:
加工3“借书证管理”数据流图:
加工4“借书管理”数据流图:
2.2.3数据字典
数据字典是以数据库中数据基本单元为单位,按一定顺序排列,对其内容作详细说明的数据集。
针对图书管理系统得到过程和数据流程分析,设计得到如下的数据项和数据结构:
图书信息:
包括的数据项主要有:
编号,书名,主编,出版社,借书日期。
读者信息:
包括的数据项主要有:
姓名,借书证号,身份,可借书数目,借书限制和已借书数量。
借书证:
包括的数据项主要有:
借书证号,读者姓名,读者类型,借书时间,借阅图书数量和是否逾期。
管理员:
包括的数据项主要有:
账号,密码,性别,年龄。
“借书”描述内容
名称借书
简述:
图书信息
数据流组成:
图书编号+书名+主编+出版社+借阅日期
数据流来源:
用户将图书交给借书员,借书员经过审查后将相关信息输入计算机。
数据量:
800个/日
峰值:
3000个/日
“填写读者信息”描述内容
名称填写读者信息
简述:
填入读者信息的记录
数据流组成:
姓名+借书证号+身份+可借书数目+借书限制+已借书数量
数据流来源:
检查合格的读者信息录入到读者信息库中
“借书证”描述内容
名称借书证库
简述:
借书证
数据流组成:
借书证号+读者姓名+读者类型+借书时间+借阅图书数量+是否逾期
数据流来源:
用户将借书证交给借书员,借书员经过审查后将相关信息输入计算机。
数据量:
800个/日
峰值:
3000个/日
2.3数据库概念设计
2.3.1局部E-R图
下图实体读者的E-R模型图:
下图是实体书籍的E-R模型图:
下图是读者与借阅间的联系借阅的E-R模型图:
2.3.2全局E-R图
整个图书管理系统的E-R模型关系图如下所示:
2.4数据库逻辑设计
2.4.1读者信息表的逻辑结构
Reader(Number,CardID,ReaderName,BorrowNumber,Strichcode,ReaderTypeID,Mode,RegistrationTime,ValidTime,Sex,Dept,Call)
编号
列名
数据类型
长度
是否允许为空
默认值
描述
1
Number
Int
5
否
编号
2
CardID
char
5
否
借书证号(主键)
3
ReaderName
varchar
10
否
读者姓名
4
BorrowNumber
Int
5
否
已借阅图书数量
5
Strichcode
char
5
否
条形码
6
ReaderTypeID
char
10
否
读者类型
7
Mode
varchar
10
否
书证状态
8
RegistrationTime
varchar
16
否
登记日期
9
ValidTime
varchar
16
否
有效期至
10
Sex
Char
2
否
性别
11
Dept
varchar
20
否
工作单位
12
Call
varchar
15
否
电话
2.4.2图书信息表的逻辑结构
编号
列名
数据类型
长度
是否允许为空
默认值
描述
1
Number
Int
5
否
编号
2
BookID
char
5
否
图书编号(主键)
3
Author
varchar
20
否
作者
4
SlassificationID
Int
5
否
分类号
5
BookName
char
5
否
书名
6
Type1
char
10
否
图书类型
7
Extant
int
2
是
可借数
8
Qty
Int
5
是
库存数
2.4.3借书证表的逻辑结构
编号
列名
数据类型
长度
是否允许为空
默认值
描述
1
Number
Int
5
否
编号
2
CardID
char
5
否
借书证号(主键)
3
BorrowNumber
Int
5
否
已借阅图书数量
4
Strichcode
char
5
否
条形码
5
ReaderTypeID
char
10
否
读者类型
6
Mode
varchar
10
否
书证状态
7
RegistrationTime
varchar
16
否
登记日期
8
ValidTime
varchar
16
否
有效期至
9
Sex
Char
2
否
性别
10
Dept
varchar
20
否
工作单位
11
Call
varchar
15
否
电话
2.5数据库物理设计
2.5.1数据表的创建
用户表的创建:
createtableUsers
(
u_Namevarchar(16)notnull,
u_Passvarchar(16)notnull,
u_Typechar(8),
u_Stopuserchar
(2)
)
insertintoUsersvalues('cjp','110212','超级用户','否');
insertintoUsersvalues('wlh','881104','普通用户','否');
图书借阅表的创建
createtableBorrow
(
Numberint,--编号
CardIDchar(5)notnull,--借书证号
ReaderNamevarchar(10)notnull,--读者姓名
BookIDvarchar(10),--图书编号
BookNamevarchar(20)notnull,--图书名
Authorvarchar(20)notnull,--作者
Publishervarchar(30),--出版社
Priceint,--价格
BorrowDatevarchar(16)notnull,--借书日期
BorrowNumbervarchar
(2),--借书数量
UserNamevarchar(10),--操作员
BroTiemevarchar(3),--借阅时长
IsOverdueChar
(2)--是否超期
--primarykey(BookID,CardID)
)
insertintoBorrowvalues('1','C0001','刘星','B0001','网页制作基础','刘备','清华出版社','22','2008-9-12','1','cjp','90','否');
insertintoBorrowvalues('2','C0007','马尔','B0002','C#程序设计','张清','水电工程出版社','45','2008-10-28','1','cjp','90','否');
insertintoBorrowvalues('3','C0001','刘星','B0003','生活常识','李德奇','清华出版社','18','2008-9-22','1','cjp','90','否');
insertintoBorrowvalues('4','C0004','刘莉','B0002','C#程序设计','张清','水电工程出版社','45','2008-9-24','1','cjp','90','否');
insertintoBorrowvalues('5','C0006','吴良华','B0003','生活常识','李德奇','清华出版社','18','2008-9-12','1','cjp','90','否');
insertintoBorrowvalues('6','C0006','吴良华','B0004','计算机英语','王城','人邮出版社','34','2008-10-11','1','cjp','90','否');
insertintoBorrowvalues('7','C0008','徐明','B0004','计算机英语','王城','人邮出版社','34','2008-11-01','1','cjp','90','否');
insertintoBorrowvalues('8','C0009','李明卫','B0003','生活常识','李德奇','清华出版社','18','2008-9-15','1','cjp','90','否');
insertintoBorrowvalues('9','C000A','杨欣怡','B0002','C#程序设计','张清','水电工程出版社','45','2008-10-7','1','cjp','90','否');
读者信息表的创建:
go
createtableReader
(
Numberintnotnull,--编号
CardIDchar(5)primarykey,--借书证号
ReaderNamevarchar(10)notnull,--读者姓名
BorrowNumberint,--已借阅图书数量
Strichcodechar(5),--条形码
ReaderTypeIDchar(10),--读者类型:
1代表教师,2代表学生
Modevarchar(10),--书证状态
RegistrationTimevarchar(16),--登记日期
ValidTimevarchar(16),--有效期至
Sexchar
(2),--性别0--男1---女
Deptvarchar(20),--工作单位
Callvarchar(15)--电话
)
go
insertintoReadervalues('1','C0001','刘星',2,'DZ001','教师','有效','2008-9-12','2012-9-11','女','培训部','');
insertintoReadervalues('2','C0004','刘莉',1,'DZ001','教师','有效','2008-9-11','2012-9-11','女','培训部','');
insertintoReadervalues('3','C0006','吴良华',2,'DZ001','职工','有效','2008-9-11','2012-9-11','男','人事处','');
insertintoReadervalues('4','C0007','马尔',1,'DZ001','教师','无效','2004-9-11','2008-9-11','男','财务部','');
insertintoReadervalues('5','C0008','徐明',1,'DZ001','教师','无效','2004-4-11','2008-9-11','男','财务部','');
insertintoReadervalues('6','C0009','李明卫',1,'DZ001','教师','有效','2008-9-11','2012-9-11','男','学生工作处','');
insertintoReadervalues('7','C000A','杨欣怡',1,'DZ001','学生','有效','2008-9-11','2012-9-11','女','学生工作处','');
借阅逾期表的创建:
createtableOverdueInfo
(
Numberintnotnull,
CardIDchar(5)notnull,--借书证号
ReaderNamevarchar(10)notnull,--读者姓名
BookIDvarchar(10),--图书编号
BookNamevarchar(20)notnull,--图书名
Authorvarchar(20)notnull,--作者
Publishervarchar(30),--出版社
Priceint,--价格
BorrowDatevarchar(16)notnull,--借书日期
BorrowNumbervarchar
(2),--借书数量
UserNamevarchar(10),--操作员
SpilthDayint--超期天数
--primarykey(BookID,CardID)
)
--insertintoOverdueInfovalues('C0001','刘星','B0001','网页制作基础','刘备','清华出版社','22','2008-9-12','1','cjp','0');
--insertintoOverdueInfovalues('C0007','马尔','B0002','C#程序设计','张清','水电工程出版社','45','2008-10-28','1','cjp','0');
--insertintoOverdueInfovalues('C0001','刘星','B0003','生活常识','李德奇','清华出版社','18','2008-9-22','1','cjp','0');
--insertintoOverdueInfovalues('C0004','刘莉','B0002','C#程序设计','张清','水电工程出版社','45','2008-9-24','1','cjp','0');
--insertintoOverdueInfovalues('C0006','吴良华','B0003','生活常识','李德奇','清华出版社','18','2008-9-12','1','cjp','0');
--insertintoOverdueInfovalues('C0006','吴良华','B0004','计算机英语','王城','人邮出版社','34','2008-10-11','1','cjp','0');
--insertintoOverdueInfovalues('C0008','徐明','B0004','计算机英语','王城','人邮出版社','34','2008-11-01','1','cjp','0');
--insertintoOverdueInfovalues('C0009','李明卫','B0003','生活常识','李德奇','清华出版社','18','2008-9-15','1','cjp','0');
--insertintoOverdueInfovalues('C000A','杨欣怡','B0002','C#程序设计','张清','水电工程出版社','45','2008-10-7','1','cjp','0');
go
系统日志表的创建:
createtableJournal
(
Numberintnotnull,--编号
JournalNamevarchar(10)notnull,--员工姓名
Statusvarchar(10),--身份
EnterTimevarchar(16)--进入时间
primarykey(EnterTime)
)
insertintoJournalvalues('1','cjp','超级用户','2008-9-11');
图书信息表的创建:
createtableBook
(
Numberintnotnull,--编号
BookIDvarchar(10)primarykey,--图书编号
Strichcodevarchar(10),--条形码
SlassificationIDvarchar(5),--分类号
BookNamevarchar(40)notnull,--图书名
Type1varchar(10),--类型
Authorvarchar(20)notnull,--作者
Translatorvarchar(20),--译者
ISBNvarchar(17),--ISBN码
Publishervarchar(30),--出版社
Revisionvarchar(8),--版次
Formatvarchar
(2),--开本
Wordint,--字数
Pageint,--页码
Priceint,--价格
EnterTimevarchar(16)notnull,--入馆时间
Qtyint,--库存数
Extantint,--可借数
Circulatebit--是否流通
)
go
insertintoBookvalues('1','B0011','XS001','000AB','网页制作基础','专业类','刘备','Freax','XORSE','清华出版社','第一版','16','235780','254','22','2006-01-08','20','19','0');
insertintoBookvalues('2','B0002','XS001','000AB','C#程序设计','专业类','张清','Freac','XORSE','水电工程出版社','第二版','16','234345','341','45','2006-01-08','50','49','0');
insertintoBookvalues('3','B0003','XS001','100AB','生活常识','其它类','李德奇','','XORSE','清华出版社','第一版','16','267688','349','18','2001-01-08','40','39','0');
insertintoBookvalues('4','B0004','XS001','100AB','计算机英语','其它类','王城','Freac','XORSE','人邮出版社','第五版','16','235676','419','34','2006-01-08','40','39','1');
insertintoBookvalues('5','B0005','XS001','000AB','ASP.NET简易教程','专业类','吴海波','Freac','XORSE','人邮出版社','第二版','16','765474','389','69','2006-01-08','50','49','0');
insertintoBookvalues('6','B0006','XS001','100AB','60岁登上健康之门','其它类','洪韶光','','XORSE','清华出版社','第一版','16','156577','443','15','2006-01-08','40','39','1');
insertintoBookvalues('7','B0007','XS001','000AB','JAVA程序设计','专业类','碧名','Freac','XORSE','机械工业出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 管理 系统 数据库 结构 说明书