数据库课设(打印).doc_第1页
数据库课设(打印).doc_第2页
数据库课设(打印).doc_第3页
数据库课设(打印).doc_第4页
数据库课设(打印).doc_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

课 程 设 计 报 告课程名称 数据库原理课程设计 课题名称 图书管理系统 专 业 计算机科学与技术 班 级 计算机 学 号 姓 名 指导教师 2015年 3 月 16 日湖南工程学院课 程 设 计 任 务 书课程名称 数据库原理课程设计 课 题 图书管理系统 专业班级 计算机 学生姓名 学 号 指导老师 审 批 任务书下达日期 2015 年 2 月 2 日任务完成日期 2015年 3 月 16 日一、设计内容与设计要求1设计内容:数据库系统原理的课程设计要求学生综合利用本课程的有关知识,在教师的指导下,利用特定的数据库设计环境,针对具体的问题,完成从系统的需求分析、数据库的概念设计、数据库的逻辑设计,到数据库实现等设计过程,最终实现一个较为完整的反映应用需求的数据库系统。因此,在设计中,要求学生应该全面考虑各个设计环节以及它们之间的相互联系。下面是各个设计阶段的具体内容。 系统需求分析需求分析是数据库系统设计的一个重要的环节。本阶段应该对整个应用情况作全面的、详细的调查,确定特定数据库应用环境下的设计目标,收集该应用环境下针对系统设计所需要的基础数据以及对这些数据的具体存储要求,从而确定用户的需求。用户对数据库的需求包括: 处理需求。即用户要完成什么处理功能等。学生在设计中应根据具体的课题要求确定系统应该实现的功能,一些基本的功能通常是必须具备的,如用户的管理与维护,基本数据的维护,灵活的信息查询等。 信息需求。即在数据库中需要存储哪些数据。学生应该根据具体的课题,认真分析有关的要求,确定本设计的信息需求。 安全性和完整性功能。实践中这是一个需要与用户不断交流才能逐步确定的需求。本课程设计要求学生在自己的设计中能反映出基本的安全性和完整性功能。 本阶段的设计结果(即系统需求分析)应该在课程设计报告中进行详细描述,画出系统的数据流图,写出较为详细的数据字典,作为本课程设计的验收依据之一。 数据库的概念设计数据库的概念设计是在需求分析的基础上,利用与用户双方都能理解的形式,设计出数据库的概念模型。本课程设计要求学生采用E-R方法进行数据库的概念设计。本设计阶段可分为: 数据抽象。即根据需求分析的结果,抽取出与本课程设计相关的特性。设计局部概念模式。运用E-R方法,设计出系统的各个局部ER模型。 设计全局概念模式。通过对局部E-R模型的操作,解决各个E-R模型关于对象定义不一致问题,以及对各个E-R模型进行合并优化等,最终形成数据库的全局概念模式。本阶段的设计结果(局部和全局E-R图、具体数据库设计工具中概念结构设计图)应该在课程设计报告中进行详细描述,应该能够反映该设计的正确性,作为本课程设计的验收依据之一。 数据库的逻辑设计数据库逻辑设计的目的是将概念设计阶段设计好的E-R图转换成与具体机器上的DBMS(如Oracle)所支持的数据模型(如关系模型)相符合的逻辑结构。鉴于本课程设计的具体环境要求,学生在进行数据库的逻辑结构设计时应该充分考虑特定的数据库环境。要求学生在本阶段的设计中分两步进行: 形成初始的关系模式。将概念设计阶段产生的全局概念模式(E-R图)转换成初始的关系模式。 关系模式的规范化处理。为了减少或消除关系模式中存在的数据冗余和操作异常,根据设计所要求的规范级别,按照本课程所学知识,逐一分析各个关系模式是否满足规定的范式。在课程设计报告中应该提供本设计阶段的相关内容,作为本课程设计的验收依据之一。 创建数据库在某一数据库管理系统环境中创建数据库,根据需要也可建立相关数据视图和存储过程。在课程设计报告中应该提供相关的内容,包括数据库及各个数据库对象的定义的SQL语句,作为本课程设计的验收依据之一。2设计要求:鉴于数据库选题原理课程设计的具体内容,对课程设计提出如下要求: 选题原则课程设计题目以选用学生相对比较熟悉的业务模型为宜,要求通过本实践性教学环节,能较好地巩固数据库的基本概念、基本原理、关系数据库的设计理论、设计方法等主要相关知识点,针对实际问题设计概念模型,并应用现有的工具完成小型数据库的设计与实现。 选题要求在后面的课题表中列出了几个设计课题,每个课题都有相应的要求或说明。各课题的难易度有一定的差异,因此,参加课程设计的学生首先要了解设计的任务,仔细阅读各个课题的设计要求,然后根据自己的基础和能力情况选择其中一题,或者由指导教师指定。一般来说,选择课题应以在规定的时间内能完成,并能得到应有的锻炼为原则。若学生对课题表以外的相关课题较感兴趣,希望选作课程设计的课题时,应征得指导教师的认可,并写出明确的设计要求和说明。设计时要严格按照题意要求进行设计,不能随意更改。若确因条件所限,必须要改变课题要求时,应在征得指导教师同意的前提下进行。3参考选题 网店鲜花销售系统网上购物商城 小说阅读网KTV点播系统局域网多功能聊天系统多媒体播放器人人乐超市管理系统学生信息管理系统Epet宠物管理系统老百姓订餐系统物业管理信息系统在线教育网系统其它管理子系统数据库设计(自己选题需经指导教师认可).4.课程设计报告要求课程设计的设计报告是学生对本次课程设计的全面总结,应该反映每个设计阶段的设计思路和设计内容。该设计报告,应作为整个课程设计评分的书面依据和存档材料。设计报告一般要以固定规格的纸张(如A4)书写或打印并装订,字迹及图形要清楚,工整,规范。内容及要求如下: 设计任务、要求及所用软件环境或工具介绍。 课程设计内容中要求的设计结果。 总结 验收情况二、进度安排第一周 星期一 8:0012:00 星期二 14:0018:00 星期三 8:0012:00 星期四 14:0018:00 星期五 8:0017:00第二周 星期一 8:0012:00 星期二 14:0018:00 星期三 8:0012:00 星期四 14:0018:00 星期五 8:0017:00附:课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。 正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现(至少要有一个主要模块的流程图);四、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释)。正文总字数要求在5000字以上(不含程序原代码)。目录一、 系统需求分析11.1、处理需求11.2、信息需求11.3、安全性和完整性功能2二、 数据库的概念设计22.1、数据抽象22.2、全局概念3三、数据库的逻辑设计53.1、将E-R图转换为关系模型53.2规范化处理63.3、数据库模式定义6四、 创建数据库94.1、 建立数据库94.2、 建立数据表94.3 建立视图12五、总结13六、附录141、 系统需求分析1.1、处理需求1、能够存储一定数量的图书信息,并方便有效的进行相应的书籍数据操作和管理,这主要包括:1) 图书信息的录入、删除及修改。2) 图书信息的多关键字检索查询。3) 图书的出借、返还及超期罚款或丢失赔偿。2、能够对一定数量的读者、管理员进行相应的信息存储与管理,这其中包括:1) 读者信息的登记、删除及修改。 2) 管理员信息的增加、删除及修改。 3) 读者资料的统计与查询。3、能够提供一定的安全机制,提供数据信息授权访问,防止随意删改、查询。4、对查询、统计的结果能够列表显示。1.2、信息需求读者信息:读者编号,姓名,性别,学号,学院,专业,年级,类型,类别编号,办证日期。管理员信息:管理员编号,姓名,性别,权限,登录口令,住址,电话。馆藏图书信息:图书编号,索书号,图书名称,作者,出版社,单价,摘要,关键字,副本数,分类,出版日期,状态。借阅信息:图书编号,读者编号,图书名,作者,借阅日期,归还日期,归还日期,应还日期,罚金。借阅历史信息:图书编号,读者编号,图书名,作者,借阅日期,还书日期。罚款信息:读者编号,图书编号,图书名,作者,借阅日期,应还日期,归还日期,罚款金额,处理状态,管理员编号。1.3、安全性和完整性功能1、安全性要求 系统安全性要求体现在数据库安全性、信息安全性和系统平台的安全性等方面。安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度上的安全性,再通过分配权限、设置权限级别来区别对待不同操作者对数据库的操作来提高数据库的安全性;系统平台的安全性体现在操作系统的安全性、计算机系统的安全性和网络体系的安全性等方面。2、 完整性要求系统完整性要求系统中数据的正确性以及相容性。可通过建立主、外键,使用check约束,或者通过使用触发器和级联更新。2、 数据库的概念设计2.1、数据抽象2.1.1、读者、图书、管理员之间的E-R图,如图2.1.1。图2.1.12.1.2、管理员、图书之间的E-R图,如图2.1.2所示。图2.1.22.1.3、管理员、读者之间的E-R图,如图2.1.3所示。图2.1.32.1.4、管理员、管理之间的E-R图,如图2.1.4所示。图2.1.42.2、全局概念1、合并各分图,并且消除属性冲突、命名冲突、结构冲突等三类冲突,得到初步E-R图,再消除不必要冗余,最后得到全局百年的基本E-R如图2.2.1所示。图2.2.12、各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)管理员:Maneger(MID, MName, MSex, Mpwd, MAuth, MTeleph, MAddre) 馆室:Room(RoomNo,RoomMID,RoomNum,RoomAddre)读者类别:ReaderTpye(LBID, LBName, LBnum, LBbqx, LBqx) 3、各ER图中联系的属性借阅信息:Borrow (BookID,ReaderID,BookName,BookWriter, Outdate,YHdate)借阅历史:History(BookID,ReaderID,BookName, BookWriter, Outdate,Indate)罚款信息:Fine(BookID,ReaderID,BookName, Outdate,Indate, Fine, CLState, MID)三、数据库的逻辑设计3.1、将E-R图转换为关系模型由于读者类别与读者、馆室与图书的联系方式是1:n(一对多),可以将其之间的联系与n端实体读者、图书合并,管理员与图书之间的维护联系也是1:n(一对多),同样也将其之间的联系与n端实体合并,而读者与图书之间的借阅和归还联系方式则是n:m(多对多),这样要把它们之间的联系转化为独立的关系模式,读者与管理员之间的罚款联系是m:n(多对多),将其联系也转化成独立的关系模式,具体的基本E-R图向关系模型的转化如下:图书:Book(BookID, BookNo, BookName, BookWriter, BookPublish, BookPrice,BookDate,BookClass,BookMain,BookPrim,BookCopy,BookState,BookRNo)读者:Reader(ReaID,ReaName,ReaSex,ReaNo,ReaLBID,ReaType, ReaDep, ReaGrade, ReaPref, ReaDate)管理员:Maneger (MID,MName,MSex,Mpwd,MAuth,MTeleph,MAddre)读者类别:ReaderTpye(LBID, LBName, LBnum, LBbqx, LBqx)馆室: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) 3.2规范化处理因为关系模式Book,Reader,Room,ReaderType ,Maneger不存在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,所以已经达到了3NF,故而符合规范化处理。但是借阅关系模式、借阅历史关系模式、罚款关系模式(Borrow,History,Fine)中存在着一些数据冗余,故按规范化处理现将三个关系模型进行合并,消除冗余,其优化为后的关系模式如下:借阅信息:Borrow ( BookID,ReaderID,BookName,BookWriter, Outdate,Indate,YHdate,Fine,CLStaer,MID)3.3、数据库模式定义3.3.1、馆藏图书信息表列名数据类型可否为空说明BookIDCharnot null图书编号BookNoCharnot null图书的索书号BookNameCharnot null图书的书名BookWriterCharnot null图书作者BookPulishCharnot null图书出版社BookPriceChar图书的单价BookDateDate出版日期BookClassChar图书的分类BookMainChar图书的摘要BookPrimChar图书的关键字BookCopyChar图书的副本数BookStateCharnot null图书是否可借BookRNoCharnot null图书所在馆室号3.3.2、读者信息表列名数据类型可否为空说明ReaIDCharnot null读者编号ReaNameCharnot null读者姓名ReaSexCharnot null读者性别ReaNoCharnot null读者学号ReaLBIDCharnot null读者类别编号ReaTypeChar读者类型ReaDepChar读者所在学院ReaPrefChar读者所属专业ReaGradeChar读者的年级ReaDateDatenot null办证日期3.3.3、管理员信息表列名数据类型可否为空说明MIDCharnot null管理员编号MNameCharnot null管理员姓名MSexChar管理员性别MpswCharnot null管理员密码MAuthCharnot null管理员权限MTelephChar管理员电话MAddreChar管理员地址3.3.4、馆室信息表列名数据类型可否为空说明RoomNoCharnot null馆室号RoomMIDCharnot null馆室管理员编号RoomNumChar馆室拥有图书数目RoomAddreChar馆室地址3.3.5读者类别信息表列名数据类型可否为空说明LBIDCharnot null读者类别编号LBNameCharnot null读者类别名LBnumCharnot null允许借阅图书最大数LBbqxCharnot null持有图书最长期限LBqxCharnot null借阅证期限3.3.6借阅信息表列名数据类型可否为空说明ReaIDCharnot null读者编号BookIDCharnot null图书编号BookNameCharnot null图书名BookWriterChar作者OutdateDatenot null借阅时间IndateDate归还时间YHdateDatenot null应还时间FineChar罚款金额CLStateChar处理状态MIDCharnot null管理员编号3.3.7、读者基本信息视图列名数据类型可否为空说明ReaIDCharnot null读者编号ReaNameCharnot null读者姓名ReaSexCharnot null读者性别ReaTypeChar读者类型ReaDepChar读者所在学院ReaDateDatel办证日期3.3.8、图书基本信息视图列名数据类型可否为空说明BookNoCharnot null图书的索书号BookNameCharnot null图书的书名BookWriterCharnot null图书作者BookPulishCharnot null图书出版社BookStateCharnot null图书是否可借BookRNoCharnot null图书所在馆室号3.3.9、读者当前借阅信息视图列名数据类型可否为空说明BookIDCharnot null图书编号BookNameCharnot null图书名OutdateDatenot null借阅时间YHdateDatenot null应还时间3.3.10、读者借阅历史信息视图列名数据类型可否为空说明BookIDCharnot null图书编号BookNameCharnot null图书名OutdateDatenot null借阅时间IndateDate归还时间3.3.11、读者罚款信息视图列名数据类型可否为空说明BookIDCharnot null图书编号BookNameCharnot null图书名OutdateDatenot null借阅时间IndateDate归还时间FineCharnot null罚款金额CLStateCharnot null处理状态4、 创建数据库4.1、 建立数据库create database Book;4.2、 建立数据表4.2.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,)4.2.2、管理员基本信息表的建立:create table Maneger(MID char(10) primary 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 =女)4.2.3、图书馆室基本信息表的建立:create table Room(RoomNo char(5) primary key,RoomMID char(10) not null,Roomnum char(5),RoomAddre char(20),foreign key(RoomMID) references Maneger(MID),)4.2.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 char(200), BookPrim char(30), BookCopy char(5), BookState char(10) not null, BookRNo char(5) not null, foreign key(BookRNo) references Room(RoomNo),)4.2.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),ReaGrade char(5),ReaPref char(20),ReaDate Datetime,foreign key(ReaLBID) references ReaderType(LBID),check(ReaSex =男 or ReaSex =女)4.2.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(10) not null,primary key(BookID,ReaID),foreign key(MID) references Maneger(MID)4.3 建立视图4.3.1、用于查询图书基本信息的视图定义如下: create view Bookview (索书号, 书名, 作者, 出版社, 图书状态)asselect BookNo,BookName,BookWriter,BookPublish,BookStatefrom Book4.3.2用于读者基本信息查询的视图定义如下:create view Readerview (读者姓名,类型,学院,专业,办证日期)asselect ReaName,ReaType,ReaDep,ReaPref,ReaDatefrom Reader4.3.3用于显示当前借阅基本信息的视图定义如下:create view Borrowview (读者编号,书名,作者,借阅日期,到期日期)asselect ReaID,BookName,BookWriter,Outdate,YHdatefrom Borrow,Bookwhere Borrow.BookID=Book.BookID and Borrow.Indate is null4.3.4用于借阅历史信息查询的视图定义如下:create view Historyview (读者编号,书名,借阅日期,归还日期)asselect ReaID,BookName,Outdate,Indatefrom Borrow,Bookwhere Borrow.BookID=Book.BookID and Borrow.Indate is not null4.3.5用于查询罚款信息的视图定义如下:create view Fineview (读者编号,书名,借阅日期,归还日期,罚款,处理状态)asselect ReaID,BookName,Outdate,Indate,Fine,CLStatefrom Borrow,Bookwhere Borrow.BookID=Book.BookID and Fine is not null五、总结在这次为期两周的数据库课程设计中,是通过校企合作完成的。开始由企业带领我们完成这次课设的。这是我们以前从没有过的经验,感到非常新奇的同时在这次课设中我学习到了很多以前没有的知识,也了解了一些有关职场的规则,让我收获很多。在本次课程设计的软件开发的过程中,我全面实践一个面向数据库的应用系统的开发过程,学习了很多有关的知识。这样的项目对我学过的数据结构,程序设计,数据库,软件工程等课程是一个综合性很高的实践。一些以前没有学得很杂实的课程的内容,由于需要在实践中运用,刚开始我也感到很头痛。但回过头再去看有关的教科书,经过一段时间的钻研,对与这些知识点的相关的背景,概念和解决方案理解得更透彻了,学习起来也越来越有兴趣,越来越轻松。熟悉了数据库设计的每一个过程。另外我还充分体会了从事软件开发工作需要特别严谨认真的态度和作风,一点都马虎不得。每一个细微的细节都必须十分的注意,如果不认真思考决策,就会出现或大或小的错误,如果早期的错误隐藏下来,对后面的工作影响就会很大,甚至有时要推倒很多前面做的工作重来。有时候,我自己觉得我写的程序非常的正确,但是就是编译通不过,在查错误的过程中,面临着否认自己的过程,非常的痛苦,而且由于自己的经验及各方面的能力的不足,所以进展的速度非常的缓慢,往往几天的时间还没有一点进展。这时候,我一般是先自己通过书本,手册和资料解决办法,实在没辙了才向老师请教。尽管向老师请教解决问题比较快,自己钻研花的时间较多,但我强迫自己独立的思考对我的学习提高帮助非常大。在开始编写程序的时候,我看到别人的软件功能非常的详细,而且界面非常的漂亮,总希望自己的软件也非常的完善,但是,经过二个月的学习,发现编一个优秀的软件决不是一蹴而就的事情,需要长时间的积累和经验。我认清自己的能力后,我就特别注意在工作的过程中不贪图大而全,而是根据自己的能力,制定适当的目标。在反反复复的学习及不耻下问之下,我的辛勤努力有了回报,终于做出了一个简单的软件,虽然这个软件的功能非常的简单,而且我想,在实际的运用中,还有些不足。因为图书管理牵涉的内容非常很多,我涉及到的仅仅是图书管理的一部分简单内容,离实际的客户需求肯定还有一定的差距。例如用户管理和借还书处理等考虑得还不完善。最好是这几部分之间的数据可以相互利用转化,不需要重复的输入有关的数据。针对图书管理,还应该建立一个有普遍意义的模型,这样对用户来说,就比较容易通过修改有关管理制度来适应我们开发的软件。由于我的知识浅薄,经验不足及阅历颇浅,因此,在该系统的设计方面还有很多不足,比如功能过少,界面不够醒目等问题,我会在工作的使用过程中,根据工作的具体要求不断的修改,完善,争取使该系统慢慢趋向完美。在本系统的设计过程和课程设计报告的编写过程中,老师和同学都给予了我许多无私的帮助,尤其是我的队友们给我的系统设计提出了很多宝贵的修改意见,在这里,我向这些无私帮助我的人表示衷心的感谢。六、附录create database Book;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,)create table Maneger(MID char(10) primary 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 =女)create table Room(RoomNo char(5) primary key,RoomMID char(10) not null,Roomnum char(5),RoomAddre char(20),foreign key(RoomMID) references Maneger(MID),)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 char(200), BookPrim char(30), BookCopy char(5), BookState char(10)not null, BookRNo char(5)not null,foreign key(BookRNo) references Room(RoomNo),)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),ReaGrade char(5),ReaPref char(20),ReaDate Datetime,foreign key(ReaLBID) references ReaderType(LBID),check(ReaSex =男 or ReaSex =女)create table Borrow(BookID char(9),ReaID cha

温馨提示

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

评论

0/150

提交评论