收藏 分销(赏)

《数据库系统概论》课程设计论文.doc

上传人:a199****6536 文档编号:3530375 上传时间:2024-07-08 格式:DOC 页数:23 大小:415.24KB
下载 相关 举报
《数据库系统概论》课程设计论文.doc_第1页
第1页 / 共23页
《数据库系统概论》课程设计论文.doc_第2页
第2页 / 共23页
《数据库系统概论》课程设计论文.doc_第3页
第3页 / 共23页
《数据库系统概论》课程设计论文.doc_第4页
第4页 / 共23页
《数据库系统概论》课程设计论文.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、。理 学 院 数据库系统概论课程设计论文题 目:宁夏医科大学图书管理系统数据库设计学 号: 专业班级:姓 名:日 期:摘 要在计算机日益普及的今天,对个人而言若采用一套行之有效的图书管理系统来管理自己的书籍,会方便许多。对图书管理部门而言,以前单一的手工检索已不能满足人们的要求,往往是投入了大量的人力和财力却得不到高效的管理效率。为了便于图书资料的管理需要有效的图书管理软件,减轻工作人员的工作量,方便工作人员对它的操作,提高管理的质量和水平,做到高效、智能化管理,达到提高图书借阅信息管理效率的目的。采用数据库技术生成的图书馆借阅管理系统将会极大地方便借阅者并简化图书馆管理人员和工作人员的劳动,

2、使工作人员从繁忙、复杂的工作进入到一个简单、高效的工作中。基于这个问题,开发了大学图书馆借阅系统。系统采用C/S模式,实现了借还书的方便、高效性、有效性和及时性。本文通过设计和开发一个中小型高校图书馆管理系统的实践,阐述了高校图书管理软件中所应具有的基本功能、设计、实现。关键字:图书借阅;人员管理;图书维护;-可编辑修改-目 录1.需求分析说明书31.1.引言31.2.需求分析阶段的目标与任务31.2.1.处理对象31.2.2.处理功能及要求41.2.3.安全性和完整性要求41.3 需求分析阶段成果42.概念模型设计92.1 引言92.2 任务与目标102.3 阶段结果103逻辑模型设计123

3、.1逻辑设计的任务和目标123.2数据组织123.2.1将E-R图转换为关系模型123.2.2模型优化133.2.3数据库模式定义133.2.4 用户子模式定义153.3数据处理164物理模型设计174.1物理设计阶段的目标与任务174.2数据存储方面174.3系统功能模块174.3.1 读者基本信息的查询和更新模块174.3.2 图书基本信息的查询和更新模块18参考文献25附录 所有的SQL运行语句341. 需求分析阶段1.1 引言进行系统设计,首先要对系统的现状进行分析。根据系统的目标、需求和功能,制定和选择一个较好的系统方案,从而达到一个合理的优化系统。每个学校都有图书馆,最初由于图书数

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

5、划分系统功能模块。这样,就把一个大的系统分解成了几个小系统。这里把系统的层次划分为了四个部分:图书维护,人员信息管理,图书借阅管理,信息查询。能够实现以下功能: 进行新书入库、现有图书信息修改以及删除; 能够实现对读者基本信息的查询和编辑管理; 能够进行超期罚款功能; 能够进行借阅信息的查询功能;1.2 需求分析阶段的目标与任务1.2.1处理对象读者信息:读者编号,姓名,性别,学号,学院,专业,年级,类型,类别编号,办证日期管理员信息:管理员编号,姓名,性别,权限,登录口令,住址,电话馆藏图书信息:图书编号,索书号,图书名称,作者,出版社,单价,摘要,关键字,副本数,分类,出版日期,状态借阅信

