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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(数据库设计范例图书管理系统.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据库设计范例图书管理系统.docx

1、数据库设计范例图书管理系统第10章 图书管理系统数据库设计实例通过前面章节对数据库基础知识的学习,本章将通过一个图书管理系统的数据库设计实例来重点讲述如何设计数据库。在设计数据库的过程中应该遵循哪些设计原则及技巧。通过本章的数据库实例设计,要求对数据库的整体过程有个概念性的理解,并能通过所学知识,在具体的开发环境下设计一个较优化数据库并实现设计过程。 数据库设计原则及技巧10.1.1数据库设计原则随着计算机技术越来越广泛地应用于国民经济的各个领域,在计算机硬件不断微型化的同时,应用系统向着复杂化、大型化的方向发展。数据库是整个系统的核心,它的设计直接关系系统执行的效率和系统的稳定性。因此在软件

2、系统开发中,数据库设计应遵循必要的数据库范式理论,以减少冗余、保证数据的完整性与正确性。只有在合适的数据库产品上设计出合理的数据库模型,才能降低整个系统的编程和维护难度,提高系统的实际运行效率。虽然对于小项目或中等规模的项目,开发人员可以很容易地利用范式理论设计出一套符合要求的数据库,但对于一个包含大型数据库的软件项目,就必须有一套完整的设计原则与技巧。1. 设计原则在设计数据库时,至关重要的工作就是要理解为之建模的业务职能和表示这些业务职能的数据库概念及功能,并能准确地设计数据库,进而建立优化的业务模型。因为数据库的设计在整个系统中是至关重要的一步,一旦数据库设计完成,在进行修改及优化就需花

3、费大量的时间。因此,再设计数据库时,应考虑以下事项:1)规范命名。所有的库名、表名、域名必须遵循统一的命名规则,并进行必要说明,以方便设计、维护、查询。2)3)控制字段的引用。在设计时,可以选择适当的数据库设计管理工具,以方便开发人员的分布式设计和数据小组的集中审核管理。采用统一的命名规则,如果设计的字段已经存在,可直接引用;否则,应重新设计。4)库表重复控制。在设计过程中,如果发现大部分字段都已存在,开发人员应怀疑所设计的库表是否已存在。通过对字段所在库表及相应设计人员的查询,可以确认库表是否确实重复。5)并发控制。设计中应进行并发控制,即对于同一个库表,在同一时间只有一个人有控制权,其他人

4、只能进行查询。6)必要的讨论。数据库设计完成后,数据小组应与相关人员进行讨论,通过讨论来熟悉数据库,从而对设计中存在的问题进行控制或从中获取数据库设计的必要信息。7)数据小组的审核。库表的定版、修改最终都要通过数据小组的审核,以保证符合必要的要求。8)头文件处理。每次数据修改后,数据小组要对相应的头文件进行修改(可由管理软件自动完成),并通知相关的开发人员,以便进行相应的程序修改。2.设计技巧分类拆分数据量大的表。对于经常使用的表(如某些参数表或代码对照表),由于其使用频率很高,要尽量减少表中的记录数量。例如,银行的户主账表原来设计成一张表,虽然可以方便程序的设计与维护,但经过分析发现,由于数

5、据量太大,会影响数据的迅速定位。如果将户主账表分别设计为活期户主账、定期户主账及对公户主账等,则可以大大提高查询效率。索引设计。对于大的数据库表,合理的索引能够提高整个数据库的操作效率。在索引设计中,索引字段应挑选重复值较少的字段;在对建有复合索引的字段进行检索时,应注意按照复合索引字段建立的顺序进行。例如,如果对一个万多条记录的流水表以日期和流水号为序建立复合索引,由于在该表中日期的重复值接近整个表的记录数,用流水号进行查询所用的时间接近秒;而如果以流水号为索引字段建立索引进行相同的查询,所用时间不到秒。因此在大型数据库设计中,只有进行合理的索引字段选择,才能有效提高整个数据库的操作效率。数

