第四章 数据库设计_第1页
第四章 数据库设计_第2页
第四章 数据库设计_第3页
第四章 数据库设计_第4页
第四章 数据库设计_第5页
已阅读5页,还剩134页未读 继续免费阅读

下载本文档

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

文档简介

1、4.1 数据库设计概述数据库设计概述4.2 需求分析需求分析4.3 概念结构设计概念结构设计4.4 逻辑结构设计逻辑结构设计4.5 数据库的物理设计数据库的物理设计4.6 数据库的实施数据库的实施4.7 数据库的运行和维护数据库的运行和维护 4.1.1 数据库设计的特点数据库设计的特点4.1.2 数据库设计方法数据库设计方法4.1.3 数据库设计的基本步骤数据库设计的基本步骤4.1.4 数据库设计过程中的各级模式数据库设计过程中的各级模式 数据库数据库设计的定义设计的定义数据库设计是指对于一个给定的应用环境数据库设计是指对于一个给定的应用环境,设计优化,设计优化的数据的数据库逻辑模式和物理结构

2、,并据此建立数据库及其应用系统,库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。包括信息管理要求和数据操作要求。目标:为用户和各种应用系统提供一个高效率的运行环境目标:为用户和各种应用系统提供一个高效率的运行环境数据库的存取效率数据库的存取效率存储空间的利用率存储空间的利用率数据库建设是硬件、软件和干件的结合。干件是技术和数据库建设是硬件、软件和干件的结合。干件是技术和管理的界面。管理的界面。三分技术,七分管理,十二分基础数据三分技术,七分管理,十二分

3、基础数据 数据库设计应该与应用系统的设计相数据库设计应该与应用系统的设计相结合结合结构结构(数据数据)设计:设计数据库结构设计:设计数据库结构行为行为(处理处理)设计:设计应用系统设计:设计应用系统4.1.1 数据库设计的特点数据库设计的特点4.1.2 数据库设计方法数据库设计方法4.1.3 数据库设计的基本步骤数据库设计的基本步骤4.1.4 数据库设计过程中的各级模式数据库设计过程中的各级模式 早期数据库设计:手工早期数据库设计:手工与经验相结合方法与经验相结合方法 设计质量与设计人员的经验和水平有直接关系设计质量与设计人员的经验和水平有直接关系数据库运行一段时间后常常不同程度地发现各种问题

4、,增数据库运行一段时间后常常不同程度地发现各种问题,增加了维护代价加了维护代价规范设计法规范设计法基本思想:过程迭代和逐步求精基本思想:过程迭代和逐步求精新奥尔良(新奥尔良(New Orleans)方法)方法将数据库设计将数据库设计分为分为四个四个阶段:阶段:需求分析(分析用户需求)需求分析(分析用户需求)概念设计(信息分析和定义)概念设计(信息分析和定义)逻辑设计(设计实现)逻辑设计(设计实现)物理设计物理设计( ((物理结构设计)(物理结构设计)基于基于E-R模型的数据库设计方法模型的数据库设计方法用用E-RE-R模型来设计数据库的概念模型,是数据库概念设计阶段广泛采用模型来设计数据库的概

5、念模型,是数据库概念设计阶段广泛采用3NF(第三范式)的设计方法(第三范式)的设计方法用关系数据库理论为指导来设计数据库的逻辑模型,是设计关系数据库时在逻辑阶段用关系数据库理论为指导来设计数据库的逻辑模型,是设计关系数据库时在逻辑阶段可采用的有效方法可采用的有效方法 ODL(Object Definition Language)方法)方法面向对象的数据库设计方法面向对象的数据库设计方法计算机辅助设计计算机辅助设计RATIONAL Rational RoseCA Erwin SYBASE PowerDesignerORACLE Oracle Designer4.1.1 数据库设计的特点数据库设计

6、的特点4.1.2 数据库设计方法数据库设计方法4.1.3 数据库设计的基本步骤数据库设计的基本步骤4.1.4 数据库设计过程中的各级数据库设计过程中的各级模式模式数据库设计分数据库设计分6个阶段个阶段需求分析需求分析准确了解与分析用户需求:数据与处理准确了解与分析用户需求:数据与处理需求分析阶段是整个设计过程的基础,是最困难,最耗费时间的一步需求分析阶段是整个设计过程的基础,是最困难,最耗费时间的一步概念结构概念结构设计设计整个数据库设计的关键整个数据库设计的关键通过对用户需求进行综合、归纳与抽象,形成一个独立于具体通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMSDBMS的概念模

7、型的概念模型逻辑逻辑结构设计结构设计将将概念概念模型转换为某个具体的模型转换为某个具体的DBMSDBMS所支持的数据模型所支持的数据模型物理物理结构设计结构设计为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)数据库实施数据库实施数据库运行和维护数据库运行和维护 数据库设计分数据库设计分6个阶段个阶段需求分析需求分析概念结构设计概念结构设计逻辑结构设计逻辑结构设计物理结构设计物理结构设计数据库实施数据库实施根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,根据逻辑设计和物理设计的结果建立数据

