数据库原理第四讲_第1页
数据库原理第四讲_第2页
数据库原理第四讲_第3页
数据库原理第四讲_第4页
数据库原理第四讲_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

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

文档简介

1、数据库原理及应用教案计算机科学学院第4章 数据库设计4.1 数据库设计的步骤4.2 需求分析4.3 概念结构设计4.4 逻辑结构设计4.5 数据库的物理设计4.6 数据库的实施和维护 第4章 数据库设计数据库设计是数据库应用领域中的主要研究课题。数据库设计的任务是针对一个给定的应用环境,在给定的(或选择的)硬件环境和操作系统及数据库管理系统等软件环境下,创建一个性能良好的数据库模式、建立数据库及其应用系统、使之能有效地存储和管理数据,满足各类用户的需求。 4.1数据库设计的步骤数据库设计属于系统设计的范畴。通常把使用数据库的系统统称为数据库应用系统,把对数据库应用系统的设计简称为数据库设计。4

2、.1.1 数据库应用系统的生命期按照软件工程对系统生命周期的定义,软件生命周期分为 6个阶段工作:制定计划、需求分析、设计、程序编制、测试以及运行维护。数据库应用系统的生命周期分为数据库规划、需求描述与分析、数据库与应用程序设计、实现、测试、运行维护6个阶段。(1)数据库规划是创建数据库应用系统的起点,是数据库应用系统的任务陈述和任务目标。任务陈述定义了数据库应用系统的主要目标,而每个任务目标则定义了系统必须支持的特定任务。数据库规划过程还必然包括对工作量的估计、使用的资源和需要的经费等。同时还应当定义系统的范围和边界,以及它与公司信息系统的其他部分得接口。4.1.1 数据库应用系统的生命期4

3、.1.1 数据库应用系统的生命期(2)需求描述与分析是以用户的角度,从系统中的数据和业务规则入手,收集和整理用户的信息,再以特定的方式加以描述,是下一步工作的基础。(3)数据库与应用程序设计数据库的设计是对用户数据的组织和存储设计,应用程序设计是在数据库设计基础上对数据操作及业务实现的设计,包括事务设计和用户界面设计。4.1.1 数据库应用系统的生命期(4)数据库系统实现是依照设计,使用 DBMS 支持的数据定义语言(DDL)实现数据库的建立 ,用高级语言编写应用程序。(5)测试阶段是在数据库系统投入使用之前,通过精心制定的测试计划和测试数据来测试系统的性能是否满足设计要求,发现问题。(6)运

4、行维护数据库应用系统经过测试、试运行后即可正式投入运行。运行维护是系统投入使用后,必须不断对其进行评价、调整和修改,直至系统消亡。4.1.2数据库设计的一般策略数据库设计的一般策略有两种:自顶向下(Top Down)和自底向上(Bottom Up)。自顶向下是从一般到特殊的开发策略。即从一个企业的高层管理着手,分析企业的目标、对象和策略,构造抽象的高层数据模型。然后逐步构造越来越详细的描述和模型,直到能识别特定的数据库及其应用为止。 自底向上的开发采用与抽象相反的顺序进行。它从各种基本业务和数据处理着手,即从一个企业的各个基层业务子系统的业务处理开始,进行分析和设计。然后将各子系统进行综合和集

5、中,最后得到整个信息系统的分析和设计。 4.1.3数据库设计的步骤数据库设计分为如下四个主要阶段: (1) 用户需求分析。数据库设计人员采用一定的辅助工具对应用对象的功能、性能、 限制等要求所进行的科学分析。(2) 概念设计。概念结构设计是对信息分析和定义,如视图模型化、视图分析和汇总。对应用对象精确地抽象、概括而形成的独立于计算机系统的企业信息模型。描述概念模型的较理想的工具是ER图。 (3) 逻辑设计。将抽象的概念模型转化为与选用的DBMS产品所支持的数据模型相符合的逻辑模型,它是物理设计的基础。包括模式初始设计、子模式设计、应用程序设计、模式评价以及模式求精。(4) 物理设计。逻辑模型在