6、据操作的优化。在大型数据库中,如何提高数据操作效率值得关注。例如,每在数据库流水表中增加一笔业务,就必须从流水控制表中取出流水号,并将其流水号的数值加一。正常情况下,单笔操作的反应速度尚属正常,但当用它进行批量业务处理时,速度会明显减慢。经过分析发现,每次对流水控制表中的流水号数值加一时都要锁定该表,而该表却是整个系统操作的核心,有可能在操作时被其他进程锁定,因而使整个事务操作速度变慢。对这一问题的解决的办法是,根据批量业务的总笔数批量申请流水号,并对流水控制表进行一次更新,即可提高批量业务处理的速度。数据库参数的调整。数据库参数的调整是一个经验不断积累的过程,应由有经验的系统管理员完成。以i

7、nformion数据库为例,记录锁的数目太少会造成锁表的失败;逻辑日志的文件数目太少会造成插入大表失败等,这些问题都应根据实际情况进行必要的调整。必要的工具。在整个数据库的开发与设计过程中,可以先开发一些小的应用工具,如自动生成库表的头文件、插入数据的初始化、数据插入的函数封装、错误跟踪或自动显示等,以此提高数据库的设计与开发效率。避免长事务。对单个大表的删除或插入操作会带来大事务,解决的办法是对参数进行调整,也可以在插入时对文件进行分割。对于一个由一系列小事务顺序操作共同构成的长事务(如银行交易系统的日终交易),可以由一系列操作完成整个事务,但其缺点是有可能因整个事务太大而使不能完成,或者,

8、由于偶然的意外而使事务重做所需的时间太长。较好的解决方法是,把整个事务分解成几个较小的事务,再由应用程序控制整个系统的流程。这样,如果其中某个事务不成功,则只需重做该事务,因而既可节约时间,又可避免长事务。适当超前。计算机技术发展日新月异,数据库的设计必须具有一定前瞻性,不但要满足当前的应用要求,还要考虑未来的业务发展,同时必须有利于扩展或增加应用系统的处理功能。总之,相对于中小型数据库,大型数据库的设计与开发要复杂得多,因此在设计、开发过程中,除了要遵循数据库范式理论、增加系统的一致性和完整性外,还要在总体上根据具体情况进行分布式设计,紧紧把握集中控制、统一审核的基本原则,保证数据库设计结构