8、库,编制与调试应用程序,组织数据入库,并进行试运行组织数据入库,并进行试运行数据库运行和维护数据库运行和维护 投入正式运行投入正式运行数据库系统运行过程中,不断对其结构性能进行评价、调整和修改数据库系统运行过程中,不断对其结构性能进行评价、调整和修改数据库设计的特点:数据库设计的特点:上述设计步骤即是一个数据库设计的过程,同时也包含了数据上述设计步骤即是一个数据库设计的过程,同时也包含了数据库应用系统的设计过程。库应用系统的设计过程。需求分析需求分析和概念设计独立于任何数据库管理系统和概念设计独立于任何数据库管理系统 逻辑设计和物理设计与选用的逻辑设计和物理设计与选用的DBMS密切相关密切相关

9、4.1.1 数据库设计的特点数据库设计的特点4.1.2 数据库设计方法数据库设计方法4.1.3 数据库设计的基本步骤数据库设计的基本步骤4.1.4 数据库设计过程中的各级模数据库设计过程中的各级模式式在需求分析阶段综合不同用户的应用需求在需求分析阶段综合不同用户的应用需求在概念设计阶段形成独立于机器特点,独立于各个在概念设计阶段形成独立于机器特点,独立于各个DBMS产品的的概念模型产品的的概念模型(E-R图图)在逻辑设计阶段将在逻辑设计阶段将E-R图转换成具体的数据库产品支持图转换成具体的数据库产品支持的逻辑数据模型,如关系模型。根据需要和安全性考虑的逻辑数据模型,如关系模型。根据需要和安全性

10、考虑创建视图,形成外模式。创建视图,形成外模式。在物理设计阶段根据在物理设计阶段根据DBMS的特点和处理需要,建立存的特点和处理需要,建立存储安排、索引等,形成内模式。储安排、索引等,形成内模式。数据库设计不同阶段形成的数据库各级模式数据库设计不同阶段形成的数据库各级模式数据库的各级模式 4.1 数据库设计概述数据库设计概述4.2 需求分析需求分析4.3 概念结构设计概念结构设计4.4 逻辑结构设计逻辑结构设计4.5 数据库的物理设计数据库的物理设计4.6 数据库的实施数据库的实施4.7 数据库的运行和维护数据库的运行和维护 4.2.1 需求分析的任务需求分析的任务4.2.2 需求分析的方法需

11、求分析的方法4.2.3 数据字典数据字典详细调查现实世界要处理的对象(组织、部门、详细调查现实世界要处理的对象(组织、部门、企业等)企业等)充分了解原系统(手工系统或计算机系统)的工作状况充分了解原系统(手工系统或计算机系统)的工作状况明确用户的信息要求、处理要求和安全性与完整性要求明确用户的信息要求、处理要求和安全性与完整性要求确定新系统的确定新系统的功能功能4.2.1 需求分析的任务需求分析的任务4.2.2 需求分析的方法需求分析的方法4.2.3 数据字典数据字典 调查组织机构总体情况调查组织机构总体情况 调查各部门的业务活动调查各部门的业务活动情况情况 在熟悉业务活动的基础上,协助用户明

12、确对新系统的在熟悉业务活动的基础上,协助用户明确对新系统的各种要求。各种要求。 确定新系统的边界确定新系统的边界(1)跟班作业跟班作业(2)开调查会开调查会(3)请专人介绍请专人介绍(4)询问询问(5)设计调查表请用户填写设计调查表请用户填写(6)查阅记录查阅记录结构化分析方法(结构化分析方法(Structured Analysis,简称,简称SA方法方法)来进一步分析和表达用户的需求)来进一步分析和表达用户的需求从从最上层的系统组织机构最上层的系统组织机构入手入手自顶向下自顶向下、逐层分解分析、逐层分解分析系统系统每每一层分析结果通过数据流图和数据字典来表示一层分析结果通过数据流图和数据字典

13、来表示4.2.1 需求分析的任务需求分析的任务4.2.2 需求分析的方法需求分析的方法4.2.3 数据字典数据字典 数据字典数据字典的定义的定义是各类数据描述的集合,它是关于数据库中数据的描述是各类数据描述的集合,它是关于数据库中数据的描述,而,而不是数据本不是数据本身,它是进行详细的数据收集和数据分析所获得的主要结果身,它是进行详细的数据收集和数据分析所获得的主要结果 数据字典的内容数据字典的内容数据项数据项数据结构数据结构数据流数据流数据存储数据存储处理处理过程过程(至少应该包含每个属性的数据类型和每个表的主外码)(至少应该包含每个属性的数据类型和每个表的主外码) 数据项是不可再分的数据单

14、位数据项是不可再分的数据单位 对数据项的描述对数据项的描述 数据项描述数据项描述 数据项名,数据项含义说明,别名,数据项名,数据项含义说明,别名, 数据类型,长度,取值范围,取值数据类型,长度,取值范围,取值含义,与其他数据项的逻辑含义,与其他数据项的逻辑关系关系数据结构反映了数据结构反映了数据项之间数据项之间的组合关系。的组合关系。 一个数据结构可以由若干个数据项组成,也可以由若干个一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。数据结构组成,或由若干个数据项和数据结构混合组成。 对数据结构的描述对数据结构的描述 数据结构描述数据结构名,含