6、息:图书编号,读者编号,图书名,作者,借阅日期,归还日期,归还日期,应还日期,罚金借阅历史信息:图书编号,读者编号,图书名,作者,借阅日期,还书日期罚款信息:读者编号,图书编号,图书名,作者,借阅日期,应还日期,归还日期,罚款金额,处理状态,管理员编号1.2.2处理功能及要求1能够存储一定数量的图书信息,并方便有效的进行相应的书籍数据操作和管理,这主要包括:1) 图书信息的录入、删除及修改。2) 图书信息的多关键字检索查询。3) 图书的出借、返还及超期罚款或丢失赔偿。能够对一定数量的读者、管理员进行相应的信息存储与管理,这其中包括:1) 读者信息的登记、删除及修改。 2) 管理员信息的增加、删

7、除及修改。 3) 读者资料的统计与查询。3能够提供一定的安全机制,提供数据信息授权访问,防止随意删改、查询。4对查询、统计的结果能够列表显示。1.2.3.安全性和完整性要求1) 安全性要求 系统安全性要求体现在数据库安全性、信息安全性和系统平台的安全性等方面。安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度上的安全性,再通过分配权限、设置权限级别来区别对待不同操作者对数据库的操作来提高数据库的安全性;系统平台的安全性体现在操作系统的安全性、计算机系统的安全性和网络体系的安全性等方面。2) 完整性要求系统完整性要求系统中数据的正确性以及相容性。可通过建立主、外键

8、,使用check约束,或者通过使用触发器和级联更新。1.3 需求分析阶段成果1.3.1 体会与收获系统需求分析主要是通过对本校图书管理员的咨询、请教,了解我校图书馆的管理规则和运行机制,并通过上网搜索有关图书管理系统的知识,了解到了图书管理的现状,以及在管理中的一些问题。由于是第一次做这样的需求调查,开始总是觉得无从下手,不知道自己该了解、该清楚那些方面的知识,在绘制系统业务流程图时,也遇到了很多的问题,但通过老师的帮助与指导,和自己一遍一遍的分析和完善,才逐步把业务弄清楚,最终顺利完成了需求分析阶段的任务。1.3.2 图书管理系统业务流程图图1.1 业务流程图从读者角度考虑的业务流程图:1.

9、3.3 图书管理系统数据流程图图 1.2 顶层数据流顶层数据流图:第2层数据流图:(读者借阅,读者还书,读者查询,管理员查询,管理员修改)第3层数据流图:(读者借阅)第3层数据流图:(读者还书)第3层数据流图:(查询图书信息,查询读者信息,查询借阅历史,查询罚款信息)第3层数据流图:(管理员添加、删除、修改图书信息)第3层数据流图:(管理员添加、删除、修改读者信息)第3层数据流图:(管理员添加、删除、修改系统用户信息)1.3.4 图书管理系统数据结构表1.2 数据结构列表数据结构编号数据结构名数据结构含义组成DS-1Book馆藏图书信息BookID,BookNo,BookName,BookWr

10、iter,BookPublish,BookPrice,BookDate,BookClass, BookMain,BookPrim,BookCopy,BookState,BookRNo DS-2Reader读者信息ReaID, ReaName, ReaSex, ReaNo, ReaLBID, ReaType, ReaDep, ReaGrade, ReaPref, ReaDate, DS-3Borrow借阅信息BookID,ReaID,BookName,BookWriter, Outdate,YHdateDS-4History借阅历史BookID,ReaID,BookName,BookWriter

11、, Outdate,IndateDS-5Fine罚款信息BookID,ReaID,BookName,Outdate,Indate,Fine, CLState,MIDDS-6ReaderType读者类别LBID, LBName, LBnum, LBbqx, LBqxDS-7Maneger管理员信息MID,MName,MSex,Mpwd,MAuth,MTeleph,MAddreDS-8Room馆室信息RoomNO, RoomMID, RoomNum, RoomAddre 1.3.5 处理逻辑描述表1.3 处理逻辑列表处理编号处理功能处理过程PR-1判断读者查询涉及的功能模块馆藏图书信息模块、读者信

