ImageVerifierCode 换一换
格式:DOC , 页数:11 ,大小:95KB ,
资源ID:10737060      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-10737060.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(图书馆借阅系统数据库设计.doc)为本站会员(精品资料)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

图书馆借阅系统数据库设计.doc

1、.南昌航空大学实验报告二 016 年 3 月 28 日课程名称: 数据库原理 实验名称: 图书馆借阅系统班级: 14207218 姓名: 胡合达 同组人: 指导教师评定: 签名: 一、实验环境1 Windows2000 或以上版本;2 SQLServer 2005。二、实验目的了解并掌握数据库设计基本方法3系统需求分析1.设计本系统模拟学生在图书馆借阅图书的内容,能够实现以下功能:借阅信息的查询功能;图书信息的多关键字检索查询;图书的出借、返还及超期罚款;2能够提供一定的安全机制,提供数据信息授权访问,防止随意删改、查询。3对查询、统计的结果能够列表显示。4.处理对象:学生,馆藏图书信息,借阅

2、信息,罚款信息,借阅历史5.安全性要求 系统安全性要求体现在数据库安全性、信息安全性和系统平台的安全性等方面。安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度上的安全性,再通过分配权限、设置权限级别来区别对待不同操作者对数据库的操作来提高数据库的安全性;系统平台的安全性体现在操作系统的安全性、计算机系统的安全性和网络体系的安全性等方面。6.完整性要求系统完整性要求系统中数据的正确性以及相容性。可通过建立主、外键,使用 check约束,或者通过使用触发器和级联更新。.4概念结构设计系统开发的总体目标是实现图书馆管理的系统化和自动化,缩短借阅者的等待时间,减轻工作

3、人员的工作量,方便工作人员对它的操作,提高管理的质量和水平,做到高效、智能化管理,从而达到提高图书管理效率的目的。概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程,它是整个数据库设计的关键。图书借阅系统的 E-R 图读者 n m m 1 1 m 1 n m nn n m ER 图各实体的属性如下所示:图书:Book(BookID, BookNo, BookName, BookWriter, BookPublish, BookDate,BookClass,BookState,BookRNo)读者:Reader(ReaID,ReaName,ReaSex,ReaNo,R

4、eaLBID, 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,Read

5、erID,BookName,Outdate,Indate,Fine, CLState,MID)5逻辑结构设计以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用的DBMS 产品发生关系了,系统逻辑设计的任务就是将概念设计阶段设计好的基本 E-R 图转换为选用 DBMS 产品所支持的数据模型相符合的逻辑结构。具体内容包括数据组织(将 E-R 图转换成关系模型、模型优化、数据库模式定义、用户子模式设计) 、数据处理(画出系统功能模块图)两大任务。将图书借阅 E-R 图转换为关系模型图书列名 数据类型 可否为空 说明BookID Char not null 图书编号BookNo C

6、har 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 nu

7、ll 读者编号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 Ch

8、ar 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 n

9、ull 借阅时间Indate Date 归还时间YHdate Date not null 应还时间Fine Char Not null 罚款金额CLState Char 处理状态MID Char not null 管理员编号.6数据库的实施创建数据库及表格管理员基本信息表的建立: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) primar

10、y 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 c