6、计算机中的具体实现方案。 4.1.3数据库设计的步骤 4.1.3数据库设计的步骤数据库设计一般应包括数据库的结构设计和行为设计两部分内容。所谓数据库的结构设计,是指系统整体逻辑模式与子模式的设计,是对数据的分析设计;数据库的行为设计,是指施加在数据库上的动态操作(应用程序集)的设计,是对应用系统功能的分析设计。 4.2 需求分析系统需求分析是在项目确定之后,用户和设计人员对数据库应用系统所要涉及的内容(数据)和功能(行为)的整理和描述,是以用户的角度来认识系统。这一过程是后续开发的基础,以后的逻辑设计和物理设计及应用程序的设计都会以此为依据,因此需求分析是数据库设计最烦琐和最困难的一步 。4.

7、2.1 需求分析的任务和目标需求分析阶段的任务:对现实世界要处理的对象(组织、部门、企业等)进行详细调查,在了解现行系统的概况,确定新系统功能的过程中,收集支持系统目标的基础数据及处理方法。 在需求分析过程中,首先应当确定系统范围;其次,企业或部门目前可能已经有现存的系统在运行,但不能满足用户的要求,在新的系统中,应继承现有系统中的数据,也可能现存系统会作为新系统中的一部分继续运行;再次,用户的应用需求,随着企业的发展,对一些可预见的需求应当考虑,使新系统有一定的灵活性和可扩充性,适应将来的部分要求。4.2.1 需求分析的任务和目标4.2.1 需求分析的任务和目标需求分析阶段以调查和分析为主要

8、得手段,获得用户对系统的如下要求:(1)信息要求。 (2)处理要求。(3)系统要求。需求分析阶段的工作以及形成的相关文档如图4-1所示 。4.2.1 需求分析的任务和目标图4-1 需求分析阶段的工作4.2.2需求分析的方法和步骤1需求分析阶段的主要任务有: (1) 确认系统的设计范围,调查信息需求、 收集数据。分析需求调查得到的资料,明确计算机应当处理和能够处理的范围,确定新系统应具备的功能。 (2) 综合各种信息所包含的数据,各种数据之间的关系,数据的类型、取值范围、流向。(3) 建立需求说明文档、数据字典、数据流程图。在数据库设计中,数据需求分析是对有关信息系统现有数据及数据间联系的收集和

9、处理,当然也要适当考虑系统在将来的可能需求。 4.2.2需求分析的方法和步骤需求分析包括数据流的分析及功能分析。功能分析是指系统如何得到事务活动所需要的数据,在事务处理中如何使用这些数据进行处理(也叫加工),以及处理后数据流向的全过程的分析。换言之,功能分析是对所建数据模型支持的系统事务处理的分析。 数据流分析是对事务处理所需的原始数据的收集及经处理后所得数据及其流向,一般用数据流程图(DFD)来表示。DFD 不仅指出了数据的流向,而且还指出了需要进行的事务处理(但并不涉及如何处理,这是应用程序的设计范畴)。需求分析2数据流图(1)DFD的基本成分(a)外部实体(external agent)