12、息模块、读者类别信息模块、借阅信息模块、借阅历史信息模块、罚款信息模块、管理员模块、馆室信息模块:先确定查询所涉及的功能模块;然后,根据要查询的内容,确定查询数据流向;最后显示查询结果。PR-2判断图书、读者修改要涉及的模块,同时把相应的修改数据传到相应的模块之中馆藏图书信息模块、读者信息模块、读者类别信息模块、管理员信息模块、馆室信息模块:先确定更新所涉及的功能模块;然后,把更新信息传送到相应的模块中;最后,进行相应的更新操作。2. 概念设计阶段 2.1 引言系统开发的总体目标是实现图书馆管理的系统化和自动化,缩短借阅者的等待时间,减轻工作人员的工作量,方便工作人员对它的操作,提高管理的质量

13、和水平,做到高效、智能化管理,从而达到提高图书管理效率的目的。主要任务是对读者信息、管理员信息、图书资料信息、借阅信息、归还图书信息、罚款信息的基本信息的操作及外理。概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程,它是整个数据库设计的关键。2.2 任务与目标(1)选择中层数据流为切入点,通常选择实际系统中的子系统; (2)设计分E-R图,即各子模块的E-R图; (3)生成初步E-R图,通过合并方法,做到各子系统实体、属性、联系统一; (4)生成全局E-R图,通过消除冲突等方面。在本图书管理系统中,从第3层数据流程图下手。分析各3层数据流图和数据字典,知道整个系统

14、功能围绕“读者”、“管理员”和“图书”的处理。根据实体与属性间的两条准则:作为“属性”,不能再具有需要描述的性质。“属性”不能与其他实体具有联系。数据流程图2.4 、图2.5、图2.6可综合成借阅子系统的分E-R图3.1,数据流程图2.7可抽象为分E-R图3.2,数据流程图2.8可抽象为分E-R图3.3,数据流程图2.9可抽象为分E-R图3.4。然后采用逐步集成的方式将各分E-R图合并,消除不必要的冗余和冲突后就生成了基本E-R图3.5。2.3 阶段结果(1)根据不同的对象,从第3层数据流程图入手,分别画出各分ER图:(a)从数据流程图图(三) 与图(四)抽象出的分ER图:(c)从数据流程图图

15、(六)抽象出的分ER图: (d)从数据流程图图(七)抽象出的分ER图: (e)从数据流程图图(八)抽象出的分ER图: (2)合并各分图,消除属性冲突、命名冲突、结构冲突等三类冲突,得到初步E-R图,再消除不必要冗余,得到的基本E-R图如下所示:(3)各ER图各实体的属性如下所示:图书:Book(BookID, BookNo, BookName, BookWriter, BookPublish, BookPrice, BookDate, BookClass, BookMain, BookPrim, BookCopy, BookState,BookRN)读者:Reader(ReaID, ReaNa

16、me, 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) 各ER图中联系的属性如下所示:借阅信息:Borrow (BookID,ReaderID,BookName,BookWriter, Outdate,YHda

17、te)借阅历史:History(BookID,ReaderID,BookName, BookWriter, Outdate,Indate)罚款信息:Fine(BookID,ReaderID,BookName, Outdate,Indate, Fine, CLState, MID)3逻辑设计阶段3.1逻辑设计的任务和目标以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用的DBMS产品发生关系了,系统逻辑设计的任务就是将概念设计阶段设计好的基本E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。具体内容包括数据组织(将E-R图转换成关系模型、模型优化、数据库模式定义

18、、用户子模式设计)、数据处理(画出系统功能模块图)两大任务。3.2数据组织3.2.1将E-R图转换为关系模型实体型转换为关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对于实体间的联系则有以下不同的情况:一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应

19、的关系模式合并。三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合 具有相同码的关系模式可合并。由于读者类别与读者、馆室与图书的联系方式是1:n(一对多),可以将其之间的联系与n端实体读者、图书合并,管理员与图书之间的维护联系也是1:n(一对多),同样也将其之间的联系与n端实体合并,而读者与图书之间的借阅和归还联系方式则是n:m(多对多),这样要把它们之间的联系转化为独立的关系模式,读者与管理员之间的罚款联系是m:n(多对多),将其联系也转化成独立的关系模式,具体的基本E-R图向关系模型的转化如

