图书管理系统数据库结构说明书.docx_第1页
图书管理系统数据库结构说明书.docx_第2页
图书管理系统数据库结构说明书.docx_第3页
图书管理系统数据库结构说明书.docx_第4页
图书管理系统数据库结构说明书.docx_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库应用开发项目技术课程设计学 号: 1302012109 姓 名: 钟威 学 院:电气与信息工程学院专 业:计算机科学与技术 指导教师: 梁君霞 分 数: 2015年 6月 24 日II目 录1 课程设计目的2 课程设计内容21 课程设计题目及要求22 数据库需求分析221 功能分析222 数据流图223 数据字典23 数据库概念设计231 局部E-R图I232 全局E-R图24 数据库逻辑设计241 读者信息表表的逻辑结构242 图书信息表的逻辑结构243 借书证表的逻辑结构25 数据库物理设计251 数据表的创建252 表中约束,规则的创建253 视图的创建254 存储过程的创建255 触发器的使用26 数据的测试261 数据插入,修改,删除的测试262 存储过程的测试263 触发器的测试3课程设计总结及心得体会4参考文献第 II 页 1.课程设计目的:数据库应用开发项目设计是数据库系统原理实践环节的及为重要的一部分,其目的是:(1)培养学生能够应用数据库系统原理在需求分析的基础上对系统进行概念设计,学会设计局部ER,全局ER图。(2)培养学生能够应用数据库系统原理在概念设计的基础上应用关系规范化理论对系统进行逻辑设计,学会在ER图基础上设计出易于查询和操作的合理的规范化关系模型。(3)培养学生能够应用SQL语言对所设计的规范化关系模型进行物理设计,并且能够应用视图,存储过程,触发器,游标技术以保证数据库系统的数据完整性,安全性,一致性,保证数据共享和防止数据冲突.(4) 培养学生理论与实际相结合能力, 培养学生开发创新能力2.课程设计内容:21 课程设计题目及要求本文研究的图书管理系统的数据库。 计算机主要是借助软件用来存储、更新数据的,并有统计书目的功能。使用管理系统软件,虽然需要投入一定的资金,但同时却可以使处理速度成倍、成十倍的增加,使在固有的时间内能让尽量多的会员办理完手续,增加了处理速度,而且可以减少员工数量,是公司更加精简;由于计算机是一种高精度的机器,所以使用计算机软件辅助后,出错的几率也就变得非常低了。22 数据库需求分析221 功能分析根据这些需要,本系统需要建立“用户信息”表,“图书借阅”表,“读者信息”表,“借阅逾期”表,“系统日志”表,“图书信息”表,“日志”表,“预借”表,“罚款日志”表和“续借信息”表等。事务需求分析经过实际考察、咨询和分析,图书管理系统主要应该具有以下功能模块。(1)读者登录界面部分,要求有如下功能: 可以显示读者信息(包括当前借书情况以及是否有罚款在身等相关信息); 图书查询功能; 借书操作; 续借操作;(2)管理员登录界面部分,要求有如下功能: 新书上架操作(完成新书录入工作); 图书信息修改操作; 图书相关统计操作; 办理借书证操作; 借书证的挂失与解封等操作; 接收还书; 接收罚金222 数据流图借书基本信息系统管理员借书证图书借阅“图书管理系统”顶层数据流图:“图书管理系统”1层数据流图:加工2“图书管理”的数据流图:加工3“借书证管理”数据流图:加工4“借书管理”数据流图:223 数据字典数据字典是以数据库中数据基本单元为单位,按一定顺序排列,对其内容作详细说明的数据集。针对图书管理系统得到过程和数据流程分析,设计得到如下的数据项和数据结构:图书信息:包括的数据项主要有:编号,书名,主编,出版社,借书日期。读者信息:包括的数据项主要有:姓名,借书证号,身份,可借书数目,借书限制和已借书数量。借书证:包括的数据项主要有:借书证号,读者姓名,读者类型,借书时间,借阅图书数量和是否逾期。管理员:包括的数据项主要有:账号,密码,性别,年龄。“借书”描述内容名称 借书简述:图书信息数据流组成:图书编号+书名+主编+出版社+借阅日期数据流来源:用户将图书交给借书员,借书员经过审查后将相关信息输入计算机。数据量:800个/日峰值:3000个/日 “填写读者信息”描述内容名称 填写读者信息简述:填入读者信息的记录数据流组成 :姓名+借书证号+身份+可借书数目+借书限制+已借书数量数据流来源:检查合格的读者信息录入到读者信息库中 “借书证”描述内容名称 借书证库简述:借书证数据流组成:借书证号+读者姓名+读者类型+借书时间+借阅图书数量+是否逾期数据流来源:用户将借书证交给借书员,借书员经过审查后将相关信息输入计算机。数据量:800个/日峰值:3000个/日23 数据库概念设计231 局部E-R图 下图实体读者的E-R模型图:读者信息借书证号姓名身份可借书数量借书限制已借书数量联系电话下图是实体书籍的E-R模型图:图书信息编 号书 名借书日期主编出版社数量下图是读者与借阅间的联系借阅的E-R模型图:读者姓名读者类型借书证号编号 借书日期还书日期 借书证是否逾期232 全局E-R图 整个图书管理系统的E-R模型关系图如下所示: 用 户图书借 阅mn24 数据库逻辑设计241 读者信息表的逻辑结构Reader(Number,CardID,ReaderName,BorrowNumber,Strichcode,ReaderTypeID,Mode,RegistrationTime,ValidTime,Sex,Dept,Call)编号列名数据类型长度是否允许为空默认值描述1NumberInt5否编号2CardIDchar5否借书证号(主键)3ReaderNamevarchar10否读者姓名4BorrowNumberInt5否已借阅图书数量5Strichcodechar5否条形码6ReaderTypeIDchar10否读者类型7Modevarchar10否书证状态8RegistrationTimevarchar16否登记日期9ValidTimevarchar16否有效期至10SexChar2否性别11Deptvarchar20否工作单位12Callvarchar15否电话242 图书信息表的逻辑结构编号列名数据类型长度是否允许为空默认值描述1NumberInt5否编号2BookIDchar5否图书编号(主键)3Authorvarchar20否作者4SlassificationIDInt5否分类号5BookNamechar5否书名6Type1char10否图书类型7 Extantint2是可借数8QtyInt5是库存数243 借书证表的逻辑结构编号列名数据类型长度是否允许为空默认值描述1NumberInt5否编号2CardIDchar5否借书证号(主键)3BorrowNumberInt5否已借阅图书数量4Strichcodechar5否条形码5ReaderTypeIDchar10否读者类型6Modevarchar10否书证状态7RegistrationTimevarchar16否登记日期8ValidTimevarchar16否有效期至9SexChar2否性别10Deptvarchar20否工作单位11Callvarchar15否电话25 数据库物理设计251 数据表的创建 用户表的创建:create table Users(u_Name varchar(16) not null,u_Pass varchar(16) not null,u_Type char(8),u_Stopuser char(2)insert into Users values (cjp,110212,超级用户,否);insert into Users values (wlh,881104,普通用户,否);图书借阅表的创建create table Borrow(Number int, -编号 CardID char(5) not null, -借书证号 ReaderName varchar(10) not null, -读者姓名 BookID varchar(10), -图书编号 BookName varchar(20) not null,-图书名 Author varchar(20) not null,-作者 Publisher varchar(30),-出版社 Price int ,-价格 BorrowDate varchar (16) not null, -借书日期 BorrowNumber varchar(2), -借书数量 UserName varchar(10), -操作员 BroTieme varchar(3), -借阅时长 IsOverdue Char(2)-是否超期-primary key(BookID,CardID) insert into Borrow values(1,C0001,刘星,B0001,网页制作基础,刘备,清华出版社,22,2008-9-12,1,cjp,90,否);insert into Borrow values(2,C0007,马尔,B0002,C#程序设计,张清,水电工程出版社,45,2008-10-28,1,cjp,90,否); insert into Borrow values(3,C0001,刘星,B0003,生活常识,李德奇,清华出版社,18,2008-9-22,1,cjp,90,否);insert into Borrow values(4,C0004,刘莉,B0002,C#程序设计,张清,水电工程出版社,45,2008-9-24,1,cjp,90,否);insert into Borrow values(5,C0006,吴良华,B0003,生活常识,李德奇,清华出版社,18,2008-9-12,1,cjp,90,否); insert into Borrow values(6,C0006,吴良华,B0004,计算机英语,王城,人邮出版社,34,2008-10-11,1,cjp,90,否);insert into Borrow values(7,C0008,徐明,B0004,计算机英语,王城,人邮出版社,34,2008-11-01,1,cjp,90,否); insert into Borrow values(8,C0009,李明卫,B0003,生活常识,李德奇,清华出版社,18,2008-9-15,1,cjp,90,否);insert into Borrow values(9,C000A,杨欣怡,B0002,C#程序设计,张清,水电工程出版社,45,2008-10-7,1,cjp,90,否);读者信息表的创建:gocreate table Reader ( Number int not null ,-编号 CardID char(5)primary key, -借书证号 ReaderName varchar(10) not null,-读者姓名 BorrowNumber int, -已借阅图书数量 Strichcode char(5) ,-条形码 ReaderTypeID char(10),-读者类型:1代表教师,2代表学生 Mode varchar(10),-书证状态 RegistrationTime varchar (16),-登记日期 ValidTime varchar (16),-有效期至 Sex char(2),-性别 0-男 1-女 Dept varchar(20) ,-工作单位 Call varchar(15) -电话)goinsert into Reader values(1,C0001,刘星,2,DZ001,教师,有效,2008-9-12,2012-9-11,女,培训部;insert into Reader values(2,C0004,刘莉,1,DZ001,教师,有效,2008-9-11,2012-9-11,女,培训部;insert into Reader values(3,C0006,吴良华,2,DZ001,职工,有效,2008-9-11,2012-9-11,男,人事处;insert into Reader values(4,C0007,马尔,1,DZ001,教师,无效,2004-9-11,2008-9-11,男,财务部;insert into Reader values(5,C0008,徐明,1,DZ001,教师,无效,2004-4-11,2008-9-11,男,财务部;insert into Reader values(6,C0009,李明卫,1,DZ001,教师,有效,2008-9-11,2012-9-11,男,学生工作处;insert into Reader values(7,C000A,杨欣怡,1,DZ001,学生,有效,2008-9-11,2012-9-11,女,学生工作处,);借阅逾期表的创建:create table OverdueInfo(Number int not null , CardID char(5) not null, -借书证号 ReaderName varchar(10) not null, -读者姓名 BookID varchar(10), -图书编号 BookName varchar(20) not null,-图书名 Author varchar(20) not null,-作者 Publisher varchar(30),-出版社 Price int ,-价格 BorrowDate varchar (16) not null, -借书日期 BorrowNumber varchar(2), -借书数量 UserName varchar(10), -操作员 SpilthDay int -超期天数-primary key(BookID,CardID) - insert into OverdueInfo values(C0001,刘星,B0001,网页制作基础,刘备,清华出版社,22,2008-9-12,1,cjp,0);-insert into OverdueInfo values(C0007,马尔,B0002,C#程序设计,张清,水电工程出版社,45,2008-10-28,1,cjp,0); -insert into OverdueInfo values(C0001,刘星,B0003,生活常识,李德奇,清华出版社,18,2008-9-22,1,cjp,0);-insert into OverdueInfo values(C0004,刘莉,B0002,C#程序设计,张清,水电工程出版社,45,2008-9-24,1,cjp,0);-insert into OverdueInfo values(C0006,吴良华,B0003,生活常识,李德奇,清华出版社,18,2008-9-12,1,cjp,0); - insert into OverdueInfo values(C0006,吴良华,B0004,计算机英语,王城,人邮出版社,34,2008-10-11,1,cjp,0);-insert into OverdueInfo values(C0008,徐明,B0004,计算机英语,王城,人邮出版社,34,2008-11-01,1,cjp,0); - insert into OverdueInfo values(C0009,李明卫,B0003,生活常识,李德奇,清华出版社,18,2008-9-15,1,cjp,0);-insert into OverdueInfo values(C000A,杨欣怡,B0002,C#程序设计,张清,水电工程出版社,45,2008-10-7,1,cjp,0);go系统日志表的创建:create table Journal( Number int not null, -编号 JournalName varchar(10) not null,-员工姓名 Status varchar(10),-身份 EnterTime varchar (16)-进入时间 primary key(EnterTime)insert into Journal values(1,cjp,超级用户,2008-9-11);图书信息表的创建:create table Book ( Number int not null ,-编号 BookID varchar(10) primary key,-图书编号 Strichcode varchar(10) ,-条形码 SlassificationID varchar(5) ,-分类号 BookName varchar(40) not null,-图书名 Type1 varchar(10) ,-类型 Author varchar(20) not null,-作者 Translator varchar(20),- 译者 ISBN varchar(17),-ISBN码 Publisher varchar(30),-出版社 Revision varchar(8),-版次 Format varchar(2),-开本 Word int,-字数 Page int ,-页码 Price int ,-价格 EnterTime varchar (16) not null,-入馆时间 Qty int,-库存数 Extant int ,-可借数 Circulate bit -是否流通)goinsert into Book values(1,B0011,XS001,000AB,网页制作基础,专业类,刘备,Freax,XORSE,清华出版社,第一版,16,235780,254,22,2006-01-08,20,19,0);insert into Book values(2,B0002,XS001,000AB,C#程序设计,专业类,张清,Freac,XORSE,水电工程出版社,第二版,16,234345,341,45,2006-01-08,50,49,0);insert into Book values(3,B0003,XS001,100AB,生活常识,其它类,李德奇,XORSE,清华出版社,第一版,16,267688,349,18,2001-01-08,40,39,0);insert into Book values(4,B0004,XS001,100AB,计算机英语,其它类,王城,Freac,XORSE,人邮出版社,第五版,16,235676,419,34,2006-01-08,40,39,1);insert into Book values(5,B0005,XS001,000AB,ASP.NET简易教程,专业类,吴海波,Freac,XORSE,人邮出版社,第二版,16,765474,389,69,2006-01-08,50,49,0);insert into Book values(6,B0006,XS001,100AB,60岁登上健康之门,其它类,洪韶光,XORSE,清华出版社,第一版,16,156577,443,15,2006-01-08,40,39,1);insert into Book values(7,B0007,XS001,000AB,JAVA程序设计,专业类,碧名,Freac,XORSE,机械工业出版社,第四版,16,768657,661,25,2006-01-08,20,19,0);insert into Book values(8,B0008,XS001,000AB,电脑组装与维修,专业类,赵村霞,Freat,XORSE,机械工业出版社,第一版,16,257677,287,28,2006-01-08,20,19,0);insert into Book values(9,B0009,XS001,000AB,读者,其它类,刘志明,Freat,XORSE,机械工业出版社,第三版,16,357651,1187,38,2006-01-08,20,19,0);insert into Book values(10,B0010,XS002,100AB,电子电工技术,专业类,李德奇,Freat,XORSE,清华出版社,第二版,16,557677,716,28,2006-01-08,20,19,1);创建日志表:create table Backupinfo (Number int not null, -编号 lodUser varchar(12) not null, -登录用户BackupTime varchar(16) not null, -登录时间Type varchar(10) , -操作类型BackupWay varchar(100) , -备份路径)insert into Backupinfo values (1,cjp,2008-12-3,数据库还原,C:);操作日志表的创建:create table HandleNote(HandleNumber int not null , -操作流水号HandleType varchar(8) not null, -操作类别HandleUser varchar(12) not null, -操作用户BookName varchar(20), -图书名称BookStrichcode varchar(10) not null, -图书编号ReaderID char(5) not null,-读者卡号ReaderName varchar(10),-读者姓名ReaderSex char(2), -读者性别BookNumber varchar(2), -借书数量BookPrice int, -图书价格 HandleDate varchar (16)-操作日期)insert into HandleNote values(1,归还操作,cjp,JAVA程序设计,B0007,C000A,杨欣怡,女,1,25,2006-12-08 08:10)insert into HandleNote values(2,借阅操作,cjp,C#程序设计,B0002,C0006,吴良华,男,1,25,2008-12-25 08:10) 创建预借表:create table ReserBroInfo(r_Number int , -编号r_BookId varchar(10) not null, -图书编号r_BookName varchar(40) not null, -图书名称r_BookAuthorvarchar(20), -图书作者r_ReaderId char(5) not null, -读者编号r_ReaderName varchar(10) not null, -读者姓名r_ReaderSex char(2), -读者性别r_BookNumber varchar(2), -预借数量r_BookPrice int, -图书价格 r_Publisher varchar (30), -出版社 r_HandleUsr varchar(16),-操作用户r_ReadyTime varchar (16)-预借时间) insert into ReserBroInfo values (1,B0011,网页制作基础,刘备,C0001,刘星,男,1,22,清华出版社,cjp,2008-12-28 9:00)罚款日志表:create table PenaltryInfo(Number int not null, -编号 CardIDChar(5) not null, -读者编号ReaderNameVarchar(10) not null,-读者姓名BookNameVarchar(40) not null,-图书名称BookIDVarchar(10) not null,-图书编号TypeVarchar(20),-罚款类型 (损坏、超期)PenaltyMoneymoney ,-罚款金额Paytimevarchar(16),-交款时间 (元)HandleUserVarchar (12)-操作用户)insert into PenaltryInfo values(1,C0007,马尔,电子电工技术,B0010,图书损坏,5,2008-12-3,cjp);insert into PenaltryInfo values(2,C0008,徐明,C#程序设计,B0002,超期末还,4.5,2008-12-3,cjp);续借信息表的创建:create table RenewNote(Number int not null ,-编号CardIDChar (5), -借书证号ReaderNamevarChar (10),-读者姓名BookIDChar (10),-图书编号BookNameVarchar (20),-图书名称AuthorVarchar (20),-图书作者Publishervarchar (30),-图书出版社PriceInt ,-图书价格BorrowDatevarchar (16),-续借时间UserNameVarchar (10)-操作员)Insert into RenewNote values(1,C0009,李明卫,B0003,生活常识,李德奇,清华出版社,18,2008-9-23,whl);出版社信息的创建:create table Publishing(PulNumber int, -编号PulNameVarchar(30) primary key not null,-出版社名称PulAdressVarchar (50),-地址PulExplainVarchar (100),-说明)-delete from Publishinginsert into Publishing values(1,机械工业出版社,);insert into Publishing values(2,教育科学出版社,);insert into Publishing values(3,复旦大学出版社,);insert into Publishing values(4,上海外语出版社,);insert into Publishing values(5,山东大学出版社,);insert into Publishing values(6,东北财经大学出版社,);insert into Publishing values(7,北京语言大学出版社,);insert into Publishing values(8,高等教育出版社,);insert into Publishing values(9,北京师范出版社,);insert into Publishing values(10,人民教育出版社,);insert into Publishing values(11,人民文学出版社,);insert into Publishing values(12,中国人民大学出版社,);insert into Publishing values(13,中国轻工业出版社,);insert into Publishing values(14,中国大百科出版社,);insert into Publishing values(15,中国金融出版社,);insert into Publishing values(16,中国对外出版翻译公司,);insert into Publishing values(17,中国社会科学出版社,);insert into Publishing values(18,中国地图出版社,);insert into Publishing values(19,中国电力出版社,);insert into Publishing values(20,中国环境科学出版社,);insert into Publishing values(21,人民邮电出版社,);insert into Publishing values(22,科学出版社,);insert into Publishing values(23,人民卫生出版社,);insert into Publishing values(24,法律出版社,);insert into Publishing values(25,中国水利水电出版社,);insert into Publishing values(26,化学工业出版社,);insert into Publishing values(27,人民邮电机械工业出版社,);insert into Publishing values(28,电子工业出版社,);insert into Publishing values(29,世界知识出版社,);系统设置表的创建:create table SystemSet(TeaBroNumber int, -教师可借书数量StuBroNumber int, -学生可借书数量 PayMoney varchar (3), -罚款数目SetReserDay int , -预借有效天数 IsOpenOverdue char(2) -是否打开逾期表) insert into SystemSet values (10,4,0.2,15,否); 备忘表的创建:create table Remind( Number int,-备忘编号 Statue char (8), -当前状态 RemindTime varchar (20) ,-备忘时间 Content varchar (100) ,-备忘内容 IsRemind char (2),-是否提示 Type varchar (20),-提示方式 IsToReader varchar (10), -是否涉及读者 Addtime varchar (20) -备忘添加时间)insert into Remind values(1,尚未提示,2008-12-30 00:00:000,今天要做好备忘窗体!,否,一次提醒,吴良华,2008-12-29 00:00:000);252 表中约束,规则的创建Book表中lebert规则的创建: create default lebert as 100 go sp_bindefault lebert, Book.Number go Book表中sunday规则的创建: create default sunday as 6 go sp_bindefault sunday,Book.Author go Book表中leixing规则的创建: create default leixing as 1 go sp_bindefault leixing,Book.Type1 go 253 视图的创建为了更加详细的查询读者信息特建立以下读者信息视图并使用select语句进行查询,代码如下: create view vipview as select ReaderName,BorrowNumber,Sex,Dept,Call from Reader select * from vipview为了更加详细的查询图书信息特建立以下图书信息视图并使用select语句进行查询,代码如下: create view bookview as select BookID,BookName,Type1,Author,Publisher,Price from Book select * from bookview为了更加详细的查询借阅信息特建立以下借阅信息视图并使用select语句进行查询,代码如下: create view borrowview as select CardID,ReaderName,BookName from Borrow select * from borrowview254 存储过程的创建创建名为select_Reader的存储过程,该过程可查询所有读者信息,代码如下: CREATE PROC select_Reader AS SELECT * FROM Reader ORDER BY ReaderTypeID GO select_Reader GO创建名为select_book的存储过程,该过程可查询所有图书信息,代码如下: CREATE PROC select_book AS SELECT

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论