10、(b)加工(process)(c)数据存储(data store)(d)数据流(data flow)图4.2 DFD的基本成分或或1)数据流。数据流有一组固定成分的数据组成,表示数据的流向。值得注意的是DFD中描述的是数据流,而不是控制流。除了流向数据存储或从数据存储流出的数据流不必命名外,每个数据流都必须有一个合适的名字,以反映该数据流的含义。(1)DFD的基本成分2)加工。加工描述了输入数据流到输出数据流之间的变换,也就是输入数据流经过什么处理后变成了输出数据流。每个加工有一个名字和编号。编号能反映出该加工位于分层DFD中的哪个层次和哪张图中,也能够看出它是哪个加工分解出来的子加工。 (1

11、)DFD的基本成分3)数据存储。数据存储用来表示暂时存储的数据,每个数据存储都有一个名字。4)外部实体。外部实体是指存在于软件系统之外的人员或组织。它指出系统所需数据的发源地和系统所产生的数据的归宿地。(1)DFD的基本成分1)父图与子图。假设分层数据流图里的某张图(记为图A)中的某个加工可用另一张图(记为图B)来分解,则称图A是图B的父图,图B是图A的子图。在一张图中,有些加工需要进一步分解,有些则不必分解。因此,如果父图中有n个加工,哪它可以有0n张子图(这些子图位于同一层),但每张子图都只对应于一张父图。(2)对图和加工进行编号的原则(2)对图和加工进行编号的原则2)编号原则。顶层图只有

12、一张,图中的加工也只有一个,则不必编号。0层图只有一张,图中的加工号可以分别是0.1,0.2,或者是1,2 。 子图号就是父图中被分解的加工号。子图中的加工号由图号、圆点和序号组成 。 例如,某图中的某加工号为2.4,这个加工分解出来的子图号就是2.4,子图中的加工号分别为2.4.1,2.4.2,实例3)实例。某考务处理系统有如下功能:对考生送来的报名单进行检查;对合格的报名单进行检查;对阅卷站送来的成绩清单进行检查,并根据考试中心指定的合格标准审定合格者;制作考生通知单(内含成绩不合格不合格标志)送给考生;按地区、年龄、文化程度、职业、考试级别等进行成绩分类统计和试题难度分析,产生统计分析表

13、。该考务处理系统的分层数据流图。其中,顶层图如图4-3所示。 考务处理系统考生阅卷站考试中心考生名单成绩清单成绩清单错误统计分析表合格标准考生通知单准考证报名单不合格报名单图43顶层图 0层图的加工主要有进行报名登记,对考生成绩统计,如图4-4所示。1登记报名单2统计成绩考生名单准考证不合格报名单报名单考生名册考生通知单统计分析表合格标准成绩清单错误成绩清单图44 0层图 子图是父图中被分解出来的,本例中有两个,如图4-5(a)和(b)所示。1.1检查报名单1.3登记考生1.2编准考证号考生名册报名单合格报名单准考证考生名单不合格报名单正式报名单图4-5 考务处理系统分层数据流图(a)2.1登

14、记报名单考生名册成绩清单2.2登记报名单2.3登记报名单2.4登记报名单2.5登记报名单试题得分清单正确成绩清单合格标准考生通知单错误成绩清单难度分析表分类统计表(b)图4-5 考务处理系统分层数据流图3. 数据字典数据字典是对用户信息要求的整理和描述。包括数据项数据结构数据流数据存储处理过程(1)数据项:数据项是数据的最小单位,对数据项的描述一般包括项名 、含义说明 、别名、类型 、长度 、取值范围及该项与其它项的逻辑关系。常以表格的形式给出。(2)数据结构:数据结构是若干数据项的有意义的集合 ,通常代表某一具体的事物 。包括数据结构名、含义、组成成份等。3. 数据字典3. 数据字典(3)数

15、据流:数据流可以是数据项,也可以是数据结构 ,表示一次处理的输入 输出数据。包括数据流名 ,说明 ,数据来源,数据去向,及需要的数据项或数据结构。(4)数据存储:加工需要存储得数据。包括数据存储名 、说明 、输入数据流、输出数据流、组成成份 、数据量 、存取方式、存取频度等。3. 数据字典(5)处理过程:加工处理过程定义和说明。包括处理名称 、输入数据 、输出数据、数据存储、响应时间等。如检查报名单处理。 4.3 概念结构设计数据库概念结构设计阶段是在需求分析的基础上,依照需求分析中的信息要求,对用户信息加以分类、聚集和概括,建立信息模型,并以照选定的数据库管理系统软件,转换成为数据的逻辑结构