20、下:图书: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

21、, 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) (注:标有直线下划线的为主属性,标有波浪线下划

22、线的是外键属性,主属性与外键属性一起构成主码)3.2.2模型优化关系模式Book,Reader,Room,ReaderType ,Maneger不存在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,已经达到了3NF,但是借阅关系模式、借阅历史关系模式、罚款关系模式(Borrow,History,Fine)中存在着一些数据冗余,现将三个关系模型进行合并,消除冗余,优化为:借阅信息:Borrow ( BookID,ReaderID,BookName,BookWriter, Outdate,Indate,YHdate,Fine,CLStaer,MID)3.2.3数据库模式定义表3.1 馆藏图书

23、信息表列名数据类型可否为空说明BookIDCharacternot null图书编号BookNoCharacternot null图书的索书号BookNameCharacternot null图书的书名BookWriterCharacternot null图书作者BookPulishCharacternot null图书出版社BookPriceCharacter图书的单价BookDateDate出版日期BookClassCharacter图书的分类BookMainCharacter图书的摘要BookPrimCharacter图书的关键字BookCopyCharacter图书的副本数BookSt

24、ateCharacternot null图书是否可借BookRNoCharacternot null图书所在馆室号表3.2 读者信息表列名数据类型可否为空说明ReaIDCharacternot null读者编号ReaNameCharacternot null读者姓名ReaSexCharacternot null读者性别ReaNoCharacternot null读者学号ReaLBIDCharacternot null读者类别编号ReaTypeCharacter读者类型ReaDepCharacter读者所在学院ReaPrefCharacter读者所属专业ReaGradeCharacter读者的年

25、级ReaDateDatenot null办证日期表3.3 管理员信息表列名数据类型可否为空说明MIDCharacternot null管理员编号MNameCharacternot null管理员姓名MSexCharacter管理员性别MpswCharacternot null管理员密码MAuthCharacternot null管理员权限MTelephCharacter管理员电话MAddreCharacter管理员地址表3.4 馆室信息表列名数据类型可否为空说明RoomNoCharacternot null馆室号RoomMIDCharacternot null馆室管理员编号RoomNumCha

26、racter馆室拥有图书数目RoomAddreCharacter馆室地址表3.5 读者类别信息表列名数据类型可否为空说明LBIDCharacternot null读者类别编号LBNameCharacternot null读者类别名LBnumCharacternot null允许借阅图书最大数LBbqxCharacternot null持有图书最长期限LBqxCharacternot null借阅证期限表3.6 借阅信息表列名数据类型可否为空说明ReaIDCharacternot null读者编号BookIDCharacternot null图书编号BookNameCharacternot nu

27、ll图书名BookWriterCharacter作者OutdateDatenot null借阅时间IndateDate归还时间YHdateDatenot null应还时间FineCharacter罚款金额CLStateCharacter处理状态MIDCharacternot null管理员编号3.2.4 用户子模式定义表3.7 用户子模式定义编号用户子模式(View)作用(共性:提供数据保密和安全保护机制)V1BookView便于查询和修改图书的基本信息V2ReaderView方便读者基本信息的查询、更新V3HistoryView便于借阅历史信息的查询V4BorrowView用于当前借阅信息的

28、查询V5FineView便于查询罚款信息表2.8 读者基本信息视图列名数据类型可否为空说明ReaIDCharacternot null读者编号ReaNameCharacternot null读者姓名ReaSexCharacternot null读者性别ReaTypeCharacter读者类型ReaDepCharacter读者所在学院ReaDateDatel办证日期表3.9 图书基本信息视图列名数据类型可否为空说明BookNoCharacternot null图书的索书号BookNameCharacternot null图书的书名BookWriterCharacternot null图书作者Bo

29、okPulishCharacternot null图书出版社BookStateCharacternot null图书是否可借BookRNoCharacternot null图书所在馆室号表3.10 读者当前借阅信息视图列名数据类型可否为空说明BookIDCharacternot null图书编号BookNameCharacternot null图书名OutdateDatenot null借阅时间YHdateDatenot null应还时间表3.11 读者借阅历史信息视图列名数据类型可否为空说明BookIDCharacternot null图书编号BookNameCharacternot nul

