




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、南昌航空大学实验报告二016 年3 月28 日课程名称:数据库原理 实验名称:图书馆借阅系统班级: 14207218: 胡合达 同组人: 指导教师评定:签名:、实验环境1. Windows2000或以上版本;2. SQLServer 2005。二、实验目的了解并掌握数据库设计基本方法三.系统需求分析1 .设计本系统模拟学生在图书馆借阅图书的内容,能够实现以下功能:借阅信息的查询功能;图书信息的多关键字检索查询;图书的出借、返还及超期罚款;2 .能够提供一定的安全机制,提供数据信息授权访问,防止随意删改、查询。3 .对查询、统计的结果能够列表显示。4 .处理对象:学生,馆藏图书信息,借阅信息,罚
2、款信息,借阅历史5 .安全性要求系统安全性要求体现在数据库安全性、信息安全性和系统平台的安全性等方面。安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度上的安全性,再通过分配权限、设置权限级别来区别对待不同操作者对数据库的操作来提高数据 库的安全性;系统平台的安全性体现在操作系统的安全性、计算机系统的安全性和网络体系的安全性等方面。6 .完整性要求系统完整性要求系统中数据的正确性以及相容性。可通过建立主、外键,使用check约束,或者通过使用触发器和级联更新。四.概念结构设计系统开发的总体目标是实现图书馆管理的系统化和自动化,缩短借阅者的等待时间, 减轻工作人员
3、的工作量,方便工作人员对它的操作,提高管理的质量和水平, 做到高效、智能化管理,从而达到提高图书管理效率的目的。概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程,它是整个数据库设计的关键。图书借阅系统的E-R图E R图各实体的属性如下所示:图书: Book(BookID, BookNo, BookName, BookWriter, BookPublish,BookDate,BookClass,BookState,BookRNo)读者:Reader(ReaID,ReaName,ReaSex,ReaNo,ReaLBID, ReaDep, ReaGrade, ReaPr
4、ef, 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)五.逻辑结
5、构设计以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用的DBMS产品发生关系了,系统逻辑设计的任务就是将概念设计阶段设计好的基本E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。具体内容包括数据组织(将E-R图转换成关系模型、模型优化、数据库模式定义、用户子模式设计)、数据处理(画出系统功能模块图)两大任务。将图书借阅E-R图转换为关系模型图书BookIDCharnot null图书编号BookNoCharnot null图书的索书号BookNameCharnot null图书的书名BookWriterCharnot null图书作者BookPulishCh
6、arnot null图书出版社BooknumSmallintNot null图书数量BookDateDate出版日期BookClassChar图书的分类BooknumssmallintNot null图书可借数量BookStateCharnot null图书是否可借BookRNoCharnot null图书所在馆室号读者可否为空ReaIDCharnot nullReaNameCharnot null读者姓名ReaSexCharnot null读者性别ReaNoCharnot null块白子万ReaDepChar读者所在学院ReaPrefChar读者所属专业ReaGradeChar读者的年级Re
7、aDateDatenot null办证日期ReaBsSmallintNot null已借本数ReastateCharNot nnll借书状态ReasxSmallintNot null借书上限管理员MID主键Charnot null管理员编号MNameCharnot null管理员姓名MSexChar管理员性别馆室RoomNoCharnot null馆室号RoomMIDCharnot null馆室管理员编号RoomnumCharnot null馆室拥有图书数目RoomAddreChar馆室地址RoomType,Char馆室类型数据类型ReaIDCharnot null读者编号BookIDChar
8、not null图书编号BookNameCharnot null图书名BookWriterChar作者OutdateDatenot null借阅时间IndateDate归还时间YHdateDatenot null应还时间FineCharNot null罚款金额CLStateChar处理状态MIDCharnot null管理员编号Word文档六.数据库的实施创建数据库及表格管理员基本信息表的建立:create table Maneger(MID char(10) primary key,MName char(10) not null,MSex char(2), check(MSex =男or M
9、Sex =女) )图书馆室基本信息表的建立:create table Room(RoomNochar(5) primary key,RoomMIDchar(10) not null,Roomnumchar(5) not null ,RoomAddre char(20),RoomType char (10),on update cascade ,foreign key(RoomMID) references Maneger(MID)on delete cascade )馆藏图书基本信息表的建立:create table Book(BookIDchar(9) primary key,BookNoc
10、har(20) not null,BookNamechar(50) not null,BookWriterchar(30) not null,BookPublish char(20) not null,Booknum smallint check (Booknum=0), BookDate datetime,BookClass char(20),Booknums smallint check (Booknum=0),BookStatechar(10) default 可借not null,BookRNochar(5) not null,check (BooknumBooknums ),fore
11、ign key(BookRNo) references Room(RoomNo)on delete cascade on update cascade , )读者基本信息表的建立:create table Reader(ReaIDchar(9)primary key,ReaNamechar(10) not null,ReaSexchar(2)not null,ReaNochar(9) not null,Reasx smallint not null,ReaBs smallint not null,ReaDepchar(20),ReaGradechar(5),ReaPrefchar(20),Re
12、aDateDatetime,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,YHdateDatetime not null,IndateDatetime,Fine
13、char(5) not null default 0,CLStatechar(8),MIDchar(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,BookState from Book(2)
14、用于读者基本信息查询的视图定义如下:create view Readerview (读者姓名,类型,学院,专业,办证日期) asselect ReaName,ReaType,ReaDep,ReaPref,ReaDatefrom Reader(3)用于显示当前借阅基本信息的视图定义如下:create view Borrowview (读者编号,书名,作者,借阅日期,到期日期) asselect ReaID,BookName,BookWriter,Outdate,YHdatefrom Borrow,Bookwhere Borrow.BookID=Book.BookID and Borrow.Ind
15、ate is null(4)用于借阅历史信息查询的视图定义如下:create 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,Fi
16、ne,CLStatefrom Borrow,Bookwhere 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_insert1on Borrowfor insert asdeclare BookID char(9)
17、declare ReaID char(9)select ReaID=ReaIDfrom insertedselect BookID=BookIDfrom insertedSelect Reastate =ReastateFrom ReaderWhere ReaID =ReaIdIf(Reastate =不可借)BeginRaiserror (该学生状态不可借书,16,1) Rollback transactionEndupdate Book set Booknums=Booknums-1 where BookID=BookIDupdate Readerset ReaBs=ReaBs+1wher
18、e ReaID =ReaID当读者达到借书上限,设置借书状态为不可借 create trigger Reader _updateon 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 Reasta
19、te =不可借 where ReaID =ReaID End还书的时候,书的可借数量增加一本,修改读者状态 create trigger Borrow_insert on Borrow for insertasdeclare BookID char(9)declare ReaID char(9) select ReaID=ReaID from insertedselect BookID=BookIDfrom insertedSelect Reastate =ReastateFrom ReaderWhere ReaID =ReaIdIf(Reastate =超期)BeginRaiserror (
20、该学生状态借书超期,16,1)Rollback transactionEndupdate Bookset Booknums=Booknums+1where BookID=BookIDupdate Reader set ReaBs=ReaBs-1 where 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,B
21、ookClass char(20),Booknums smallint,Booknum smallint,BookStatechar(10),BookDate,BoBookRNo char(5) as insert into Book values(BookID,BookNo,BookName,BookWriter,BookPublishokClass ,BookState ,BookRNo,Booknums,Booknum);2 .Reader_Insert 的定义:CREATE PROCEDURE Reader_InsertReaIDchar(9),ReaName char(10),Rea
22、Sexchar(2),ReaNochar(9),ReaDepchar(20),ReaGradechar(5),ReaPref char(20),ReaDateDatetimeReaBs smallint,Reastate char(5),Reasx smallint, as insert into Reader values( RealD , ReaName, ReaSex,ReaNo ,ReaDep , ReaGrade ,ReaPref ,ReaDate,ReaBs,Reastate,Reasx ;3 .Maneger_Insert 的定义:CREATE PROCEDURE Maneger
23、_Insert MID char(10), MName char(10), MSex char(2), asinsert into Maneger alues(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,丫Hdate,Indate ,Fine ,CLState ,MID );5. Query_Reader_R 的定义:cre
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新版试用期劳动合同模板合同
- 土地承包合同法律文本示例
- 厂家设备租赁合同样本集锦
- 项目合作人才服务合同
- 茶叶购销合同模板
- 新产品开发项目合同协议书范本
- 保密合同-工作手机保管细则
- 度设备采购借款合同模板
- 仓储用房租赁合同参考样本
- 度医疗服务采购合同
- 勃利县大四站镇侵蚀沟治理工程施工组织设计
- 汽车电子技术专业人才培养方案样本
- 血栓风险评估及个体化干预(遗传性易栓症风险基因检测)
- 血透患者的健康宣教课件
- 医院舆情应对处置预案
- 普通高中历史课程标准(2022年版2023年修订)解读
- 《统计学原理贾俊平》课件
- 2024电力储能电站钠离子电池技术条件
- 方法验证报告方案
- 关于企业高层管理人员职责的通知
- 消防员班长培训课件
评论
0/150
提交评论