9、紧凑、分布平衡、定位迅速。在数据库操作上,要采用一定的技巧提高整个应用系统的执行效率,并注意适当超前,以适应不断变化的应用及系统发展的要求。 图书管理系统数据库设计实例(设计一个系统的核心是前期的分析设计,如果前期的分析设计没有合理、正确、可预见且清晰的思路,整个系统就无法实现一个优化的高性能系统。那么数据库的设计是整个系统设计的关键。本章重点介绍图书管理系统的数据库设计,而对于数据库应用的什么开发环境设计的系统,本文不再介绍。从数据库的设计过程可知,数据库设计的首要任务就是需求分析,可见如果需求分析做不好,就不可能设计出一个合理、优化的数据库。10.2.1数据库设计过程数据库设计是设计一个数

10、据库管理系统的核心技术,因此,在设计一个系统之前必须设计好数据库,目前数据设计的一般过程分为六个阶段如图所示:需求分析阶段、概念结构设计阶段、逻辑结构设计阶段、物理结构设计阶段、实施阶段和运行与维护阶段。1、需求分析阶段:需求分析阶段的主要任务是指通过充分调查现实世界要处理的对象, 详细了解计算机系统的工作情况, 明确用户的各种需求, 然后确定系统的各项功能。数据库系统不仅要按照当前的应用要求来设计, 而且必须充分考虑今后可能的扩充和改变。 2、概念结构设计阶:概念结构设计阶段的主要任务是将需求分析阶段所得到的用户需求抽象为概念模型, 而描述概念模型的具体工具主要是E-R模型。 如图 数据库设

11、计的一般过程3、逻辑结构设计阶段:逻辑结构设计阶段的主要任务是把概念结构设计阶段设计的基本E-R模型转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。具体来说, 就是首先将概念结构转换为一般的关系、网状、层次模型, 然后将转换来的模型向特定DBMS支持下的数据模型转换, 最后对数据模型进行优化。 $4、物理结构设计阶段:物理结构设计阶段的主要任务是为一个指定的逻辑数据模型选取一个符合应用要求的物理结构。具体来说, 就是首先确定数据库的物理结构, 即数据库的存取方法和存储结构;然后对数据库的物理结构进行评估, 评估的重点是存取时间的长短和存储空间的大小。5、实施阶段:实施阶段的主要任务是

12、用RDBMS 提供的数据定义语言和其他实用程序将逻辑结构设计和物理结构设计的结果详细描述出来,成为DBMS 可以接受的源代码;再经过系统调试产生目标模式, 最后完成数据的载入工作。 6、运行与维护:运行与维护阶段的主要任务包括数据库的转储和恢复, 数据库完整性和安全性控制, 数据库性能改造、分析和监督, 数据库的重构造和重组织。10.2.2需求分析阶段 10.2.2.1 概述进行系统设计,首先要对系统的现状进行分析。根据系统的目标、需求和功能,制定和选择一个较好的系统方案,从而达到一个合理的优化系统。而需求分析是在于要弄清用户对所开发的数据库应用系统的确切要求。所以,数据库设计的第一步是明确数

13、据库的目的和如何使用,也就是说需要从数据库中得到哪些信息。明确目的之后,就可以确定您需要保存哪些主题的信息(表),以及每个主题需要保存哪些信息(表中字段)。在构造系统时,首先从需求出发构造数据库表,然后再由数据库表结合需求划分系统功能模块。这样,就把一个大的系统分解成了几个小系统。经过对图书管理系统的分析,因图书数量、规模大,管理信息量大,建立图书管理系统是为了解决人工手动管理图书信息在实践的问题。这里把系统的层次划分为了四个部分:图书维护,人员信息管理,图书借阅管理,信息查询。能够实现以下功能:1)进行新书入库、现有图书信息修改以及删除;2)3)能够实现对读者基本信息的查询和编辑管理;4)能

14、够进行超期罚款功能;5)能够进行借阅信息的查询功能;10.2.2.2 需求阶段的目标及任务需求分析的目标及任务就是为了提取有效的信息,概念模型的抽象化,转化为计算机系统能够识别的信息。则通过需求分析所得的信息如下: 处理对象读者信息:读者编号,姓名,性别,学号,学院,专业,年级,类型,类别编号,办证日期管理员信息:管理员编号,姓名,性别,权限,登录口令,住址,电话|馆藏图书信息:图书编号,索书号,图书名称,作者,出版社,单价,摘要,关键字,副本数,分类,出版日期,状态借阅信息:图书编号,读者编号,图书名,作者,借阅日期,归还日期,归还日期,应还日期,罚金借阅历史信息:图书编号,读者编号,图书名

15、,作者,借阅日期,还书日期罚款信息:读者编号,图书编号,图书名,作者,借阅日期,应还日期,归还日期,罚款金额,处理状态,管理员编号 处理功能及要求用户对图书管理系统的功能及要求如下:1.能够存储一定数量的图书信息,并方便有效的进行相应的书籍数据操作和管理,这主要包括:a)图书信息的录入、删除及修改。b)$c)图书信息的多关键字检索查询。d)图书的出借、返还及超期罚款或丢失赔偿。2.能够对一定数量的读者、管理员进行相应的信息存储与管理,这其中包括:a)读者信息的登记、删除及修改。b)管理员信息的增加、删除及修改。c)读者资料的统计与查询。3.能够提供一定的安全机制,提供数据信息授权访问,防止随意