15、义说明,数据结构描述数据结构名,含义说明, 组成组成:数据项或数据结构数据项或数据结构 数据流是数据结构在系统内传输的路径。数据流是数据结构在系统内传输的路径。 对数据流的描述对数据流的描述 数据流描述数据流描述 数据流名,说明,数据流来源,数据流名,说明,数据流来源, 数据流去向,组成数据流去向,组成:数据结构,数据结构, 平均流量,高峰期流量平均流量,高峰期流量数据存储是数据结构停留或保存的地方,也是数据流的来数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一源和去向之一。对数据存储的描述对数据存储的描述 数据存储描述数据存储名,说明,编号,数据存储描述数据存储名,说明,编号,

16、输入的数据流输入的数据流 ,输出的数据流,输出的数据流 ,组成组成:数据结构,数据量,数据结构,数据量,存取频度,存取频度,存取存取方式方式具体处理逻辑一般用判定表或判定树来描述具体处理逻辑一般用判定表或判定树来描述处理过程说明性信息的描述处理过程说明性信息的描述处理过程描述处理过程名,说明,输入处理过程描述处理过程名,说明,输入:数据流,数据流, 输出输出:数据流,处理数据流,处理:简要说明简要说明4.1 数据库设计概述数据库设计概述4.2 需求分析需求分析4.3 概念结构设计概念结构设计4.4 逻辑结构设计逻辑结构设计4.5 数据库的物理设计数据库的物理设计4.6 数据库的实施数据库的实施

17、4.7 数据库的运行和维护数据库的运行和维护 4.3.1 概念结构概念结构4.3.2 概念结构设计的方法与步骤概念结构设计的方法与步骤4.3.3 数据抽象与局部视图设计数据抽象与局部视图设计4.3.4 视图的集成视图的集成什么是概念结构什么是概念结构设计设计是是在需求分析阶段产生的数据流图和数据字典的基础上,在需求分析阶段产生的数据流图和数据字典的基础上,对基础数据进行综合抽象,从而形成反映企业组织信息需对基础数据进行综合抽象,从而形成反映企业组织信息需求的概念数据模型。这个模型应当易于用户理解,并且独求的概念数据模型。这个模型应当易于用户理解,并且独立于具体的数据库管理系统(立于具体的数据库

18、管理系统(DBMS)。)。现实世界现实世界机器世界机器世界信息世界信息世界需求分析需求分析概念结构设计概念结构设计概念模型的概念模型的特点特点 (1) 能真实、充分地反映现实世界能真实、充分地反映现实世界(2) 能表达用户的各种能表达用户的各种需求,独立于机器,易于理解需求,独立于机器,易于理解 (3) 易于更改易于更改 (4) 易于向关系、网状、层次等各种数据模型转换易于向关系、网状、层次等各种数据模型转换描述概念模型的工具描述概念模型的工具E-R模型模型E-R模型的基本元素:实体、联系和属性。模型的基本元素:实体、联系和属性。37实体联系(实体联系(E-R)模型:)模型:现实世界由一组称为

19、实体的基本对象以及这些对象间现实世界由一组称为实体的基本对象以及这些对象间的联系构成的联系构成(1) 实体实体(Entity) 客观存在并可相互区别的事物称为实体客观存在并可相互区别的事物称为实体可以可以是物理存在的对象、是物理存在的对象、物或抽象的物或抽象的概念概念(2) 属性属性(Attribute) 实体所具有的某一特性称为属性实体所具有的某一特性称为属性一个实体可以由若干个属性来刻画一个实体可以由若干个属性来刻画 2021-12-938实体联系(实体联系(E-R)模型:)模型:(3) 实体集实体集 (Entity Type)具有相同属性的实体的集合称为一个实体集具有相同属性的实体的集合

20、称为一个实体集(4) 实体型实体型 (Entity Set)实体集中的实体所具有的共同的属性构成了实体类型实体集中的实体所具有的共同的属性构成了实体类型 (5)码码(Key) 唯一标识实体的属性集称为码唯一标识实体的属性集称为码(6)域域(Domain) 属性的取值范围称为该属性的属性的取值范围称为该属性的域域39实体联系(实体联系(E-R)模型:)模型:(7) 联系联系(Relationship) 多个实体之间的相互关联(实体集内部多个实体之间的相互关联(实体集内部的联系和的联系和实体集实体集之间之间的的联系)联系) 40实体集实体集A联系名联系名实体集实体集B111:1联系联系实体集实体集

