数据库课程设计实验报告7【骄阳教育】

上传人:8** 文档编号:117134324 上传时间:2022-07-07 格式:DOC 页数:15 大小:192KB
收藏 版权申诉 举报 下载
数据库课程设计实验报告7【骄阳教育】_第1页
第1页 / 共15页
数据库课程设计实验报告7【骄阳教育】_第2页
第2页 / 共15页
数据库课程设计实验报告7【骄阳教育】_第3页
第3页 / 共15页
资源描述:

《数据库课程设计实验报告7【骄阳教育】》由会员分享,可在线阅读,更多相关《数据库课程设计实验报告7【骄阳教育】(15页珍藏版)》请在装配图网上搜索。

1、课程设计报告课程设计题目: 图书借阅管理系统数据库的设计与实现 专 业:网络工程班 级:10211302姓 名:王钰学 号:1021130209指导教师: 游胜玉 2011年 11月 30日目录1.实验题目2.实验时间、地点3.实验目的4.实验要求5.实现思路6.实现过程7.实验总结8. 结束语实验题目:图书借阅管理系统数据库的设计与实现实验时间、地点:时间:第14周地点:软件楼4-501实验目的:通过本次课程设计让学生能够综合运用所学的关系数据库原理知识解决并能设计一个实际问题,进一步掌握数据库原理的相关理论和数据库的设计实现过程,进一步提高学生的分析问题和解决问题的能力以及学生的动手能力。

2、实验要求:1对各个系统进行系统功能需求分析2. 数据库设计分析阶段,进行详细的数据库需求分析,进行概念数据库的设计,画出数据库的E-R图(局部和整体E-R图)3. 设计出详细的逻辑数据库结构,将各个实体和联系转化为相应的二维表即关系模式,指定各个关系的主关键字和外部关键字,并对各个关系的约束加以限定4. 通过企业管理器或是查询分析器实现各个二维关系(建议最好用SQL代码实现),要求建立相关的索引5. 根据系统功能需求设计相应的查询视图6. 要求根据系统功能需求建立存储过程7. 根据功能需求建立相应的触发器以保证数据的一致性8. 通过建立用户和权限分配实现数据库一定的安全性,考虑数据库的备份与恢

3、复(此内容选作)图书借阅管理系统数据库的设计与实现:描述:设计一个图书借阅管理系统,实现下列功能:1.图书信息的维护(包括录入,修改和删除);2.读者信息的维护(包括录入,修改和删除);3.借阅(借,还)信息的维护(包括借,还信息录入,修改和删除)实验思路:需求分析:图书信息表:书号,书名,作者,出版社名称,图书类型,书籍数目,价格借阅表:图书条形码,书号,借书证号,借书日期,限定还书日期借书人信息:借书证号,姓名,联系方式 进行系统设计,首先要对系统的现状进行分析。根据系统的目标、需求和功能,制定和选择一个较好的系统方案,从而达到一个合理的优化系统。每个学校都有图书馆,最初由于图书数量和种类

4、较少,人工手动管理比较方便和灵活。随着社会的发展,图书的数量和种类越来越多,人工手动管理会降低工作的效率,希望建立一个图书管理系统,是为了解决人工手动管理图书信息在实践的问题,从而达到系统化、规范化、标准化的水平。该系统的建立不但给管理者带来了方便,也节省了工作时间从而提高了工作效率。需求分析是在于要弄清用户对开发的数据库应用系统的确切要求。数据库设计的第一步是明确数据库的目的和如何使用,也就是说需要从数据库中得到哪些信息。明确目的之后,就可以确定您需要保存哪些主题的信息(表),以及每个主题需要保存哪些信息(表中字段)。在构造系统时,首先从需求出发构造数据库表,然后再由数据库表结合需求划分系统