16、删改、查询。4.对查询、统计的结果能够列表显示。10.2.2.3安全性和完整性要求1)安全性要求系统安全性要求体现在数据库安全性、信息安全性和系统平台的安全性等方面。安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度上的安全性,再通过分配权限、设置权限级别来区别对待不同操作者对数据库的操作来提高数据库的安全性;系统平台的安全性体现在操作系统的安全性、计算机系统的安全性和网络体系的安全性等方面。2)完整性要求系统完整性要求系统中数据的正确性以及相容性。可通过建立主、外键,使用check约束,或者通过使用触发器和级联更新。在系统进行设计时,一定根据第七章所学知识对数

17、据的安全性及完整性进行设计。以保证数据库更为完善。10.2.2.4 建立数据业务流程及数据字典系统需求分析主要是通过对本校图书管理员的咨询、请教,了解我校图书馆的管理规则和运行机制,并通过上网搜索有关图书管理系统的知识,了解到了图书管理的现状,以及在管理中的一些问题,然后通过所了解的文字信息,理解数据业务流程及数据字典,为后期数据库设计提供概念基础。 : 图书管理系统业务流程图本文的业务流程是从读者角度考虑的业务流程图: 图书管理系统数据流程图(一)顶层数据流图:(二)第2层数据流图:(读者借阅,读者还书,读者查询,管理员查询,管理员修改)&图第2层数据流图(三)第3层数据流图:(读者借阅)图

18、 读者借阅数据流图(四)第3层数据流图:(读者还书)图 读者还书数据流图(五)第3层数据流图:(查询图书信息,查询读者信息,查询借阅历史,查询罚款信息)图管理员、读者查询数据流图(六)第3层数据流图:(管理员添加、删除、修改图书信息)图 图书的维护数据流图(七)第3层数据流图:(管理员添加、删除、修改读者信息)图 更改读者信息的数据流图(八)第3层数据流图:(管理员添加、删除、修改管理员信息)-图 更改管理员信息的数据流图 图书管理系统数据字典(a)数据项:系统涉及的数据项有44项表 数据项列表数据项编号数据项名数据项含义与其它数据项的关系存储结构别名DI-1BookID图书条码号char(9

19、)条码号)DI-2BookNo图书索书号char(10)索书号DI-3BookName;图书名char(20)书名DI-4BookWriter图书作者char(8)作者DI-5BookPublish图书出版社char(20)出版社;DI-6BookPrice图书单价char(7)单价DI-7BookDate)图书出版日期Date出版日期DI-8BookClass图书分类char(20)类别DI-9BookMain图书摘要char (200)摘要)DI-10BookPrim图书关键字char (30)关键字DI-11BookCopy图书副本数char (5)副本数DI-12BookState图书

20、是否可借char(10)状态DI-13BookRNo所属馆室号同RoomNochar(5)馆室号;DI-14ReaID读者条码号char(9)条码号DI-15ReaName-读者姓名char(10)姓名DI-16ReaSex读者性别#char(2)性别DI-17ReaNo读者学号char (9)学号)DI-18ReaLBID读者类别编号同LBIDchar(5)类别编号DI-19ReaType读者类型(职务)char(20)类型DI-20ReaDep读者所在学院char(20)学院DI-21ReaGrade读者所属年级char(5)年级|DI-22ReaPre读者所读专业char(20)专业DI

