图书馆借阅系统数据库设计.doc
《图书馆借阅系统数据库设计.doc》由会员分享,可在线阅读,更多相关《图书馆借阅系统数据库设计.doc(10页珍藏版)》请在咨信网上搜索。
南昌航空大学实验报告 二016 年 3 月 28 日 课程名称: 数据库原理 实验名称: 图书馆借阅系统 班级: 14207218 姓名: 胡合达 同组人: 指导教师评定: 签名: 一、实验环境 1. Windows2000或以上版本; 2. SQLServer 2005. 二、实验目得 了解并掌握数据库设计基本方法 三. 系统需求分析 1、设计本系统模拟学生在图书馆借阅图书得内容,能够实现以下功能: 借阅信息得查询功能; 图书信息得多关键字检索查询; 图书得出借、返还及超期罚款; 2.能够提供一定得安全机制,提供数据信息授权访问,防止随意删改、查询. 3。对查询、统计得结果能够列表显示。 4、处理对象:学生,馆藏图书信息,借阅信息,罚款信息,借阅历史 5、安全性要求 系统安全性要求体现在数据库安全性、信息安全性与系统平台得安全性等方面。安全性先通过视图机制,不同得用户只能访问系统授权得视图,这样可提供系统数据一定程度上得安全性,再通过分配权限、设置权限级别来区别对待不同操作者对数据库得操作来提高数据库得安全性;系统平台得安全性体现在操作系统得安全性、计算机系统得安全性与网络体系得安全性等方面。 6、完整性要求 系统完整性要求系统中数据得正确性以及相容性。可通过建立主、外键,使用check约束,或者通过使用触发器与级联更新。 四. 概念结构设计 系统开发得总体目标就是实现图书馆管理得系统化与自动化,缩短借阅者得等待时间,减轻工作人员得工作量,方便工作人员对它得操作,提高管理得质量与水平,做到高效、智能化管理,从而达到提高图书管理效率得目得。 概念设计阶段主要就是将需求分析阶段得到得用户需求抽象为信息结构(概念模型)得过程,它就是整个数据库设计得关键。 图书借阅系统得E-R图 管理员 罚款 读者 n m 管理 m 1 馆室 借阅 1 m 1 n m n 归还 属于 读者 图书 n n m E-R图各实体得属性如下所示: 图书:Book(BookID, BookNo, BookName, BookWriter, BookPublish,, BookDate,BookClass,BookState, BookRNo) 读者:Reader(ReaID,ReaName,ReaSex,ReaNo,ReaLBID, ReaDep, ReaGrade, ReaPref, ReaDate,Reasx) 管理员: Maneger (MID,MName,MSex) 馆室: Room(RoomNo,RoomMID,RoomNum,RoomAddre) 借阅信息:Borrow(BookID,ReaderID,BookName,BookWriter, Outdate,YHdate) 借阅历史:History(BookID,ReaderID,BookName,BookWriter, Outdate, Indate,YHdate) 罚款信息:Fine (BookID,ReaderID,BookName,Outdate,Indate,Fine, CLState,MID) 五. 逻辑结构设计 以上得概念设计阶段就是独立于任何一种数据模型得,但就是逻辑设计阶段就与选用得DBMS产品发生关系了,系统逻辑设计得任务就就是将概念设计阶段设计好得基本E-R图转换为选用DBMS产品所支持得数据模型相符合得逻辑结构。具体内容包括数据组织(将E-R图转换成关系模型、模型优化、数据库模式定义、用户子模式设计)、数据处理(画出系统功能模块图)两大任务。 将图书借阅E—R图转换为关系模型 图书 列名 数据类型 可否为空 说明 BookID Char not null 图书编号 BookNo Char not null 图书得索书号 BookName Char not null 图书得书名 BookWriter Char not null 图书作者 BookPulish Char not null 图书出版社 Booknum Smallint Not null 图书数量 BookDate Date 出版日期 BookClass Char 图书得分类 Booknums smallint Not null 图书可借数量 BookState Char not null 图书就是否可借 BookRNo Char not null 图书所在馆室号 读者 列名 数据类型 可否为空 说明 ReaID Char not null 读者编号 ReaName Char not null 读者姓名 ReaSex Char not null 读者性别 ReaNo Char not null 读者学号 ReaDep Char 读者所在学院 ReaPref Char 读者所属专业 ReaGrade Char 读者得年级 ReaDate Date not null 办证日期 ReaBs Smallint Not null 已借本数 Reastate Char Not nnll 借书状态 Reasx Smallint Not null 借书上限 管理员 列名 数据类型 可否为空 说明 MID主键 Char not null 管理员编号 MName Char not null 管理员姓名 MSex Char 管理员性别 馆室 列名 数据类型 可否为空 说明 RoomNo Char not null 馆室号 RoomMID Char not null 馆室管理员编号 Roomnum Char not null 馆室拥有图书数目 RoomAddre Char 馆室地址 RoomType, Char 馆室类型 借阅信息 列名 数据类型 可否为空 说明 ReaID Char not null 读者编号 BookID Char not null 图书编号 BookName Char not null 图书名 BookWriter Char 作者 Outdate Date not null 借阅时间 Indate Date 归还时间 YHdate Date not null 应还时间 Fine Char Not null 罚款金额 CLState Char 处理状态 MID Char not null 管理员编号 六. 数据库得实施 创建数据库及表格 管理员基本信息表得建立: create table Maneger( MID char(10) primary key, MName char(10) not null, MSex char(2), check(MSex ='男' or MSex ='女’) ) 图书馆室基本信息表得建立: create table Room( RoomNo char(5) primary key, RoomMID char(10) not null, Roomnum char(5) not null , RoomAddre char(20), RoomType char (10), foreign key(RoomMID) references Maneger(MID)on delete cascade on update cascade , ) 馆藏图书基本信息表得建立: create table Book( BookID char(9) primary key, BookNo char(20) not null, BookName char(50) not null, BookWriter char(30) not null, BookPublish char(20) not null, Booknum smallint check (Booknum>=0), BookDate datetime, BookClass char(20), Booknums smallint check (Booknum>=0), BookState char(10) default ‘可借' not null, BookRNo char(5) not null, check (Booknum〉Booknums ), foreign key(BookRNo) references Room(RoomNo)on delete cascade on update cascade , ) 读者基本信息表得建立: create table Reader( ReaID char(9) primary key, ReaName char(10) not null, ReaSex char(2) not null, ReaNo char(9) not null, Reasx smallint not null, ReaBs smallint not null, ReaDep char(20), ReaGrade char(5), ReaPref char(20), ReaDate Datetime, Reastate char (5) not null default ‘可借’ , foreign key(ReaLBID) references ReaderType(LBID)on delete cascade on update cascade , check(ReaSex =’男' or ReaSex ='女’) ) (6)借阅基本信息表得建立: create table Borrow( BookID char(9), ReaID char(9), Outdate Datetime not null, YHdate Datetime not null, Indate Datetime, Fine char(5) not null default ‘0', CLState char(8), MID char(10) not null, primary key(BookID,ReaID), foreign key(MID) references Maneger(MID)on delete cascade on update cascade ) 建立视图 (1)用于查询图书基本信息得视图定义如下: ﻩ create view Bookview (索书号, 书名, 作者, 出版社, 图书状态) as select BookNo,BookName,BookWriter,BookPublish,BookState from Book (2)用于读者基本信息查询得视图定义如下: ﻩﻩcreate view Readerview (读者姓名,类型,学院,专业,办证日期) as select ReaName,ReaType,ReaDep,ReaPref,ReaDate from Reader (3)用于显示当前借阅基本信息得视图定义如下: create view Borrowview (读者编号,书名,作者,借阅日期,到期日期) as select ReaID,BookName,BookWriter,Outdate,YHdate from Borrow,Book where Borrow、BookID=Book、BookID and Borrow、Indate is null ﻩ(4)用于借阅历史信息查询得视图定义如下: ﻩ create view Historyview (读者编号,书名,借阅日期,归还日期) as select ReaID,BookName,Outdate,Indate from Borrow,Book where Borrow、BookID=Book、BookID and Borrow、Indate is not null (5)用于查询罚款信息得视图定义如下: ﻩ create view Fineview (读者编号,书名,借阅日期,归还日期,罚款,处理状态) as select ReaID,BookName,Outdate,Indate,Fine,CLState from Borrow,Book where Borrow、BookID=Book、BookID and Fine is not null 建立索引 create clustered index BookPublish on Book(BookPublish); create clustered index ReaDep on Reader(ReaDep); 建立触发器 当在中增加一条借阅记录时,书得可借数量减少一本,修改读者,并检查读者状态 create trigger Borrow_insert1 on Borrow for insert as declare BookID char(9) declare ReaID char(9) select ReaID=ReaID from inserted select BookID=BookID from inserted Select Reastate =Reastate From Reader Where ReaID =ReaId If(Reastate =’不可借’) Begin Raiserror (‘该学生状态不可借书’,16,1) Rollback transaction End update Book set Booknums=Booknums-1 where BookID=BookID update Reader set ReaBs=ReaBs+1 where ReaID =ReaID 当读者达到借书上限,设置借书状态为‘不可借’ create trigger Reader _update on Reader for update as declare ReaBs smallint select ReaBs =ReaBs from inserted declare ReaID char(9) select ReaID=ReaID from inserted Select Reasx =Reasx From Reader where BookID=BookID If(Reasx =ReaBs ) Begin update Reader set Reastate =’不可借’ where ReaID =ReaID End 还书得时候,书得可借数量增加一本,修改读者状态 create trigger Borrow_insert on Borrow for insert as declare BookID char(9) declare ReaID char(9) select ReaID=ReaID from inserted select BookID=BookID from inserted Select Reastate =Reastate From Reader Where ReaID =ReaId If(Reastate =’超期’) Begin Raiserror (‘该学生状态借书超期’,16,1) Rollback transaction End update Book set Booknums=Booknums+1 where BookID=BookID update Reader set ReaBs=ReaBs-1 where ReaID =ReaID 存储过程 1、Book_Insert得定义: CREATE PROCEDURE Book_Insert BookID char(9) , BookNo char(20), BookName char(50), BookWriter char(30), BookPublish char(20), BookDate datetime, BookClass char(20), Booknums smallint, Booknum smallint, BookState char(10), BookRNo char(5) asﻩ insert into Book values(BookID ,BookNo,BookName,BookWriter ,BookPublish ,BookDate,Bo okClass ,BookState ,BookRNo,Booknums,Booknum); 2、Reader_Insert得定义: CREATE PROCEDURE Reader_Insert ReaID char(9), ReaName char(10), ReaSex char(2), ReaNo char(9), ReaDep char(20), ReaGrade char(5), ReaPref char(20), ReaDate Datetime ReaBs smallint, Reastate char(5), Reasx smallint, asﻩ insert into Reader values( ReaID , ReaName, ReaSex,ReaNo ,ReaDep , ReaGrade ,ReaPref ,ReaDate,ReaBs,Reastate,Reasx ; 3、Maneger_Insert得定义: CREATE PROCEDURE Maneger_Insert MID char(10) , MName char(10), MSex char(2), as insert into Maneger alues(MID , MName ,MSex ); 4、Borrow_Insert得定义: CREATE PROCEDURE Borrow_Insert BookID char(9), ReaID char(9), Outdate Datetime , YHdate Datetime , Indate Datetime, Fine char(5), CLState char(8), MID char(10) asﻩ insert into Borrow values(BookID ,ReaID ,Outdate ,YHdate ,Indate ,Fine ,CLState ,MID ); 5、Query_Reader_R得定义: create procedure Query_Reader_R ﻩﻩReaID char(9) ﻩ as ﻩﻩselect * ﻩ from Readerview ﻩﻩwhere 编号 = ltrim(ReaID); 6、 Query_Reader_M得定义: create procedure Query_Reader_M as select * from Readerview 7、 Query_Book_Writer得定义: create procedure Query_Book_Writer ﻩ BookWriter char(50) ﻩ as ﻩﻩselect * ﻩﻩfrom Bookview where 作者 like '%'+ltrim(BookWriter)+’%’; 8、 Query_Book_Name_Publish得定义: create procedure Query_Book_Name_Publish BookName char(50), BookPublish char(20) as select * from Bookview where 书名=ltrim(BookName) and 出版社=ltrim(BookPublish); 9、 Delete_Reader得定义: create procedure Delete_Reader ReaNo char(9) as ﻩ delete ﻩfrom Reader ﻩwhere ReaNo = ltrim(ReaNo); 10、 Delete_Book得定义: create procedure Delete_Book ﻩ BookID char(9) ﻩ as delete ﻩfrom Book ﻩ where BookID= ltrim(BookID); 七.实验小结 这次实验使我熟悉了如何独立得建立一个系统,通过自己所学得知识,综合运用,并了解自己得不足之处。- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书馆 借阅 系统 数据库 设计
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文