5、功能模块。这样,就把一个大的系统分解成了几个小系统。这里把系统的层次划分为了四个部分:图书维护,人员信息管理,图书借阅管理,信息查询。能够实现以下功能: 进行新书入库、现有图书信息修改以及删除; 能够实现对读者基本信息的查询和编辑管理; 能够进行超期罚款功能; 能够进行借阅信息的查询功能;图书借阅系统E-R图(1)根据不同的对象,从第3层数据流程图入手,分别画出各局部ER图:(a)从数据流程图图(三) 与图(四)抽象出的分ER图:(c)从数据流程图图(六)抽象出的分ER图:(d)从数据流程图图(七)抽象出的分ER图:(e)从数据流程图图(八)抽象出的分ER图:(2)合并各分图,消除属性冲突、命

6、名冲突、结构冲突等三类冲突,得到初步E-R图,再消除不必要冗余,得到的基本E-R图如下所示:(3)各ER图各实体的属性如下所示:图书:Book(BookID, BookNo, BookName, BookWriter, BookPublish, BookPrice, BookDate, BookClass, BookMain, BookPrim, BookCopy, BookState,BookRN)读者:Reader(ReaID, ReaName, ReaSex, ReaNo, ReaLBID, ReaType, ReaDep, ReaGrade, ReaPref, ReaDate)管理员:

7、Maneger(MID, MName, MSex, Mpwd, MAuth, MTeleph, MAddre) 馆室:Room(RoomNo,RoomMID,RoomNum,RoomAddre)读者类别:ReaderTpye(LBID, LBName, LBnum, LBbqx, LBqx) 各ER图中联系的属性如下所示:借阅信息:Borrow (BookID,ReaderID,BookName,BookWriter, Outdate,YHdate)借阅历史:History(BookID,ReaderID,BookName, BookWriter, Outdate,Indate)罚款信息:Fi

8、ne(BookID,ReaderID,BookName, Outdate,Indate, Fine, CLState, MID)实现过程代码:/*创建library数据库 (1)读者类别信息表的建立:*/create table ReaderType(LBID char(5) primary key,LBName char(20) not null,LBnum char(5) not null,LBbqx char(4) not null,LBqx char(3) not null,)(2)管理员基本信息表的建立:create table Maneger(MID char(10) primar

9、y key,MName char(10) not null,MSex char(2),Mpwd char(8) not null,MAuth char(40) not null,MTeleph char(15),MAddre char(30),check(MSex =男 or MSex =女)(3)图书馆室基本信息表的建立:create table Room(RoomNo char(5) primary key,RoomMID char(10) not null,Roomnum char(5),RoomAddre char(20),foreign key(RoomMID) references

10、 Maneger(MID),)(4)馆藏图书基本信息表的建立: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, BookPrice char(7), BookDate datetime, BookClass char(20), BookMain varchar(200), BookPrim char(30), BookCop

11、y char(5), BookState char(10) not null, BookRNo char(5) not null,foreign key(BookRNo) references Room(RoomNo),)(5)读者基本信息表的建立:create table Reader(ReaID char(9) primary key,ReaName char(10) not null,ReaSex char(2) not null,ReaNo char(9) not null,ReaLBID char(5) not null,ReaType char(20),ReaDep char(20

12、),ReaGrade char(5),ReaPref char(20),ReaDate Datetime,foreign key(ReaLBID) references ReaderType(LBID),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),CLState char(8),MID char(1

13、0) not null,primary key(BookID,ReaID),foreign key(MID) references Maneger(MID)建立视图(1)用于查询图书基本信息的视图定义如下: create view Bookview (索书号, 书名, 作者, 出版社, 图书状态)asselect BookNo,BookName,BookWriter,BookPublish,BookStatefrom Book(2)用于读者基本信息查询的视图定义如下:create view Readerview (读者姓名,类型,学院,专业,办证日期)asselect ReaName,ReaT

14、ype,ReaDep,ReaPref,ReaDatefrom Reader(3)用于显示当前借阅基本信息的视图定义如下:create view Borrowview (读者编号,书名,作者,借阅日期,到期日期)asselect ReaID,BookName,BookWriter,Outdate,YHdatefrom Borrow,Bookwhere Borrow.BookID=Book.BookID and Borrow.Indate is null(4)用于借阅历史信息查询的视图定义如下:create view Historyview (读者编号,书名,借阅日期,归还日期)asselect