16、,再依照软硬件环境,最终实现数据的合理存储。这一过程也称为数据建模。 概念结构设计的目标是产生反映系统信息需求的数据库概念结构,即概念模式。概念结构是独立与支持数据库的DBMS和使用的硬件环境的。此时,设计人员从用户的角度看待数据,以及数据处理的要求和约束,产生一个反映用户观点的概念模式,然后再把概念模式转换为逻辑模式。各级模式之间的关系如图4-6所示。 4.3 概念结构设计图4-6 各级模式之间的关系4.3.1 概念结构设计策略与方法概念结构设计的策略通常有以下四种:(1)自顶向下。即首先定义全局概念结构的框架,然后逐步细化。(2)自底向上。即首先定义各局部应用的概念结构,然后将它们集成起来

17、,得到全局概念结构。 (3)逐步扩张。即首先确定核心业务的概念结构 ,然后以此为中向外扩张,最终实现全局概念结构。(4)混合策略。即将自顶向下和自底向下两种策略结合使用,首先确定全局的框架,划分为若干个局部概念模型,再采取自底向上的策略实现各局部的概念模型,加以合并实现全局概念模型。4.3.1 概念结构设计策略与方法4.3.1 概念结构设计策略与方法概念结构设计最著名最常用的方法是P.P.S Chen 于1976年提出的实体-联系方法(Entity-Relationship Approach),简称E-R方法。它采用E-R模型将现实世界的信息结构统一由实体、 属性以及实体之间的联系来描述,对现

18、实事物加以抽象认识,以E-R图的形式描述出来。对现实事物抽象认识的方法分别是分类、 聚集和概括。(1)分类(Classification)。对现实世界的事物按照其具有的共同特征和行为,定义一种类型。在某一类型中,个体是类型的一个成员或实例,即 “ is member of ”。(2)聚集(Aggregation) 。定义某一类型所具有的属性。各个属性是所属类型的一个成分,即“is part of” 。 (3)概括(Generalization) 。由一种已知类型定义新的类型。通常把已知类型称为超类(Superclass),新定义的类型称为子类(Subclass) 。子类是超类的一个子集,“is

19、 subset of” 。 4.3.1 概念结构设计策略与方法4.3.2 用E-R方法建立概念模型E-R图的设计要依照4.3.1节所述的抽象机制,对需求分析阶段所得到的数据进行分类、聚集和概括,确定实体、属性和联系。概念结构设计的工作步骤如图4-7所示。概念结构设计的主要步骤如下:(1)选择局部应用。(2)逐一设计分E-R图。(3)E-R图合并。4.3.2 用E-R方法建立概念模型 逻 辑 结 构 设 计 阶 段抽象数据 概念结构设计阶段设计局部视图合并取消冲突修改重构消除冗余基本E-R图需求分析阶段功能模块图数据流程图数据字典局部E-R图初步E-R图图4-7 概念结构设计工作步骤4.3.2

20、用E-R方法建立概念模型分E-R图之间的冲突主要有3类:(1)属性冲突(2)命名冲突(3)结构冲突分E-R图的合并过程的优化从以下几个方面实现:(1)实体类型的合并(2)冗余属性的消除(3) 冗余联系的消除 4.4逻辑结构设计逻辑结构设计阶段的工作步骤如图4-8所示。 逻辑结构设计阶段的主要步骤描述如下:(1)确定数据模型(2)将E-R图转换成为指定的数据模型(3)确定完整性约束(4)确定用户视图 物 理 设 计 阶 段转化为数据模型逻辑结构设计阶段关系规范化模式优化设计用户子模式逻辑模型 概 念 设 计 阶 段基本E-R图图4-8 逻辑结构设计阶段工作步骤4.4.1 E-R图向关系模式的转换