11、har(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 (BooknumBooknums ),.foreign key(BookRNo) references Room(RoomNo)on delete c

12、ascade 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 d

13、efault 可借 ,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(

14、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 (索书号, 书名, 作者, 出版社, 图书状态)asselect BookNo,BookName,BookWriter,BookPublish,BookStatefrom Book(2)用于读者基本信息查询的视图定义如下:create view Re

15、aderview (读者姓名,类型,学院,专业,办证日期)asselect ReaName,ReaType,ReaDep,ReaPref,ReaDate.from Reader(3)用于显示当前借阅基本信息的视图定义如下:create view Borrowview (读者编号,书名,作者,借阅日期,到期日期)asselect ReaID,BookName,BookWriter,Outdate,YHdatefrom Borrow,Bookwhere Borrow.BookID=Book.BookID and Borrow.Indate is null(4)用于借阅历史信息查询的视图定义如下:c

16、reate view Historyview (读者编号,书名,借阅日期,归还日期)asselect ReaID,BookName,Outdate,Indatefrom Borrow,Bookwhere Borrow.BookID=Book.BookID and Borrow.Indate is not null(5)用于查询罚款信息的视图定义如下:create view Fineview (读者编号,书名,借阅日期,归还日期,罚款,处理状态)asselect ReaID,BookName,Outdate,Indate,Fine,CLStatefrom Borrow,Bookwhere Bor

17、row.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_insert1on Borrowfor insertas declare BookID char(9)declare ReaID char(9)select ReaID=R

18、eaID from insertedselect BookID=BookIDfrom insertedSelect Reastate =Reastate From Reader Where ReaID =ReaId If(Reastate =不可借)BeginRaiserror (该学生状态不可借书 ,16,1) Rollback transaction .End update Bookset Booknums=Booknums-1where BookID=BookIDupdate Readerset ReaBs=ReaBs+1where ReaID =ReaID 当读者达到借书上限,设置借书

19、状态为不可借create trigger Reader _update on Reader for update as declare ReaBs smallint select ReaBs =ReaBs from inserteddeclare ReaID char(9)select ReaID=ReaID from insertedSelect Reasx =Reasx From Reader where BookID=BookIDIf(Reasx =ReaBs ) Begin update Readerset Reastate =不可借where ReaID =ReaID End 还书的

20、时候,书的可借数量增加一本,修改读者状态create trigger Borrow_inserton Borrowfor insertas declare BookID char(9)declare ReaID char(9)select ReaID=ReaID from insertedselect BookID=BookIDfrom insertedSelect Reastate =Reastate From Reader Where ReaID =ReaId If(Reastate =超期)BeginRaiserror (该学生状态借书超期 ,16,1) .Rollback transa

21、ction End update Bookset Booknums=Booknums+1where BookID=BookIDupdate Readerset ReaBs=ReaBs-1where ReaID =ReaID 存储过程1.Book_Insert 的定义:CREATE PROCEDURE Book_InsertBookID char(9) ,BookNo char(20),BookName char(50),BookWriter char(30),BookPublish char(20),BookDate datetime,BookClass char(20),Booknums s

22、mallint,Booknum smallint,BookState char(10),BookRNo char(5)asinsert into Bookvalues(BookID ,BookNo,BookName,BookWriter ,BookPublish ,BookDate,Bo okClass ,BookState ,BookRNo,Booknums,Booknum);2.Reader_Insert 的定义:CREATE PROCEDURE Reader_InsertReaID char(9),ReaName char(10),ReaSex char(2),ReaNo char(9)

23、,ReaDep char(20),ReaGrade char(5),ReaPref char(20),ReaDate DatetimeReaBs smallint,Reastate char(5),Reasx smallint, asinsert into Readervalues( ReaID , ReaName, ReaSex,ReaNo ,ReaDep , ReaGrade ,ReaPref ,ReaDate,ReaBs,Reastate,Reasx ;.3.Maneger_Insert 的定义:CREATE PROCEDURE Maneger_InsertMID char(10) ,M

24、Name char(10),MSex char(2),asinsert into Manegeralues(MID , MName ,MSex );4.Borrow_Insert 的定义:CREATE PROCEDURE Borrow_InsertBookID char(9),ReaID char(9),Outdate Datetime ,YHdate Datetime ,Indate Datetime,Fine char(5),CLState char(8),MID char(10)asinsert into Borrowvalues(BookID ,ReaID ,Outdate ,YHda

25、te ,Indate ,Fine ,CLState ,MID );5.Query_Reader_R 的定义:create procedure Query_Reader_RReaID char(9)asselect *from Readerviewwhere 编号 = ltrim(ReaID);6. Query_Reader_M 的定义:create procedure Query_Reader_Masselect *from Readerview7. Query_Book_Writer 的定义:create procedure Query_Book_WriterBookWriter char(

26、50)asselect *from Bookviewwhere 作者 like %+ltrim(BookWriter)+%;8. Query_Book_Name_Publish 的定义:create procedure Query_Book_Name_PublishBookName char(50),BookPublish char(20).asselect *from Bookviewwhere 书名=ltrim(BookName) and 出版社=ltrim(BookPublish);9. Delete_Reader 的定义:create procedure Delete_ReaderRe

27、aNo char(9)asdeletefrom Readerwhere ReaNo = ltrim(ReaNo);10. Delete_Book 的定义:create procedure Delete_BookBookID char(9)asdeletefrom Bookwhere BookID= ltrim(BookID);七实验小结这次实验使我熟悉了如何独立的建立一个系统,通过自己所学的知识,综合运用,并了解自己的不足之处。单纯的课本内容,并不能满足学生的需要,通过补充,达到内容的完善教育之通病是教用脑的人不用手,不教用手的人用脑,所以一无所能。教育革命的对策是手脑联盟,结果是手与脑的力量都可以大到不可思议。

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报