15、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 Borrow.BookID=Book.BookID and Fine is not null6.1.4 建立

16、索引create clustered index BookPublish on Book(BookPublish);create clustered index ReaDep on Reader(ReaDep);create database libraryon ( name = library, filename =D:图书管理系统.mdf,size = 10 ,maxsize =50 ,filegrowth=5)log on(name = library_log,filename= D:library_log.ldf,size = 5,maxsize = 40 ,filegrowth =5

17、 )-借书人信息存储过程-create procedure 借书人信息(借书证号 varchar(10),姓名 varchar(10),联系电话 varchar(40) ) as insert into borrower values (借书证号,姓名,联系电话)-图书信息存储过程-create procedure 图书信息(书号 char(6),书名 varchar(20),作者 char(6),出版社名称 varchar(20),图书类型 varchar(20),价格 int,书籍数目 int)as insert into book values (书号,书名,作者 ,出版社名称,图书类型

18、,价格,书籍数目)-借书信息存储过程 create procedure 借书信息(图书条形码 varchar(10) ,借书证号 varchar(10),书号 varchar(6),借书日期 datetime,还书期限 datetime )as insert into borrow values(图书条形码 ,借书证号,书号,借书日期,还书期限)-输入学号,统计借书数目-create procedure 借书数目( 借书证号 varchar(10) asselect 借书证号,count(*) as 借书本数from borrowwhere 借书证号=借书证号group by 借书证号-输入借

19、书人表数据-insert into borrower values(30201,邬佳哪 ,13257929794)insert into borrower values(1002,陆嘉亮,15478596532)insert into borrower values(1003,胡志雁,13546987452)insert into borrower values(1004,江飞,12454574876)insert into borrower values(1005,程鹏飞,11235487845)insert into borrower values(1006,易禄发,13457878490

20、)-输入图书表数据-将各类书插入表book中-insert into Book(BookID ,BookName,BookWriter ,BookPublish ,BookPrice,BookPublishDate,BookClassno ,BookMain ,BookPrim ,BookNum ,BookState )values(2011001,大学英语,董亚兰,上海外语出版社,40.00,2004-10-03,6,英语,english,10,1)insert into Book(BookID ,BookName,BookWriter ,BookPublish ,BookPrice,Boo

21、kPublishDate,BookClassno ,BookMain ,BookPrim ,BookNum ,BookState )values(2011002,数据库原理,陈志治,人民邮电出版社,29.00,2008-10-03,5,数据库,sql,8,1)insert into Book(BookID ,BookName,BookWriter ,BookPublish ,BookPrice,BookPublishDate,BookClassno ,BookMain ,BookPrim ,BookNum ,BookState )values(2011003,微观经济学,李小刚,上海大学出版社

22、,20.00,2010-10-01,4,经济学,经济,1,1)insert into Book(BookID ,BookName,BookWriter ,BookPublish ,BookPrice,BookPublishDate,BookClassno ,BookMain ,BookPrim ,BookNum ,BookState )values(2011004,影视文学,苏庆东,江苏大学出版社,10.00,2011-01-01,3,电影电视,影视,2,1)insert into Book(BookID ,BookName,BookWriter ,BookPublish ,BookPrice

23、,BookPublishDate,BookClassno ,BookMain ,BookPrim ,BookNum ,BookState )values(2011005,古代埃及,赵文华,北京大学出版社,12.00,2001-02-02,2,埃及历史,埃及,5,1)insert into Book(BookID ,BookName,BookWriter ,BookPublish ,BookPrice,BookPublishDate,BookClassno ,BookMain ,BookPrim ,BookNum ,BookState )values(2011006,中华历史5000年,吴强,北

24、京大学出版社,49.00,2005-04-03,1,中国历史,中国,1,1)-插入借阅记录到表Borrow中-insert into Borrow(书号,借书号,借书时间,还书时间,完整度,处理状态,管理员编号 )values (2011001,X20110101,2011-03-02,2011-04-05,完好,处理,001)-输入借书表数据-Insert into borrow values(3001,1001,2001,getdate(),dateadd(d,30,getdate()insert into borrow values(3002,1002,2003,getdate(),da

25、teadd(d,30,getdate()insert into borrow values(3003,1003,2002,getdate(),dateadd(d,30,getdate()insert into borrow values(3004,1004,2005,getdate(),dateadd(d,30,getdate()insert into borrow values(3005,1005,2006,getdate(),dateadd(d,30,getdate()insert into borrow values(3006,1006,2007,getdate(),dateadd(d,

26、30,getdate()-查看读者信息表中的内容:select *from borrowerwhere (借书证号=1002) select* from borrower-查看图书信息表中的内容: select* from book-查看借书表中的内容: select* from borrow-查看视图信息 Select* from chaxun_view-利用存储过程-用存储过程增加借书人信息-Exec 借书人信息 借书证号=1010,姓名=阿萨德,联系电话=12547856985-用存储过程增加图书信息Exec 图书信息 书号=2051,书名=数据库课程设计,作者=陈志泊 ,出版社名称=人

27、民邮电出版社,图书类型=软件类,价格=29,书籍数目=12-用存储过程增加借书信息declare a datetime declare b datetime set b=getdate()set a=dateadd(d,30,getdate()Exec 借书信息 图书条形码=2121 ,借书证号=10010,书号=2051,借书日期=b,还书期限=a实验总结此程序实现了,图书的录入,借书人的录入,所借书籍的录入,对借书人所借书数量的统计以及名称统计,自动调用系统时间作为借书人借书时间,还书限定为系统时间根据书籍类型进行自动增加。当借出书籍或还入书籍时自动根据所存书籍数目进行加减,并将其显示在书

28、籍表格中。本程序缺点:未能对未及时归还书籍的情况进行判定并设定处罚设施,未能自动将书籍按照书籍类型进行自动分类,未设定借书人身份权限。结束语经过本次实验,加深了我对关系数据库原理的理解,锻炼了我的动手能力。在实验的一周时间里,我做出了一个简易的学生证管理系统数据库,这也让我额外了解了一些学生证管理方面的知识,扩展了我的知识面,使我在学习完数据库的理论知识后付诸实践。理论和实际相结合,对数据库的使用更加熟练。这次课程设计使我熟悉了系统设计的整体步骤。系统设计大体可分为需求分析、概念设计、逻辑设计、物理设计、数据库的实施及调试测试六大步骤。其中,让我感触最深的是需求分析阶段,在这个阶段,必须对所要

29、设计的系统有总体的构思和了解,知道自己要做什么,要实现什么,并且要实际的进行相关的调查,不能凭想象或自己的了解,这样会在后续的工作中遇到很多的问题。这次课程设计加深了我对数据库系统概论相关知识和SQL SERVER相关功能的理解。例如对建立基本表、视图、索引、存储过程、触发器等,都比以前更加的熟练。并在解决遇到的各种问题的过程中,学到了很多新的知识。比如在导入导出数据时,由于外键约束的存在,经常会出现错误,这就要注意各个表导入的顺序问题。一般是先导入主键表,后导入外键表,这样可以避免很多的错误。我进一步掌握了相关的SQL语句方面的知识。不但纠正了以前的错误认识和理解,而且学会了建立存储过程和触发器。通过查阅资料,我还明白了存储过程是编译后放在服务器端的程序,它可以被别的模块调用,且不需要重新编译,这样就大大减轻了客户端的负担,且有效的提高了系统执行的效率。4 . 当然,在实验的过程中也存在一些问题。由于需求分析阶段的工作完成的不是很充分,在后面的设计过程中,前后时常会出现矛盾,不一致现象,因此要反复的修改前面的结果,导致整个工作进行的不是很顺利。15教育专业b

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!