21、A联系名联系名1n1:n联系联系实体集实体集A实体集实体集B联系名联系名mnm:n联系联系实体集实体集B用图形来表示两个实体型之间的这三类联系用图形来表示两个实体型之间的这三类联系 41n一对一联系(一对一联系(1:1) q定义:定义:如果对于实体集如果对于实体集A中的每一个实中的每一个实体,实体集体,实体集B中至多有一个(也可以没中至多有一个(也可以没有)实体与之联系,反之亦然,则称有)实体与之联系,反之亦然,则称实体集实体集A与实体集与实体集B具有一对一联系,具有一对一联系,记为记为1:1q实例实例: 一个班级只有一个正班长一个班级只有一个正班长 一个正班长只在一个班中一个正班长只在一个班

22、中任职任职班级班级班级班级-班长班长正班长正班长111:1联系联系42实体实体A实体实体B例如例如:正院长:正院长与学院关系与学院关系、医院、医院科室科室与与科室主任关系科室主任关系43一对多联系(一对多联系(1:n)定义:定义:如果对于实体集如果对于实体集A中的每一个实体,中的每一个实体,实体集实体集B中有中有n个实体(个实体(n0)与之联系,)与之联系,反之,对于实体集反之,对于实体集B中的每一个实体,实体中的每一个实体,实体集集A中至多只有一个实体与之联系,则称中至多只有一个实体与之联系,则称实体集实体集A与实体集与实体集B有一对多联系,记为有一对多联系,记为1:n实例实例一个班级中有若

23、干名学生,一个班级中有若干名学生,每个学生只在一个班级中每个学生只在一个班级中学习学习班级班级组成组成学生学生1n1:n联系联系44实体实体A实体实体B例如:每个班级有若干个学生、例如:每个班级有若干个学生、每个每个科室科室有有若干名医若干名医生生45多对多联系(多对多联系(m:n)定义:定义:如果对于实体集如果对于实体集A中的每一个实体,中的每一个实体,实体集实体集B中有中有n个实体(个实体(n0)与之联系,)与之联系,反之,对于实体集反之,对于实体集B中的每一个实体,实体中的每一个实体,实体集集A中也有中也有m个实体(个实体(m0)与之联系,则)与之联系,则称实体集称实体集A与实体与实体B

24、具有多对多联系,记为具有多对多联系,记为m:n实例实例: 课程与学生之间的联系课程与学生之间的联系一门课程同时有若干个学生选修一门课程同时有若干个学生选修一个学生可以同时选修多门一个学生可以同时选修多门课程课程课程课程选修选修学生学生mnm:n联系联系46实体实体A实体实体B例如:教师与上课班级的关系、病人与医生的关系例如:教师与上课班级的关系、病人与医生的关系47两个以上两个以上实体集之间实体集之间一对多联系一对多联系若实体集若实体集E1,E2,.,En存在联系,存在联系,如果实体集如果实体集Ej与与其他实体集其他实体集E1,E2,.,Ej-1, Ej+1, . En之间之间存在一对多联系,

25、即存在一对多联系,即Ej中的一个给定实体,可以和其他中的一个给定实体,可以和其他实体集实体集Ei(i不等与不等与j)中的一个或多个实体联系,而实体)中的一个或多个实体联系,而实体集集Ei中的一个实体最多只能与中的一个实体最多只能与Ej中的一个实体联系,则称中的一个实体联系,则称Ej与与E1,E2,.,Ej-1,Ej+1,.,En之间的联系是之间的联系是一对多的一对多的48实例实例 课程、教师与参考书三个课程、教师与参考书三个实体集实体集:一门课程可以有若干个教师讲授,一门课程可以有若干个教师讲授,每一个教师只讲授一门课程,每一个教师只讲授一门课程,一门课可以使用一门课可以使用若干本参考书,若干

26、本参考书,每每一本参考书只供一门课程使用一本参考书只供一门课程使用课程课程讲授讲授教师教师1m两个以上两个以上实体集间实体集间1:n联系联系参考书参考书n49两个以上实体型间的两个以上实体型间的一对一一对一联系联系(班级、班主任、正班长(班级、班主任、正班长)两两个以上实体型间的个以上实体型间的多对多多对多联系联系 供应商、项目、零件三个供应商、项目、零件三个实体集实体集一个供应商可以供给多个项目零件,每个项一个供应商可以供给多个项目零件,每个项目可使用多个供应商供应的零件;目可使用多个供应商供应的零件;每种零件可由不同供应商供给,每个供应商每种零件可由不同供应商供给,每个供应商可以供应多种零

27、件可以供应多种零件供应商供应商供应供应项目项目mp两个以上两个以上实体集间实体集间m:n联系联系零件零件n50一对多一对多联系联系实例实例职工职工实体集内部实体集内部具有领导与被领导的联系具有领导与被领导的联系某一职工(干部)某一职工(干部)“领导领导”若干名职工若干名职工一个职工仅被另外一个职工直接领导一个职工仅被另外一个职工直接领导这是一对多的联系这是一对多的联系一对一一对一联系联系职工职工领导领导1n单个单个实体集内部实体集内部1:n联系联系51v多对多联系多对多联系实体集实体集1联系名联系名mn单个单个实体集内实体集内的的m:n联系联系52实体联系方法实体联系方法(E-R方法方法)用用

28、E-R图来描述现实世界的概念模型图来描述现实世界的概念模型E-R方法也称为方法也称为E-R模型模型53实体集:实体集:用用矩形矩形表示,矩形框内写明实体名表示,矩形框内写明实体名属性:属性:用用椭圆形椭圆形表示,并用无向边将其与相应表示,并用无向边将其与相应的实体连接起来的实体连接起来学生学生教师教师学生学生学号学号年龄年龄性别性别姓名姓名54联系联系联系本身联系本身:用用菱形菱形表示,菱形框内写明联表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(同时在无向边旁标上联系的类型(1:1、1:n或或m:n)55联系的

29、表示方法联系的表示方法实体集实体集A联系名联系名实体集实体集B111:1联系联系实体集实体集A联系名联系名1n1:n联系联系实体集实体集A实体集实体集B联系名联系名mnm:n联系联系实体集实体集B56联系的表示方法示例联系的表示方法示例班级班级班级班级-班长班长班长班长111:1联系联系课程课程选修选修学生学生mnm:n联系联系班级班级组成组成学生学生1n1:n联系联系57联系的属性:联系的属性:联系也联系也可以有属性。如果一个可以有属性。如果一个联系具有属性,则这些属性也联系具有属性,则这些属性也要用无向边与该联系连接起来要用无向边与该联系连接起来 课程课程选修选修学生学生mn成绩成绩58E

30、-R图示例图示例学生学生课程课程选修选修学号学号姓名姓名所在系所在系课程号课程号教室教室mn成绩成绩59举例:用举例:用E-R图表示某个工厂物资管理的概念模型图表示某个工厂物资管理的概念模型实体实体仓库:仓库: 仓库号、面积、电话号码仓库号、面积、电话号码零件零件 :零件号、名称、规格、单价、描述:零件号、名称、规格、单价、描述供应商:供应商号、姓名、地址、电话号码、帐号供应商:供应商号、姓名、地址、电话号码、帐号项目:项目号、预算、开工日期项目:项目号、预算、开工日期职工:职工号、姓名、年龄、职称职工:职工号、姓名、年龄、职称 60实体之间的联系如下:实体之间的联系如下: (1) 一一个仓库

31、可以存放多种零件,一种零件可存放在多个仓库中个仓库可以存放多种零件,一种零件可存放在多个仓库中。用库存用库存量来表示某种零件在某个仓库中的数量量来表示某种零件在某个仓库中的数量。仓库仓库和和零件零件具有具有多对多多对多联系。联系。(2) 一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作。工作。仓库仓库和和职工职工之间是之间是一对多一对多联系。联系。(3) 职工之间具有领导职工之间具有领导-被领导关系。即仓库主任领导若干被领导关系。即仓库主任领导若干保管员。保管员。职工职工实体型中具有实体型中具有一对多一对多的联系的联系 。(4)

32、一一个供应商可以供给多个个供应商可以供给多个项目零件项目零件每个项目可使用多个供应商供应的零件每个项目可使用多个供应商供应的零件每种零件可由不同供应商每种零件可由不同供应商供给,每个供应商可以供给多种零件供给,每个供应商可以供给多种零件供应供应商商、项目项目和和零件零件三者之间具有三者之间具有多对多多对多的联系。的联系。6162E-R图画法步骤图画法步骤1. 将现实中的大系统划分为数个小系统将现实中的大系统划分为数个小系统2. 确定小系统中的实体确定小系统中的实体3. 分析并明确实体的属性分析并明确实体的属性4. 分析并确定实体间的联系分析并确定实体间的联系, 确定联系的类型确定联系的类型5.

33、 将小系统的将小系统的E-R图合并图合并4.3.1 概念结构概念结构 4.3.2 概念结构设计的方法与步骤概念结构设计的方法与步骤4.3.3 数据抽象与局部视图设计数据抽象与局部视图设计4.3.4 视图的集成视图的集成设计概念结构的四类方法设计概念结构的四类方法自顶向下自顶向下 首先定义全局概念结构的框架,然后逐步细化自顶向下策略自顶向下策略自底向上自底向上 首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构自底向上策略自底向上策略逐步扩张逐步扩张 首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构逐步扩张策略逐步扩张策略混合策略混

34、合策略 将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。常用策略常用策略自顶向下地进行需求分析自顶向下地进行需求分析自底向上地设计概念结构自底向上地设计概念结构v自底向上设计概念结构的步骤自底向上设计概念结构的步骤 第第1步:抽象数据并设计局部视图步:抽象数据并设计局部视图第第2步:集成局部视图,得到全局概念结构步:集成局部视图,得到全局概念结构4.3.1 概念结构概念结构4.3.2 概念结构设计的方法与步骤概念结构设计的方法与步骤4.3.3 数据抽象与局部视图设计数据抽象与局部视图设计4.3.4 视图的集成视图的集成数

35、据抽象数据抽象局部视图设计局部视图设计抽象是对实际的人、物、事和概念中抽取所抽象是对实际的人、物、事和概念中抽取所关心的共同特性,忽略非本质的细节,并把关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确地加以描述这些特性用各种概念精确地加以描述。概念结构是对现实世界的一种抽象概念结构是对现实世界的一种抽象三种常用抽象三种常用抽象1. 分类(分类(Classification)定义某一类概念作为现实世界中一组对象的类型定义某一类概念作为现实世界中一组对象的类型抽象了对象抽象了对象值和型值和型之间之间的的“成员成员”的语义的语义分类分类 2. 聚集(聚集(Aggregation)定义某一

36、类型的组成成分定义某一类型的组成成分抽象了对象抽象了对象内部类型和成分内部类型和成分之间之间“组成部分组成部分”的语义的语义 聚集聚集 3. 概括(概括(Generalization)定义类型之间的一种子集联系定义类型之间的一种子集联系抽象了类型之间的抽象了类型之间的“所属所属”的的语义语义 概括概括 设计分设计分E-R图的步骤图的步骤:选择选择局局部部应用应用逐一逐一设计分设计分E-R图图在多层的数据流图中选择一个适当层次的数在多层的数据流图中选择一个适当层次的数据流图,作为设计分据流图,作为设计分E-R图的出发点图的出发点 通常以通常以中层数据流图中层数据流图作为设计分作为设计分E-R图的

37、依图的依据据任务任务将各局部应用涉及的数据分别从数据字典中抽取出来将各局部应用涉及的数据分别从数据字典中抽取出来参照数据流图,标定各局部应用中的实体、实体的属性、参照数据流图,标定各局部应用中的实体、实体的属性、标识实体的码标识实体的码确定实体之间的联系及其类型(确定实体之间的联系及其类型(1:1,1:n,m:n)准则准则:(1)属性不能再具有需要描述的性质。即属性必须是不可)属性不能再具有需要描述的性质。即属性必须是不可分的数据项,不能再由另一些属性组成分的数据项,不能再由另一些属性组成(2)属性不能与其他实体具有联系。联系只发生在实体)属性不能与其他实体具有联系。联系只发生在实体之之间间(

38、3)联系与实体的区别)联系与实体的区别4.3.1 概念结构概念结构4.3.2 概念结构设计的方法与步骤概念结构设计的方法与步骤4.3.3 数据抽象与局部视图设计数据抽象与局部视图设计4.3.4 视图的集成视图的集成各个局部视图即分各个局部视图即分E-R图建立好后,还需要图建立好后,还需要对它们进行合并,集成为一个整体的数据概对它们进行合并,集成为一个整体的数据概念结构即总念结构即总E-R图图。多个分多个分E-R图一次集成图一次集成 一次集成多个分一次集成多个分E-R图图通常用于局部视图比较简单时通常用于局部视图比较简单时逐步集成逐步集成用累加的方式一次集成两个分用累加的方式一次集成两个分E-R

39、图图 集成局部集成局部E-R图的图的步骤步骤合并合并E-R图,解决各分图,解决各分E-R图之间的冲突问题,并将各分图之间的冲突问题,并将各分E-R图合并起来生成初步图合并起来生成初步E-R图图修改修改与与重构初步重构初步E-R图,消除初步图,消除初步E-R图中不必要的冗余,图中不必要的冗余,得到基本得到基本E-R图图视图集成视图集成 各分各分E-R图存在冲突图存在冲突各个分各个分E-R图之间必定会存在许多不一致的地方图之间必定会存在许多不一致的地方合并分合并分E-R图的主要工作与关键图的主要工作与关键合理消除各分合理消除各分E-R图的冲突图的冲突 冲突的种类冲突的种类命名命名冲突冲突结构结构冲

40、突冲突属性属性冲突冲突两类命名两类命名冲突冲突同名同名异义异义:不同不同意义的对象在不同的局部应用中具有相同的名字意义的对象在不同的局部应用中具有相同的名字异名同义(一义多名)异名同义(一义多名):同同一意义的对象在不同的局部应用中具有不同的名字一意义的对象在不同的局部应用中具有不同的名字三类结构冲突三类结构冲突同一对象在不同应用中具有不同的抽象同一对象在不同应用中具有不同的抽象同一实体在不同分同一实体在不同分E-R图中所包含的属性个数和图中所包含的属性个数和属性排列次序不完全相同属性排列次序不完全相同实体之间的联系在不同局部视图中呈现不同的类实体之间的联系在不同局部视图中呈现不同的类型型两类

41、属性冲突两类属性冲突属性域属性域冲突冲突属性值的类型取值范围取值集合不同属性取值单位冲突属性取值单位冲突基本任务基本任务消除不必要的冗余,设计生成基本消除不必要的冗余,设计生成基本E-R图图合并合并初步初步E-R图图分分E-R图图可能存在冗余的数据可能存在冗余的数据和冗余的实体间联系和冗余的实体间联系基本基本E-R图图消除不必要的冗余消除不必要的冗余 冗余冗余 消除消除冗余的方法冗余的方法冗余的数据是指可由基本数据导出的数据冗余的数据是指可由基本数据导出的数据冗余的联系是指可由其他联系导出的联系冗余的联系是指可由其他联系导出的联系 消除不必要的冗余后的初步消除不必要的冗余后的初步E-R图称为基

42、本图称为基本E-R图图 分析方法分析方法以数据字典和数据流图为依据以数据字典和数据流图为依据根据数据字典中关于数据项之间的逻辑关系根据数据字典中关于数据项之间的逻辑关系效率效率VS冗余信息冗余信息需要根据用户的整体需求来确定若人为地保留了一些冗余数据,则应把数据字典若人为地保留了一些冗余数据,则应把数据字典中数据关联的说明作为完整性约束条件中数据关联的说明作为完整性约束条件Q4=Q5一旦Q5修改后就应当触发完整性检查,对Q4进行修改规范化理论规范化理论函数依赖的概念提供了消除冗余联系的形式化工具函数依赖的概念提供了消除冗余联系的形式化工具视图集成后形成一个整体的数据库概念结构,对该整视图集成后

43、形成一个整体的数据库概念结构,对该整体概念结构还必须进行进一步验证,确保它能够满足体概念结构还必须进行进一步验证,确保它能够满足下列条件下列条件:整体整体概念结构内部必须具有一致性,不存在互相矛盾的表达概念结构内部必须具有一致性,不存在互相矛盾的表达整体概念结构能准确地反映原来的每个视图结构,包括属性、整体概念结构能准确地反映原来的每个视图结构,包括属性、实体及实体间的联系实体及实体间的联系整体概念结构能满足需要分析阶段所确定的所有要求整体概念结构能满足需要分析阶段所确定的所有要求整体概念结构最终还应该提交给用户,征求用户和整体概念结构最终还应该提交给用户,征求用户和有关人员的意见,进行评审、

44、修改和优化,然后把有关人员的意见,进行评审、修改和优化,然后把它确定下来,作为数据库的概念结构,作为进一步它确定下来,作为数据库的概念结构,作为进一步设计数据库的依据。设计数据库的依据。4.1 数据库设计概述数据库设计概述4.2 需求分析需求分析4.3 概念结构设计概念结构设计4.4 逻辑结构设计逻辑结构设计4.5 数据库的物理设计数据库的物理设计4.6 数据库的实施数据库的实施4.7 数据库的运行和维护数据库的运行和维护逻辑结构设计的任务逻辑结构设计的任务把概念结构设计阶段设计好的全局把概念结构设计阶段设计好的全局E-R模型转换为与具体模型转换为与具体DBMS产产品所支持的数据模型相符合的逻

45、辑品所支持的数据模型相符合的逻辑模型模型逻辑结构设计的步骤逻辑结构设计的步骤将概念结构转化为一般的关系、网状、层次模型将概念结构转化为一般的关系、网状、层次模型将转换来的关系、网状、层次模型向特定将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型支持下的数据模型转换转换 对数据模型进行优化对数据模型进行优化设计子模式设计子模式 4.4.1 E-R图向一般的关系模型的转换图向一般的关系模型的转换4.4.2 将一般的关系模型转化为特定的将一般的关系模型转化为特定的DBMS支持支持的关系模型的关系模型4.4.3 数据模型的优化数据模型的优化4.4.4 设计用户子模式设计用户子模式转换内容转

46、换内容转换原则转换原则转换内容转换内容将将E-R图转换为关系模型:将图转换为关系模型:将实体集、实体集、实体的属性和实体之间的联系实体的属性和实体之间的联系转换为关系模式。转换为关系模式。E-R图向关系模型的转换要解决的问题图向关系模型的转换要解决的问题 如何将实体集和实体间的联系转换为关系模式如何将实体集和实体间的联系转换为关系模式如何确定这些关系模式的属性和码如何确定这些关系模式的属性和码 实体集的转换规则实体集的转换规则一个实体集转换为关系模型中的一个关系,实体的属性就是关系的属一个实体集转换为关系模型中的一个关系,实体的属性就是关系的属性,实体的码就是关系的码,关系的结构是关系模式。性

47、,实体的码就是关系的码,关系的结构是关系模式。明确每一列的属性:是否为空;数据类型;数据约束明确每一列的属性:是否为空;数据类型;数据约束实体集间联系的转换规则实体集间联系的转换规则实体集间的联系有以下不同情况 :(1)一个1:1联系的转换方法转换为一个独立的关系模式转换为一个独立的关系模式 与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性每个实体的码均是该关系的候选码与任一端实体对应的关系模式合并与任一端实体对应的关系模式合并如果与某一端对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性(2)一个1:n联系的转换方法 转换为一个独立的关系模式转换

48、为一个独立的关系模式与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性该关系的码为n端实体集的码与与n端对应的关系模式合并端对应的关系模式合并在n端实体集对应的关系模式中加入1端实体集的码和联系自身的属性。新增属性后原关系的码不变(3) 一个m:n联系转换为一个关系模式。l与该联系相连的各实体集的码以及联系本身的属性均转换为关与该联系相连的各实体集的码以及联系本身的属性均转换为关系的属性系的属性l新关系的码为两个相连实体的码组成的属性组。新关系的码为两个相连实体的码组成的属性组。(4) 三个或三个以上实体集间的多元联系的转换方法对于对于1:n 的多元联系,转换为关系模型的方法是的多元

49、联系,转换为关系模型的方法是:修改修改n端实体集对应的关系,即将与联系相关的端实体集对应的关系,即将与联系相关的1端实体集的码和联系自身的端实体集的码和联系自身的属性作为新属性加入到属性作为新属性加入到n端实体集中。端实体集中。 对于对于m:n 的多元联系,转换为关系模型的方法是的多元联系,转换为关系模型的方法是:新建一个独立的关系,该关系的属性为多元联系相连的各实体的码以及联系本新建一个独立的关系,该关系的属性为多元联系相连的各实体的码以及联系本身的属性,码为各实体码的组合。身的属性,码为各实体码的组合。115供应商(供应商(供应商号供应商号,供应商名,地址);,供应商名,地址);零件(零件

50、(零件号零件号,零件名,单价);,零件名,单价);产品(产品(产品号产品号,产品名,型号);,产品名,型号); 供应(供应(供应商号,零件号,产品号供应商号,零件号,产品号,数量),数量). 供应商供应商供应商号供应商号供应商名供应商名地址地址 零件零件零件号零件号零件名零件名单价单价产品产品产品号产品号产品名产品名型号型号供应供应nmp数量数量(5)具有相同码的关系模式可合并目的:减少系统中的关系个数目的:减少系统中的关系个数合并方法:将其中一个关系模式的全部属性加入到另一个关合并方法:将其中一个关系模式的全部属性加入到另一个关系模式中,然后去掉其中的同义属性(可能同名也可能不同系模式中,然

51、后去掉其中的同义属性(可能同名也可能不同名),并适当调整属性的次序名),并适当调整属性的次序4.4.1 E-R图向一般的关系模型的转换图向一般的关系模型的转换4.4.2 将一般的关系模型转化为特定的将一般的关系模型转化为特定的DBMS支持的关系模型支持的关系模型4.4.3 数据模型的优化数据模型的优化4.4.4 设计用户子模式设计用户子模式4.4.1 E-R图向一般的关系模型的转换图向一般的关系模型的转换4.4.2 将一般的关系模型转化为特定的将一般的关系模型转化为特定的DBMS支支持的关系模型持的关系模型4.4.3 数据模型的优化数据模型的优化4.4.4 设计用户子模式设计用户子模式得到初步

52、数据模型后,还应该适当地修改、调整数据模型的结构,以进一步提高数据库应用系统的性能,这就是数据模型的优化关系数据模型的优化通常以规范化理论为指导4.4.1 E-R图向一般的关系模型的转换图向一般的关系模型的转换4.4.2 将一般的关系模型转化为特定的将一般的关系模型转化为特定的DBMS支支持的关系模型持的关系模型4.4.3 数据模型的优化数据模型的优化4.4.4 设计用户子模式设计用户子模式定义用户外模式时应该注重的问题定义用户外模式时应该注重的问题(1) 使用更符合用户习惯的别名使用更符合用户习惯的别名(2) 针对不同级别的用户定义不同的针对不同级别的用户定义不同的View ,满足系统对安全

53、性的要,满足系统对安全性的要求求(3) 简化用户对系统的使用简化用户对系统的使用4.1 数据库设计概述数据库设计概述4.2 需求分析需求分析4.3 概念结构设计概念结构设计4.4 逻辑结构设计逻辑结构设计4.5 数据库的物理设计数据库的物理设计4.6 数据库的实施数据库的实施4.7 数据库的运行和维护数据库的运行和维护 4.5.1 数据库物理设计的内容和方法数据库物理设计的内容和方法4.5.2 关系模式存取方法选择关系模式存取方法选择4.5.3 确定数据库的存储结构确定数据库的存储结构4.5.4 评价物理结构评价物理结构数据库的物理设计数据库的物理设计为一个给定的逻辑数据模型选取一个最适合应用

54、环境的、可实现为一个给定的逻辑数据模型选取一个最适合应用环境的、可实现的、有效的物理结构的过程,就是的、有效的物理结构的过程,就是数据库的物理设计数据库的物理设计数据库在物理设备上的存储结构与存取方法称为数据库在物理设备上的存储结构与存取方法称为数据库的物理结数据库的物理结构构,它依赖于选定的数据库管理系统,它依赖于选定的数据库管理系统数据库的物理设计主要任务数据库的物理设计主要任务确定文件组织、分块技术、缓冲区大小以及管理方式、数据库在确定文件组织、分块技术、缓冲区大小以及管理方式、数据库在存储器上的分布等等。存储器上的分布等等。数据库物理设计的步骤数据库物理设计的步骤确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构 对物理结构进行评价,评价的重点是对物理结构进行评价,评价的重点是时间和空间时间和空间效率效率 数据库物理设计数据

温馨提示

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

评论

0/150

提交评论