21、-23ReaDate读者办证时间Date办证时间DI-24OutDate借阅日期Date借阅时间DI-25InDate归还日期Date归还时间(DI-26YHDate应还日期Date应还时间DI-27Fine罚款金额char(3)罚款金额DI-28CLState是否交纳罚金。char(8)处理状态DI-29LBID类别编号同ReaLBIDchar(5)类别编号。DI-30LBName读者类别名char(20)类别名DI-31LBnum允许最多借书数量char(5)借阅数量DI-32LBbqx允许最长持有时间char(4)借阅期限DI-33LBqx借阅卡有效期char(3)有效期限,DI-34M

22、ID管理员编号同RoomMIDchar(10)编号DI-35MName【管理员姓名char(10)姓名DI-36MSex管理员性别char(2)性别DI-37Mpwd管理员口令char(8)口令,DI-38MAuth管理员权限级别char(4)权限级别DI-39MTeleph管理员电话char(15)电话DI-40MAddre管理员地址¥char(30)住址DI-41RoomNo馆室号同BookRNochar(5)馆室号;DI-42RoomMID馆室管理员编号同MIDchar(10)编号DI-43RoomNum)馆室内图书数目char(5)数量DI-44RoomAddre馆室地址(char(2

23、0)地址(b)数据结构:表 数据结构列表数据结构编号数据结构名数据结构含义组成DS-1Book馆藏图书信息BookID,BookNo,BookName,BookWriter,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

24、,BookName,BookWriter, Outdate,YHdateDS-4History借阅历史BookID,ReaID,BookName,BookWriter, Outdate,IndateDS-5Fine罚款信息BookID,ReaID,BookName,Outdate,Indate,Fine, CLState,MID:DS-6ReaderType读者类别LBID, LBName, LBnum, LBbqx, LBqxDS-7Maneger管理员信息MID,MName,MSex,Mpwd,MAuth,MTeleph,MAddre)DS-8Room馆室信息RoomNO, RoomMID

25、, RoomNum, RoomAddre (c)处理逻辑描述表 处理逻辑列表处理编号处理功能;处理过程PR-1判断读者查询涉及的功能模块馆藏图书信息模块、读者信息模块、读者类别信息模块、借阅信息模块、借阅历史信息模块、罚款信息模块、管理员模块、馆室信息模块:先确定查询所涉及的功能模块;然后,根据要查询的内容,确定查询数据流向;最后显示查询结果。PR-2判断图书、读者修改要涉及的模块,同时把相应的修改数据传到相应的模块之中馆藏图书信息模块、读者信息模块、读者类别信息模块、管理员信息模块、馆室信息模块:先确定更新所涉及的功能模块;然后,把更新信息传送到相应的模块中;最后,进行相应的更新操作。10.

26、2.3概念分析阶段概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程,它是整个数据库设计的关键。本图书管理系统的主要任务及目标如下:(1)选择中层数据流为切入点,通常选择实际系统中的子系统;(2)设计分E-R图,即各子模块的E-R图;(3)生成初步E-R图,通过合并方法,做到各子系统实体、属性、联系统一;(4)生成全局E-R图,通过消除冲突等方面。在本图书管理系统中,从第3层数据流程图下手。分析各3层数据流图和数据字典,知道整个系统功能围绕“读者”、“管理员”和“图书”的处理。根据实体与属性间的两条准则:| 作为“属性”,不能再具有需要描述的性质。 “属性”不能与其

27、他实体具有联系。数据流程图 、图、图可综合成借阅子系统的分E-R图,数据流程图可抽象为分E-R图,数据流程图可抽象为分E-R图,数据流程图可抽象为分E-R图。然后采用逐步集成的方式将各分E-R图合并,消除不必要的冗余和冲突后就生成了基本E-R图。其各个ER图如下:(1)根据不同的对象,从第3层数据流程图入手,分别画出各分ER图:(a)从数据流程图 、图、图抽象出的分ER图:图 分E-R图(b)从数据流程图可抽象为分E-R图:、图 分E-R图(c)从数据流程图抽象出的分ER图:图 分E-R图(d)从数据流程图抽象出的分ER图:图 分E-R图(2)合并各分图,消除属性冲突、命名冲突、结构冲突等三类

28、冲突,得到初步E-R图,再消除不必要冗余,得到的基本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) 管理员:M

29、aneger(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)罚款信息:Fine(BookID,ReaderID,BookName, Outdate,Indate, Fine, CLState, MID)10.2.4逻辑设计阶段以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用的DBMS产品发生关系了,系统逻辑设计的任务就是将概念设计阶段设计好的基本E-R图转换为选用DBMS产品

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1