第6章数据库设计.ppt
《第6章数据库设计.ppt》由会员分享,可在线阅读,更多相关《第6章数据库设计.ppt(106页珍藏版)》请在三一文库上搜索。
1、1,第6章 数据库设计,2,6.1 数据库设计概述,6.1.1 数据库设计的任务、内容和特点 6.1.1.1 数据库设计的任务 数据库设计是指根据用户需求研制数据库结构的过程,具体地说,是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能有效的存储数据,满足用户的信息要求和处理要求。 也就是把现实世界中的数据,根据各种应用处理的要求,加以合理地组织,满足硬件和操作系统的特性,利用已有的DBMS来建立能够实现系统目标的数据库。,3,数据库设计的任务如图6.1所示。,图6.1 数据库设计的任务,4,6.1.1.2 数据库设计的内容 数据库设计包括数据库的结构设计和数据库
2、的行为设计两方面的内容。 1数据库的结构设计 数据库的结构设计指是根据给定的应用环境,进行数据库的模式或子模式的设计。 它包括数据库的概念设计、逻辑设计和物理设计。 数据库模式是各应用程序共享的结构,是静态的、稳定的,一经形成后通常情况下是不容易改变的,所以结构设计又称为静态模型设计。,5,2数据库的行为设计 数据库的行为设计是指确定数据库用户的行为和动作。而在数据库系统中,用户的行为和动作指用户对数据库的操作,这些要通过应用程序来实现,所以数据库的行为设计就是应用程序的设计。 用户的行为总是使数据库的内容发生变化,所以行为设计是动态的,行为设计又称为动态模型设计。 6.1.1.3 数据库设计
3、的特点 在70年代末80年代初,人们为了研究数据库设计方法学的便利,曾主张将结构设计和行为设计两者分离,随着数据库设计方法学的成熟和结构化分析、设计方法的普遍使用,人们主张将两者作一体化的考虑,这样可以缩短数据库的设计周期,提高数据库的设计效率。,6,现代数据库的设计的特点是强调结构设计与行为设计相结合,是一种“反复探寻,逐步求精”的过程。首先从数据模型开始设计,以数据模型为核心进行展开,数据库设计和应用系统设计相结合,建立一个完整、独立、共享、冗余小、安全有效的数据库系统。 图6.2给出了数据库设计的全过程。,7,图6.2 数据库设计的全过程,8,6.1.2 数据库设计方法简述 数据库设计方
4、法目前可分为四类:直观设计法、规范设计法、计算机辅助设计法和自动化设计法。 直观设计法也叫手工试凑法,它是最早使用的数据库设计方法。这种方法依赖于设计者的经验和技巧,缺乏科学理论和工程原则的支持,设计的质量很难保证,常常是数据库运行一段时间后又发现各种问题,这样再重新进行修改,增加了系统维护的代价。因此这种方法越来越不适应信息管理发展的需要。 为了改变这种情况,1978年10月,来自三十多个国家的数据库专家在美国新奥尔良(New Orleans)市专门讨论了数据库设计问题,他们运用软件工程的思想和方法,提出了数据库设计的规范,这就是著名的新奥尔良法,它是目前公认的比较完整和权威的一种规范设计法
5、。新奥尔良法将数据库设计分成需求分析(分析用户需求)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设计)。目前,常用的规范设计方法大多起源于新奥尔良法,并在设计的每一阶段采用一些辅助方法来具体实现。 下面简单介绍几种常用的规范设计方法。,9,1基于E-R模型的数据库设计方法 基于E-R模型的数据库设计方法是由P.P.S.chen于1976年提出的数据库设计方法,其基本思想是在需求分析的基础上,用E-R(实体联系)图构造一个反映现实世界实体之间联系的企业模式,然后再将此企业模式转换成基于某一特定的DBMS的概念模式。 2基于3NF的数据库设计方法 基于3NF的数据库设计
6、方法是由SAtre提出的结构化设计方法,其基本思想是在需求分析的基础上,确定数据库模式中的全部属性和属性间的依赖关系,将它们组织在一个单一的关系模式中,然后再分析模式中不符合3NF的约束条件,将其进行投影分解,规范成若干个3NF关系模式的集合。 其具体设计步骤分为五个阶段:,10,(1)设计企业模式,利用规范化得到的3NF关系模式画出企业模式; (2)设计数据库的概念模式,把企业模式转换成DBMS所能接受的概念模式,并根据概念模式导出各个应用的外模式; (3)设计数据库的物理模式(存储模式); (4)对物理模式进行评价; (5) 实现数据库。,11,3基于视图的数据库设计方法 此方法先从分析各
7、个应用的数据着手,其基本思想是为每个应用建立自己的视图,然后再把这些视图汇总起来合并成整个数据库的概念模式。合并过程中要解决以下问题: (1) 消除命名冲突; (2) 消除冗余的实体和联系; (3)进行模式重构,在消除了命名冲突和冗余后,需要对整个汇总模式进行调整,使其满足全部完整性约束条件。,12,除了以上三种方法外,规范化设计方法还有实体分析法、属性分析法和基于抽象语义的设计方法等,这里不再详细介绍。 规范设计法从本质上来说仍然是手工设计方法,其基本思想是过程迭代和逐步求精。 计算机辅助设计法是指在数据库设计的某些过程中模拟某一规范化设计的方法,并以人的知识或经验为主导,通过人机交互方式实
8、现设计中的某些部分。 目前许多计算机辅助软件工程(Computer Aided Software Engineering,CASE)工具可以自动或辅助设计人员完成数据库设计过程中的很多任务.比如SYSBASE公司的PowerDesigner和Oracle公司的Design 2000。,13,6.1.3 数据库设计的步骤 和其他软件一样,数据库的设计过程可以使用软件工程中的生存周期的概念来说明,称为“数据库设计的生存期”,它是指从数据库研制到不再使用它的整个时期。 按规范设计法可将数据库设计分为六个阶段(如图6.3所示): (1)系统需求分析阶段 (2)概念结构设计阶段 (3)逻辑结构设计阶段
9、(4)物理设计阶段 (5)数据库实施阶段 (6)数据库运行与维护阶段,14,该方法是分阶段完成的,每完成一个阶段,都要进行设计分析,评价一些重要的设计指标,把设计阶段产生的文档组织评审,与用户进行交流。如果设计的数据库不符合要求则进行修改,这种分析和修改可能要重复若干次,以求最后实现的数据库能够比较精确地模拟现实世界,能较准确地反映用户的需求,设计一个完善的数据库应用系统往往是六个阶段的不断反复的过程。 数据库设计中,前两个阶段是面向用户的应用要求,面向具体的问题;中间两个阶段是面向数据库管理系统;最后两个阶段是面向具体的实现方法。前四个阶段可统称为“分析和设计阶段”,后两个阶段称为“实现和运
10、行阶段”。 六个阶段的主要工作各有不同。,15,1系统需求分析阶段 需求分析是整个数据库设计过程的基础,要收集数据库所有用户的信息内容和处理要求,并加以规格化和分析。这是最费时、最复杂的一步,但也是最重要的一步,相当于待构建的数据库大厦的地基,它决定了以后各步设计的速度与质量。需求分析做得不好,可能会导致整个数据库设计返工重做。在分析用户需求时,要确保用户目标的一致性。 2概念结构设计阶段 概念设计是把用户的信息要求统一到一个整体逻辑结构中,此结构能够表达用户的要求,是一个独立于任何DBMS软件和硬件的概念模型。 3逻辑结构设计阶段 逻辑设计是将上一步所得到的概念模型转换为某个DBMS所支持的
11、数据模型,并对其进行优化。,16,图6.3 数据库的设计步骤,17,4物理设计阶段 物理设计是为逻辑数据模型建立一个完整的能实现的数据库结构,包括存储结构和存取方法。 上述分析和设计阶段是很重要的,如果做出不恰当的分析或设计,则会导致一个不恰当或反应迟钝的应用系统。 5数据库实施阶段 根据物理设计的结果把原始数据装入数据库,建立一个具体的数据库并编写和调试相应的应用程序。应用程序的开发目标是开发一个可依赖的有效的数据库存取程序,来满足用户的处理要求。 6数据库运行与维护阶段 这一阶段主要是收集和记录实际系统运行的数据,数据库运行的记录用来提高用户要求的有效信息,用来评价数据库系统的性能,进一步
12、调整和修改数据库。在运行中,必须保持数据库的完整性,并能有效地处理数据库故障和进行数据库恢复。在运行和维护阶段,可能要对数据库结构进行修改或扩充。,18,可以看出,以上六个阶段是从数据库应用系统设计和开发的全过程来考察数据库设计的问题。因此,它既是数据库也是应用系统的设计过程。在设计过程中,努力使数据库设计和系统其他部分的设计紧密结合,把数据和处理的需求收集、分析、抽象、设计和实现在各个阶段同时进行、相互参照、相互补充,以完善两方面的设计。按照这个原则,数据库过程各个阶段的设计可用图6.4描述。 在上图有关处理特性的描述中,采用的设计方法和工具属于软件工程和管理信息系统等课程中的内容,本书不再
13、讨论,这里重点介绍数据特性的设计描述以及在结构特性中参照处理特性设计以完善数据模型设计的问题。 以下各节分别详细介绍数据库设计的六个阶段。,19,需求分析是数据库设计的起点,为以后的具体设计作准备。 需求分析的结果是否准确的反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。 经验证明,由于设计要求的不正确或误解,直到系统测试阶段才发现许多错误,则纠正起来要付出很大代价。 因此,必须高度重视系统的需求分析。,6.2 系统需求分析,20,6.2.1 需求分析的任务 从数据库设计的角度来看,需求分析的任务是:对现实世界要处理的对象(组织、部门、企业)等进行详细的调
14、查,通过对原系统的了解,收集支持新系统的基础数据并对其进行处理,在此基础上确定新系统的功能。,21,具体地说,需求分析阶段的任务包括以下三项:,图6.4 数据库各个设计阶段的描述,22,1调查分析用户的活动 这个过程通过对新系统运行目标的研究,对现行系统所存在的主要问题的分析以及制约因素的分析,明确用户总的需求目标,确定这个目标的功能域和数据域。具体做法是: (1) 调查组织机构情况,包括该组织的部门组成情况,各部门的职责和任务等。 (2) 调查各部门的业务活动情况,包括各部门输入和输出的数据与格式、所需的表格与卡片、加工处理这些数据的步骤、输入输出的部门等。,23,2收集和分析需求数据,确定
15、系统边界 在熟悉业务活动的基础上,协助用户明确对新系统的各种需求,包括用户的信息需求、处理需求、安全性和完整性的需求等。 (1)信息需求指目标范围内涉及的所有实体、实体的属性以及实体间的联系等数据对象,也就是用户需要从数据库中获得信息的内容与性质。由信息要求可以导出数据要求,即在数据库中需要存储哪些数据。 (2)处理需求指用户为了得到需求的信息而对数据进行加工处理的要求,包括对某种处理功能的响应时间,处理的方式(批处理或联机处理)等。 (3)安全性和完整性的需求。在定义信息需求和处理需求的同时必须相应确定安全性和完整性约束。 在收集各种需求数据后,对前面调查的结果进行初步分析,确定新系统的边界
16、,确定哪些功能由计算机完成或将来准备让计算机完成,哪些活动由人工完成。由计算机完成的功能就是新系统应该实现的功能。,24,3编写需求分析说明书 系统分析阶段的最后是编写系统分析报告,通常称为需求规范说明书。需求规范说明书是对需求分析阶段的一个总结。编写系统分析报告是一个不断反复、逐步深入和逐步完善的过程,系统分析报告应包括如下内容: (1) 系统概况,系统的目标、范围、背景、历史和现状; (2) 系统的原理和技术,对原系统的改善; (3) 系统总体结构与子系统结构说明; (4) 系统功能说明; (5) 数据处理概要、工程体制和设计阶段划分; (6) 系统方案及技术、经济、功能和操作上的可行性。
17、 完成系统的分析报告后,在项目单位的领导下要组织有关技术专家评审系统分析报告,这是对需求分析结构的再审查。审查通过后由项目方和开发方领导签字认可。,25,随系统分析报告提供下列附件: (1) 系统的硬件、软件支持环境的选择及规格要求(所选择的数据库管理系统、操作系统、汉字平台、计算机型号及其网络环境等)。 (2) 组织机构图、组织之间联系图t 各机构功能业务一览图。 (3) 数据流程图、功能模块图和数据字典等图表。 如果用户同意系统分析报告和方案设计,在与用户进行详尽商讨的基础上,最后签订技术协议书。 系统分析报告是设计者和用户一致确认的权威性文献,是今后各阶段设计和工作的依据。,26,6.2
18、.2 需求分析的方法 用户参加数据库设计是数据应用系统设计的特点,是数据库设计理论不可分割的一部分。 在数据需求分析阶段,任何调查研究没有用户的积极参加是寸步难行的,设计人员应和用户取得共同的语言,帮助不熟悉计算机的用户建立数据库环境下的共同概念,所以这个过程中不同背景的人员之间互相了解与沟通是至关重要的,同时方法也很重要。 用于需求分析的方法有多种,主要方法有自顶向下和自底向上两种,如图6.5所示。 其中自顶向下的分析方法(Structured Analysis,简称SA方法)是最简单实用的方法。SA方法从最上层的系统组织机构入手,采用逐层分解的方式分析系统,用数据流图(Data Flow
19、Diagram,DFD)和数据字典(Data Dictionary,DD)描述系统。 下面对数据流图和数据字典作些简单的介绍。,27,1数据流图 使用SA方法,任何一个系统都可抽象为图6.6所示的数据流图。 在数据流图中,用命名的箭头表示数据流,用圆圈表示处理,用矩形或其他形状表示存储。 图6.7是一个简单的数据流图。一个简单的系统可用一张数据流图来表示。当系统比较复杂时,为了便于理解,控制其复杂性,可以采用分层描述的方法。一般用第一层描述系统的全貌,第二层分别描述各子系统的结构。如果系统结构还比较复杂,那么可以继续细化,直到表达清楚为止。在处理功能逐步分解的同时,它们所用的数据也逐级分解,形
20、成若干层次的数据流图。数据流图表达了数据和处理过程的关系。 在SA方法中,处理过程的处理逻辑常常借助判定表或判定树来描述,而系统中的数据则是借助数据字典来描述,28,图6.5 需求分析的方法,29,图6.6 数据流图,30,图6.7 数据流图示例,31,2数据字典 数据字典是对系统中数据的详细描述,是各类数据结构和属性的清单。它与数据流图互为注释。 数据字典贯穿于数据库需求分析直到数据库运行的全过程,在不同的阶段其内容和用途各有区别。 在需求分析阶段,它通常包含以下五部分内容。 (1) 数据项 数据项是数据的最小单位,其具体内容包括:数据顶名、含义说明、别名、类型、长度、取值范围、与其他数据项
21、的关系。 其中,取值范围、与其他数据项的关系这两项内容定义了完整性约束条件,是设计数据检验功能的依据。 (2) 数据结构 数据结构是数据项有意义的集合。内容包括:数据结构名、含义说明,这些内容组成数据项名。,32,(3) 数据流 数据流可以是数据项,也可以是数据结构,它表示某一处理过程中数据在系统内传输的路径。 内容包括:数据流名、说明、流出过程、流入过程,这些内容组成数据项或数据结构。 其中,流出过程说明该数据流由什么过程而来;流入过程说明该数据流到什么过程。 (4) 数据存储 处理过程中数据的存放场所,也是数据流的来源和去向之一。可以是手工凭证,手工文档或计算机文件。 包括数据存储名,说明
22、,输入数据流,输出数据流,组成:数据项或数据结构,数据量,存取频度,存取方式。 其中,存取频度是指每天(或每小时、或每周)存取几次,每次存取多少数据等信息。存取方法指的是批处理,还是联机处理;是检索还是更新;是顺序检索还是随机检索等。,33,(5) 处理过程 处理过程的处理逻辑通常用判定表或判定树来描述,数据字典只用来描述处理过程的说明性信息。 处理过程包括处理过程名,说明,输入:数据流,输出:数据流,处理,简要说明。 其中,简要说明主要说明处理过程的功能及处理要求。 功能是指该处理过程用来做什么(不是怎么做),处理要求指该处理频度要求,如单位时间里处理多少事务、多少数据量、响应时间要求等,这
23、些处理要求是后面物理设计的输入及性能评价的标准。 最终形成的数据流图和数据字典为“需求分析说明书”的主要内容,这是下一步进行概念设计的基础。,34,6.3.1 概念结构设计的必要性 在需求分析阶段,设计人员充分调查并描述了用户的需求,但这些需求只是现实世界的具体要求,应把这些需求抽象为信息世界的结构,才能更好地实现用户的需求。 概念设计就是将需求分析得到的用户需求抽象为信息结构,即概念模型。 在早期的数据库设计中,概念设计并不是一个独立的设计阶段。当时的设计方式是在需求分析之后,接着就进行逻辑设计。这样设计人员在进行逻辑设计时,考虑的因素太多,既要考虑用户的信息,又要考虑具体DBMS的限制,使
24、得设计过程复杂化,难以控制。为了改善这种状况,P.P.S.chen设计了基于E-R模型的数据库设计方法,即在需求分析和逻辑设计之间增加了一个概念设计阶段。在这个阶段,设计人员仅从用户角度看待数据及处理要求和约束,产生一个反映用户观点的概念模型,然后再把概念模型转换成逻辑模型。这样做有三个好处:,6.3 概念结构设计,35,(1) 从逻辑设计中分离出概念设计以后,各阶段的任务相对单一化,设计复杂程度大大降低,便于组织管理。 (2) 概念模型不受特定的DBMS的限制,也独立于存储安排和效率方面的考虑,因而比逻辑模型更为稳定。 (3) 概念模型不含具体的DBMS所附加的技术细节,更容易为用户所理解,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 设计
![提示](https://www.31doc.com/images/bang_tan.gif)
链接地址:https://www.31doc.com/p-3129885.html