30、l图书名OutdateDatenot null借阅时间IndateDate归还时间表3.12 读者罚款信息视图列名数据类型可否为空说明BookIDCharacternot null图书编号BookNameCharacternot null图书名OutdateDatenot null借阅时间IndateDate归还时间FineCharacternot null罚款金额CLStateCharacternot null处理状态3.3数据处理系统功能模块图: 4物理设计阶段4.1物理设计阶段的目标与任务 数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段中要完成两大任

31、务:(1)确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构;(2)对物理结构进行评价,评价的重点是时间和空间效率。4.2数据存储方面为数据库中各基本表建立的索引如下:1. 由于基本表Reader,Book的主码ReaID,BookID经常在查询条件和连接操作的连接条件中出现,且它们的值唯一,在两个属性上建立唯一性索引;2. 由于基本表Reader的属性ReaDep,Book的属性BookPublish经常在查询条件中出现在两个属性上建立聚簇索引;3. 借阅信息基本表Borrow的一属性ReaID,BookID,经常在查询条件中出现,考虑在其之上建立聚簇索引;4. 罚款信息基本表Fi

32、ne的一属性ReaID,BookID,经常在查询条件中出现,考虑在其之上建立聚簇索引;4.3系统功能模块4.3.1 读者基本信息的查询和更新模块将实现对读者基本信息的查询和更新(修改、添加、删除)操作,用于新生入学,毕业生离校,以及读者补办借阅证或更改信息的情况,具体的功能模块图如下:4.3.2 图书基本信息的查询和更新模块将完成对图书基本信息的查询、更新(修改、添加、删除)操作,用于读者对图书信息的查询及管理员添加新书、删除淘汰的旧书,具体的功能模块图如下所示:参考文献1 萨师煊 王珊,数据库系统概论(第三版),北京:高教出版社,20002 软件开发与指导;人民邮电出版社3 萨师煊 王珊,数

33、据库系统概论(第三版),北京:高教出版社,20004 附录 所有的SQL运行语句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)

34、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 cha

35、r(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

36、 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(Re

37、aSex =男 or ReaSex =女)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)create clustered index BookPublish on Book(Boo

38、kPublish);create clustered index ReaDep on Reader(ReaDep);create view Bookview (索书号, 书名, 作者, 出版社, 图书状态)asselect BookNo,BookName,BookWriter,BookPublish,BookStatefrom Bookcreate view Readerview (编号,读者姓名,类型,学院,专业,办证日期)asselect ReaID,ReaName,ReaType,ReaDep,ReaPref,ReaDatefrom Readercreate view Borrowvie

39、w (读者编号,书名,作者,借阅日期,到期日期)asselect ReaID,BookName,BookWriter,Outdate,YHdatefrom Borrow,Bookwhere Borrow.BookID=Book.BookID and Borrow.Indate is nullcreate view Historyview (读者编号,书名,借阅日期,归还日期)asselect ReaID,BookName,Outdate,Indatefrom Borrow,Bookwhere Borrow.BookID=Book.BookID and Borrow.Indate is not

40、nullcreate view Fineview (读者编号,书名,借阅日期,归还日期,罚款,处理状态)asselect ReaID,BookName,Outdate,Indate,Fine,CLStatefrom Borrow,Bookwhere Borrow.BookID=Book.BookID and Fine is not nullcreate trigger Reader_deleteon Readerfor deleteas delete Borrowfrom deletedwhere Borrow.ReaID=deleted.ReaIDcreate trigger Borrow_insert1on Borrowfor insertas declare BookID char(9)select BookID=BookIDfrom insertedupdate Bookset BookState=不可借where BookID=BookID-可编辑修改-THANKS !致力为企业和个人提供合同协议,策划案计划书,学习课件等等打造全网一站式需求欢迎您的下载,资料仅供参考-可编辑修改-

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 应用文书 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服