1、数据库应用系统设计1.数据库应用系统设计步骤按规范设计方法可将数据库设计分为以下六个阶段(1)需求分析;(2)概念结构设计;(3)逻辑结构设计;(4)数据库物理设计;(5)数据库实施;(6)数据库运行和维护。2.需求分析需求搜集和分析是数据库应用系统设计第一阶段。明确地把它作为数据库应用系统设计第一步是十分关键。这一阶段搜集到基础数据和一组数据流图(Data Flow DiagramDFD)是下一步设计概念结构基础。概念结构是整个组中全部用户关心信息结构,对整个数据库设计含有深刻影响。而要设计好概念结构,就必需在需求分析阶段用系统见解来考虑问题、搜集和分析数据及其处理。怎样分析和表示用户需求呢
2、?在众多分析方法中,结构化分析(Structured Analysis,简称SA方法)是一个简单实用方法。SA方法用自顶向下、逐层分解方法分析系统。用数据流图、数据字典描述系统。然后把一个处理功效具体内容分解为若干子功效,每个子功效继续分解,直到把系统工作过程表示清楚为止。在处理功效逐步分解同时,它们所用数据也逐层分解,形成若干层次数据流图。数据流图表示了数据和处理过程关系。处理过程处理逻辑常常见判定表或判定树来描述。数据字典(Data Dictionary,简称DD)则是对系统中数据详尽描述,是各类数据属性清单。对数据库应用系统设计来讲,数据字典是进行具体数据搜集和数据分析所取得关键结果。数
3、据字典是各类数据描述集合,它通常包含以下5个部分:(1)数据项,是数据最小单位。(2)数据结构,是若干数据项有意义集合。(3)数据流,能够是数据项,也能够是数据结构。表示某一处理过程输入输出。(4)数据存放,处理过程中存取数据。常常是手工凭证、手工文档或计算机文件。(5)处理过程。3.概念结构设计如同软件工程中重视需求分析和规范说明思想一样,数据库设计中一样十分重视数据分析、抽象和概念结构设计。概念结构设计,是整个数据库设计关键之一。概念结构独立于数据库逻辑结构,独立于支持数据库DBMS,也独立于具体计算机软件和硬件系统。归纳总结,其关键特点是:(1)能充足地反应现实世界,包含实体和实体之间联
4、络,能满足用户对数据处理要求,是现实世界一个真实模型,或靠近真实模型。(2)易于了解,从而能够和不熟悉计算机用户交换意见。用户主动参与是数据库应用系统设计成功是否关键。 (3)易于更动。当现实世界改变时轻易修改和扩充,尤其是软件、硬件环境改变时更应如此。(4)易于向关系、网状或层次等多种数据模型转换。概念结构是多种数据模型共同基础,它比任意一个数据模型更独立于机器,更抽象,从而愈加稳定。描述概念结构有力工具是E-R模型。P.P.S.Chen把用E-R模型定义概念结构称为组织模式。设计概念结构策略有3种:(1)自顶向下 首先定义全局概念结构框架,然后逐步细化。(2)自底向上 首先定义各局部应用概
5、念结构,然后将它们集成,得到全局概念结构。 (3)混合策略 自顶向下和自底向上相结合方法。用自顶向下策略设计一个全局概念结构框架,以它为骨架集成由自底向上策略中设计各局部概念结构。现介绍自底向上设计概念结构策略。根据这种策略,概念结构设计可按下面步骤进行。(1)数据抽象和局部视图设计E-R模型是对现实世界一个抽象。通常地讲,所谓抽象是对实际人、物、事和概念人为处理。它抽取大家关心共同特征,忽略非本质细节,并把这些特征用多种抽象概念正确地加以描述。这些概念组成了现实世界一个模型表示。有3种抽象方法形成了抽象机制,来对数据进行组织:分类(Classification) 定义某一概念作为现实世界中一
6、组对象类型。这些对象含有一些共同特征和行为。它抽象了对象值和型之间“is a member of”语义。在E-R模型中,实体型就是这种抽象。聚集(Aggregation) 定义某一类型组成成份。它抽象了对象内部属性类型和整体和部分之间“is a part of”语义。在E-R模型中若干属性聚集组成了实体型,就是这种抽象。概括(Generalization) 定义类型之间一个子集联络。它抽象了类型之间“is a subset of”语义。概括含有一个很关键性质:继承性。子类继承超类上定义全部抽象性质。当然,子类能够增加自己一些特殊属性。概念结构设计第一步就是利用上面介绍抽象机制对需求分析阶段搜集
7、到数据进行组织,形成实体、实体属性,标识实体码,确定实体之间联络类型(11、1n、nm),设计成部分E-R图。(2)视图集成视图集成就是把上一步得到各个部分E-R图综合成一个总体E-R图。视图集成能够有两种方法:多个部分E-R图一次集成。逐步集成。用累加方法一次集成两个部分E-R图。不管哪种方法,每次集成可分两步走。第一步是合并,处理各部分E-R图之间冲突问题,生成初步E-R图。第二步是修改和重构,消除无须要冗余,生成基础E-R图。4.逻辑结构设计逻辑结构设计任务就是把概念结构转换为选择DBMS所支持数据模型过程。设计逻辑结构按理应选择对某个概念结构最好数据模型,然后对支持这种数据模型多种DB
8、MS进行比较,选出最适宜DBMS。但实际情况常常是已给定了某台机器,设计人员没有选择DBMS余地。现行DBMS通常只支持关系、网状或层次三种模型中某一个,对某一个数据模型,各个机器系统又有很多不一样限制,提供不一样环境和工具。所以我们把设计过程分三步进行。首先把概念结构向通常关系模型转换,然后向特定DBMS支持下数据模型转换,最终进行模型优化。(1)E-R图向关系数据模型转换下面给出把E-R图转换为关系模型转换规则。一个实体转换为一个关系模式。实体属性就是关系属性,实体码就是关系码。一个联络转换为一个关系模式,和该联络相连各实体码和联络属性转换为关系属性。该关系码则有三种情况:若联络为11,则
9、每个实体码均是该关系候选码。若联络为1n,关系码为n端实体码。 若联络为nm,则关系码为诸实体码组合。含有相同码关系模式可合并。形成了通常数据模型后,下一步就向特定DBMS要求模型转换。设计人员必需熟知所用DBMS功效及限制。这一步转换是依靠于机器,不能给出一个普遍规则。转化后模型必需进行优化。对数据模型进行优化是指调整数据模型结构,以提升数据库应用系统性能。性能有动态性能和静态性能两种。静态性能分析轻易实现。依据应用要求,选出适宜模型是一项复杂工作。(2)规范化理论应用规范化理论是数据库逻辑设计指南和工具,具体地讲可应用在下面多个具体方面:第一,在数据分析阶段用数据依靠概念分析和表示各数据项
10、之间关系。第二,在设计概念结构阶段,用规范化理论为工具消除初步E-R图中冗余联络。第三,由E-R图向数据模型转换过程中用模式分解概念和算法指导设计。现在,不管选择DBMS是支持哪种数据模型,均先把概念结构向关系模型转换。然后,充足利用规范化理论结果优化关系数据库模式设计。设计措施是:确定数据依靠 把E-R图中每个实体内各个属性按数据分析阶段所得到语义写出其数据依靠。实体之间联络用实体主码之间联络来表示。用关系来表示E-R图中每一个实体 每个实体对应一个关系模式Ri,其中Ui 就是该实体所包含诸属性,i 就是在Ui上投影。对于实体之间那些数据依靠进行极小化处理 设函数依靠集为F,求F和最小覆盖G
11、差集。D=F-G 逐一考察D中函数依靠,确定是否应该去掉,因为规范化理论受泛关系假设限制,应注意下面两个问题:冗余联络一定在D中,而D中联络不一定是冗余。当实体之间存在多个联络时应该利用子类概念将实体之间联络形式上单一化,然后才能进行极小化处理。用关系表示实体之间联络 每个联络对应一个关系模式RjUjo 由相互联络诸实体(二个或多个实体)主码属性和描述该联络性质属性组成。j 就是在Ui 上投影。对于不一样实体非主码属性之间联络一样也要形成一个关系模式。这么就得到了一组关系模式。根据数据依靠理论,逐一分析这组模式。考查是否存在部分函数依靠、传输依靠、多值依靠等,确定它们分别属于第几范式。然后根据
12、数据分析阶段得到多种应用对数据处理要求,分析对于这么应用环境这模式是否适宜,确定是否要对它们进行合并或分解。关系模式分解,对于需要进行分解关系模式进行分解,对产生多种模式进行评价,选出较适宜模式。规范化理论给出了判定关系模式优劣理论标准,帮助估计模式可能出现问题,提供了自动产生多种模式算法工具,所以是设计人员有力工具,也使数据库应用系统设计工作有了严格理论基础。5.数据库物理设计物理设计内容关键包含:(1)确定数据存放结构 从DBMS所提供存放结构中选择一个适宜加以实现。确定存放结构关键原因是存取时间、存放空间利用率和维护代价三个方面。设计者常常要对这些原因进行权衡。通常DBMS也总是含有一定
13、灵活性供你选择。比如,若引入一些冗余数据,则可能降低物理I/O次数提升检索效率。相反节省存放空间检索代价就会增加。当然应该尽可能寻求优化方法,使这三方面性能全部很好。折衷有时是必需。(2)存取路径选择和调整 数据库必需支持多个用户多个应用,所以必需提供对数据库多个存取入口,也就是对同一数据存放要提供多条存取路径。物理设计任务应确定建立哪些存取路径。设计者应该进行定量分析,依据计算结果确定存取路径。(3)确定数据存放位置 首先按数据应用情况划分为不一样组,然后确定存放位置。通常应把数据易变部分和稳定部分分开,把常常存取和不常存取数据分开。常常存取或存取时间要求高统计应存放在高速存放器上,如硬盘。
14、存取频率小或存取时间要求低放在低速存放器上,如软盘、磁带。对于同一数据文件也可依据情况进行水平划分或垂直划分。(4)确定存放分配 很多DBMS提供了存放分配参数供设计者物理优化处理用。比如溢出空间大小和分布参数、块长度、块因子大小、装填因子、缓冲区大小和个数等等,它们全部要在物理设计中确定。这些参数大小影响存取时间和存放空间分配。物理设计过程需要对时间、空间效率、维护代价和多种用户要求进行权衡,其结果能够产生多个方案。在实施数据库前对这些方案进行方案进行细致评价,以选择一个较优方案是十分必需。6.数据库应用系统实施和维护对数据库物理设计初步评价完成后就可建立数据库了。数据库应用系统实施对应于软
15、件工程编码、调试阶段。设计人员利用DBMS提供数据定义语言将逻辑设计和物理设计结果严格地描述出来,成为DBMS可接收源代码,经过调试产生目标模式。然后组织数据入库。组织数据入库是数据库应用系统实施阶段最关键工作。(1)数据库数据载入和应用程序开发 因为数据库数据量通常全部很大,而且这些数据起源于一个组织各个部门,分散在多种数据文件或原始凭证中。这些数据结构和格式通常也不符合数据库要求,还要进行转换。所以组织数据入库是一件花费大量人力物力工作。数据转换和组织对于小系统能够用人工方法完成。不过,人工转换效率低、质量差。通常来说,应设计一个数据输入子系统让计算机完成这个工作。输入子系统关键功效是:原
16、始数据输入、抽取、校验、分类、转换和综合,最终把数据组织成符合数据库结构形式。然后把数据存入数据库中。数据转换、分类和综合常常要经过数次才能完成,所以输入子系统设计和实施亦是比较复杂,要编写很多应用程序。输入子系统设计不能等物理设计完成后才动手,应该和数据库设计工作并行开展。为了确保数据库数据正确无误,必需高度重视数据检验工作。在输入子系统进行数据转换过程中应该进行数次检验,每次检验方法亦不要相同。对于关键数据校验更应该反复数次,确定正确后方可入库。数据库应用系统中应用程序设计应该和数据库模式设计并行。数据库应用系统实施阶段另一项工作便这是这些应用程序编码、调试工作。有了装载实际数据数据库和应
17、用程序,就建立了数据库应用系统,能够试运行了。(2)数据库应用系统试运行在完成上述工作以后,便可进入数据库试运行阶段,或称联合调试阶段。这阶段关键工作是:实际运行应用程序,实施对数据库多种操作,测试应用程序功效。测量系统性能指标,分析是否符合设计目标。即使已在物理设计过程中进行了性能估计,不过仅仅估价了时间和空间指标,而且在性能估价过程中作了很多简化和假设,忽略了许数次要原因,所以估价是粗糙并可能失真。必需在试运行阶段进行实际测量和评价。有些参数最好值往往是经过运行调试后才找到。假如实际结果不符合设计目标,则需返回物理设计阶段,调整物理结构,修改参数。有时,可能还需要返回逻辑设计阶段,调整逻辑
18、结构。最终还须指出两点。第一,上面已看到组织数据入库是十分费事,假如运行调试后又要修改数据库设计则又要重新组织数据入库。所以应分批分期输入数据,逐步完成运行评价。第二,数据库实施和调试不是一朝一夕能完成,在此期间软硬件错误随时可能发生。加上数据库刚刚建立,工作人员对系统还不熟悉,对其规律更缺乏深入了解,轻易发生操作错误。所以必需做好数据库转储和恢复工作,这就要求设计人员了解DBMS这个功效,并依据调试方法和特点首先实施,尽可能降低对数据库破坏并简化故障恢复。(3)数据库应用系统运行和维护数据库应用系统投入运行标志着开发任务基础完成和维护工作开始,但并不意味着设计过程结束。任何数据库应用系统只要
19、它存在一天,它设计就得不不停地进行评价、调整、修改,甚至完全改革。所以数据库应用系统维护不仅是维护其正常活动而且是设计工作继续和提升。维护阶段关键工作是:数据库安全性、完整性控制及系统转储和恢复;性能监督、分析和改善;数据库重组织和重结构。下面简单介绍数据库重组织和重结构。数据库运行一段时间后,因为统计不停增、删、改,会使数据库物理存放变坏。比如,逻辑上属于同一统计型或同一关系数据被分散到了不一样文件或文件多个碎片上。从而降低了数据库存放空间利用率和数据存取效率,数据库性能下降。这时,DBA就要进行数据库重组织,DBMS通常全部提供重组织用实用程序。在重组过程中,按原设计要求重新安排统计存放位置,调整数据区和溢出区,回收“垃圾”,降低指针链等。数据库重组织不改变原设计数据逻辑结构和物理结构。而数据库重结构则不一样。部分修改原数据库模式或内模式称为数据库重结构。 因为数据库应用环境改变,数据库重构程度是有限。只能作部分修改和调整。若应用改变太大,重构也无济于事了,则表明数据库应用系统生命周期结束,应该重新设计数据库应用系统。新数据库应用系统新生命周期开始了。