21、将 E-R 图转换成关系模式。 通常采用以下方法:1)实体向关系模式的转换将 E-R图中的实体逐一转换成为一个关系模式,实体名对应关系模式的名称,实体的属性转换成关系模式的属性,实体标识符就是关系的码。4.4.1 E-R图向关系模式的转换2)联系向关系模式的转换E-R图中的联系有三种:一对一联系(1:1)一对多联系(1:n)多对多联系(m:n)针对这三种不同的联系,有不同的转换方法: 4.4.1 E-R图向关系模式的转换 (1)一对一联系。有两种方式向关系模式进行转换。一是将联系转换成一个独立的关系模式,关系模式的名称取联系的名称,关系模式的属性包括该联系所关联的两个实体的码及联系的属性,关系

22、的码取自任一方实体的码;另一方式是将联系归并到关联的两个实体的任一方,给待归并的一方实体属性集中增加另一方实体的码和该联系的属性即可,归并后的实体码保持不变。 4.4.1 E-R图向关系模式的转换(2)一对多联系。有两种方式向关系模式进行转换。一是将联系转换成一个独立的关系模式,关系模式的名称取联系的名称,关系模式的属性取该联系所关联的两个实体的码及联系的属性,关系的码是多方实体的码;另一方式是将联系归并到关联的两个实体的多方,给待归并的多方实体属性集中增加一方实体的码和该联系的属性即可,归并后的多方实体码保持不变。4.4.1 E-R图向关系模式的转换(3)多对多联系。只能转换成一个独立的关系

23、模式,关系模式的名称取联系的名称,关系模式的属性取该联系所关联的两个多方实体的码及联系的属性,关系的码是多方实体的码构成的属性组。 4.4.2 关系模式的规范化由E - R图转换得来的初始关系模型不能完全符合要求,还会有数据冗余、更新异常存在,需经过进一步的规范化处理,具体步骤如下:(1)根据语义确定各关系模式的数据依赖。(2)根数据依赖确定关系模式的范式。(3)如果关系模式不符合要求,要根据关系模式的分解算法对其进行分解,达到3NF、BCNF或4NF。(4)关系模式的评价及修正。 4.4.3 确定完整性约束根据规范化理论确定了关系模式之后,还要对关系模式加以约束,包括数据项的约束表级约束表间

24、约束 4.4. 用户视图的确定确定了整个系统的关系模式之后,还要根据数据流图及用户信息建立视图模式,提高数据的安全性和独立性。(1)根据数据流图确定处理过程使用的视图。建立视图可以降低应用程序的复杂性,并提高数据的独立性。(2)根据用户类别确定不同用户使用的视图。不同的用户可以处理的数据可能只是整个系统的部分数据,可以在一定程度上提高数据的安全性。 4.5数据库的物理设计数据库的物理设计工作过程如图4-9所示。 4.5数据库的物理设计数据库实施阶段确定数据库的物理模式数据库物理结构设计阶段评价数据库的物理模式物理模型1)存储记录格式2)记录存放位置3)存取方法 逻 辑 设 计 阶 段逻辑模型1

25、)模式2)子模式图4-9数据库的物理设计工作过程4.5数据库的物理设计物理设计应包含确定数据分布、确定存储结构和确定存取方式。(1)确定数据分布如果是分布式管理,数据如何分布,有以下几个方面考虑:根据不同应用分布数据。根据处理要求确定数据的分布。对数据的分布存储必然会导致数据的逻辑结构的变化,要对关系模式作新的调整,回到数据库逻辑设计阶段作必要的修改。4.5数据库的物理设计(2)确定存储结构存储结构具体指数据文件中记录之间的物理结构。在文件中,数据是以记录为单位存储的,可以是顺序存储、哈希存储、堆存储和 B+ 树存储等 ,要根据数据的处理要求和变更频度,选定合理的物理结构。 为提高数据的访问速度,通常会采用索引技术。在物理设计阶段,要根据数据处理和修改要求,确定数据库文件的索引字段和索引类型。4.5数据库的物理设

温馨提示

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

评论

0/150

提交评论