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

下载本文档

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

文档简介

1、An Introduction to Database Systenm第十二章第十二章 数据库设计步骤数据库设计步骤 An Introduction to Database Systenm数据库设计步骤数据库设计步骤v 需求分析需求分析v 概念结构设计概念结构设计v 逻辑结构设计逻辑结构设计v 数据库的物理设计数据库的物理设计v 数据库实施数据库实施v 数据库运行与维护数据库运行与维护An Introduction to Database Systenm数据库设计各个阶段的设计描述An Introduction to Database Systenm12.1 需求分析需求分析12.1.1 需求

2、分析的任务和过程需求分析的任务和过程12.1.2 需求分析的方法需求分析的方法12.1.3 数据字典数据字典An Introduction to Database Systenm需求分析(续)需求分析(续)v需求分析就是分析用户的需要与要求需求分析就是分析用户的需要与要求 需求分析是设计数据库的起点需求分析是设计数据库的起点 需求分析的结果是否准确地反映了用户的实际要求,需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用结果是否合理和实用An Introduction to Database

3、Systenm12.1.1 需求分析的任务需求分析的任务一、需求分析的任务一、需求分析的任务二、需求分析的重点二、需求分析的重点三、需求分析的难点三、需求分析的难点An Introduction to Database Systenm一、需求分析的任务一、需求分析的任务v 通过详细调查现实世界要处理的对象(组织、部通过详细调查现实世界要处理的对象(组织、部门、企业等),充分门、企业等),充分了解原系统了解原系统(手工系统或计(手工系统或计算机系统)算机系统)工作概况,明确用户的各种需求工作概况,明确用户的各种需求v 在此基础上在此基础上确定新系统的功能确定新系统的功能。新系统必须充分。新系统必

4、须充分考虑今后可能的扩充和改变,不能仅仅按当前应考虑今后可能的扩充和改变,不能仅仅按当前应用需求来设计数据库用需求来设计数据库An Introduction to Database Systenm二、需求分析的重点二、需求分析的重点v 需求分析的重点是调查、收集与分析用户在数据管理中的需求分析的重点是调查、收集与分析用户在数据管理中的信息要求、处理要求、安全性与完整性要求信息要求、处理要求、安全性与完整性要求。v 信息要求信息要求 用户需要从数据库中获得信息的内容与性质用户需要从数据库中获得信息的内容与性质 由用户的信息要求可以导出数据要求,即在数据库中由用户的信息要求可以导出数据要求,即在数

5、据库中需要存储哪些数据需要存储哪些数据An Introduction to Database Systenm需求分析的重点(续)需求分析的重点(续)v 处理要求处理要求 对处理功能的要求对处理功能的要求 对处理的响应时间的要求对处理的响应时间的要求 对处理方式的要求对处理方式的要求(批处理批处理 / 联机处理联机处理)v 新系统的功能必须能够满足用户的信息要求、处理要求、新系统的功能必须能够满足用户的信息要求、处理要求、安全性与完整性要求。安全性与完整性要求。An Introduction to Database Systenm三、需求分析的难点三、需求分析的难点v 确定用户最终需求的难点确定

6、用户最终需求的难点 用户用户缺少计算机知识,开始时无法确定计算机究竟能为自己缺少计算机知识,开始时无法确定计算机究竟能为自己做什么,不能做什么,因此无法一下子准确地表达自己的需做什么,不能做什么,因此无法一下子准确地表达自己的需求,他们所提出的需求往往不断地变化。求,他们所提出的需求往往不断地变化。 设计人员设计人员缺少用户的专业知识,不易理解用户的真正需求,缺少用户的专业知识,不易理解用户的真正需求,甚至误解用户的需求。甚至误解用户的需求。 新新的硬件、软件的硬件、软件技术的出现技术的出现也会使用户需求发生变化。也会使用户需求发生变化。An Introduction to Database

7、Systenm需求分析的难点需求分析的难点(续续)v解决方法解决方法 设计人员必须采用有效的方法,与用户不断设计人员必须采用有效的方法,与用户不断深入深入地进地进行行交流交流,才能逐步得以确定用户的实际需求,才能逐步得以确定用户的实际需求An Introduction to Database Systenm12.1.2 需求分析的方法需求分析的方法v调查清楚用户的实际需求并进行初步分析调查清楚用户的实际需求并进行初步分析v 与用户达成共识与用户达成共识v 进一步分析与表达这些需求进一步分析与表达这些需求An Introduction to Database Systenm一、一、 调查与初步分

8、析用户需求调查与初步分析用户需求 调查组织机构情况调查组织机构情况 组织部门的组成情况组织部门的组成情况 各部门的职责等各部门的职责等An Introduction to Database Systenm调查与初步分析用户需求(续)调查与初步分析用户需求(续) 调查各部门的业务活动情况。调查各部门的业务活动情况。调查重点之一。调查重点之一。 各个部门输入和使用什么数据各个部门输入和使用什么数据 如何加工处理这些数据如何加工处理这些数据 输出什么信息输出什么信息 输出到什么部门输出到什么部门 输出结果的格式是什么输出结果的格式是什么An Introduction to Database Syst

9、enm调查与初步分析用户需求(续)调查与初步分析用户需求(续) 分析用户需求。分析用户需求。调查重点之二。调查重点之二。 信息要求信息要求 处理要求处理要求 完全性与完整性要求完全性与完整性要求An Introduction to Database Systenm调查与初步分析用户需求(续)调查与初步分析用户需求(续) 确定新系统的边界确定新系统的边界 确定哪些功能由计算机完成或将来准备让计算机完成确定哪些功能由计算机完成或将来准备让计算机完成 确定哪些活动由人工完成确定哪些活动由人工完成 由计算机完成的功能就是新系统应该实现的功能。由计算机完成的功能就是新系统应该实现的功能。An Intro

10、duction to Database Systenm二、常用调查方法二、常用调查方法v做需求调查时,往往需要同时采用多种方法做需求调查时,往往需要同时采用多种方法 无论使用何种调查方法,都必须有用户的积极参与和无论使用何种调查方法,都必须有用户的积极参与和配合配合 设计人员应该和用户取得共同的语言,帮助不熟悉计设计人员应该和用户取得共同的语言,帮助不熟悉计算机的用户建立数据库环境下的共同概念,并对设计算机的用户建立数据库环境下的共同概念,并对设计工作的最后结果共同承担责任工作的最后结果共同承担责任An Introduction to Database Systenm常用调查方法(续)常用调查

11、方法(续)v常用调查方法常用调查方法跟班作业跟班作业 通过亲身参加业务工作了解业务活动的情况通过亲身参加业务工作了解业务活动的情况 能比较准确地理解用户的需求,但比较耗时能比较准确地理解用户的需求,但比较耗时开调查会开调查会 通过与用户座谈来了解业务活动情况及用户需求通过与用户座谈来了解业务活动情况及用户需求请专人介绍请专人介绍An Introduction to Database Systenm常用调查方法(续)常用调查方法(续)询问询问 对某些调查中的问题,可以找专人询问对某些调查中的问题,可以找专人询问设计调查表请用户填写设计调查表请用户填写 如果调查表设计合理,则很有效,且易于为用户接

12、受如果调查表设计合理,则很有效,且易于为用户接受查阅记录查阅记录 查阅与原系统有关的数据记录查阅与原系统有关的数据记录An Introduction to Database Systenm三、进一步分析和表达用户需求三、进一步分析和表达用户需求v 分析和表达用户的需求分析和表达用户的需求的常用方法的常用方法 自顶向下的结构化分析方法(自顶向下的结构化分析方法(Structured Analysis,简称简称SA方法)方法)v SA方法从最上层的系统组织机构入手,采用逐层分解的方法从最上层的系统组织机构入手,采用逐层分解的方式分析系统,并用数据流图和数据字典描述系统。方式分析系统,并用数据流图和

13、数据字典描述系统。An Introduction to Database Systenm进一步分析和表达用户需求(续)进一步分析和表达用户需求(续)1首先把任何一个系统都抽象为:首先把任何一个系统都抽象为:数据流数据流数据流数据流数据数据存储存储信息要求信息要求数据数据来源来源处理处理数据数据输出输出处理要求处理要求An Introduction to Database Systenm进一步分析和表达用户需求(续)进一步分析和表达用户需求(续)2分解处理功能和数据分解处理功能和数据(1)分解处理功能)分解处理功能 将处理功能的具体内容分解为若干子功能,再将每个子功能将处理功能的具体内容分解为若

14、干子功能,再将每个子功能继续分解,直到把系统的工作过程表达清楚为止。继续分解,直到把系统的工作过程表达清楚为止。(2)分解数据)分解数据 在处理功能逐步分解的同时,其所用的数据也逐级分解,形在处理功能逐步分解的同时,其所用的数据也逐级分解,形成若干层次的数据流图成若干层次的数据流图 数据流图表达了数据和处理过程的关系数据流图表达了数据和处理过程的关系(3)表达方法)表达方法 处理过程:用判定表或判定树来描述处理过程:用判定表或判定树来描述 数据:用数据字典来描述数据:用数据字典来描述An Introduction to Database Systenm进一步分析和表达用户需求(续)进一步分析和

15、表达用户需求(续)3将分析结果再次提交给用户,征得用户的认可将分析结果再次提交给用户,征得用户的认可An Introduction to Database Systenm四、需求分析小结四、需求分析小结vP223图图12.1An Introduction to Database Systenm12.1.3 数据字典数据字典一、数据字典的用途一、数据字典的用途二、数据字典的内容二、数据字典的内容An Introduction to Database Systenm一、数据字典的用途一、数据字典的用途v 数据字典是各类数据描述的集合数据字典是各类数据描述的集合v 数据字典是进行详细的数据收集和数据

16、分析所获得的主要数据字典是进行详细的数据收集和数据分析所获得的主要结果结果v 数据字典在数据库设计中占有很重要的地位数据字典在数据库设计中占有很重要的地位An Introduction to Database Systenm二、数据字典的内容二、数据字典的内容v 数据字典的内容数据字典的内容 数据项数据项 数据结构数据结构 数据流数据流 数据存储数据存储 处理过程处理过程v 数据项是数据的最小组成单位数据项是数据的最小组成单位v 若干个数据项可以组成一个数据结构若干个数据项可以组成一个数据结构v 数据字典通过对数据项和数据结构的定义来描述数据流、数据字典通过对数据项和数据结构的定义来描述数据流

17、、数据存储的逻辑内容。数据存储的逻辑内容。An Introduction to Database Systenm 数据项数据项v数据项是不可再分的数据单位数据项是不可再分的数据单位v 对数据项的描述对数据项的描述数据项描述数据项名,数据项含义说明,数据项描述数据项名,数据项含义说明, 别名,数据类型,长度,取值范围,别名,数据类型,长度,取值范围, 取值含义,与其他数据项的逻辑关系取值含义,与其他数据项的逻辑关系 取值范围、与其他数据项的逻辑关系定义了数据的完取值范围、与其他数据项的逻辑关系定义了数据的完整性约束条件整性约束条件An Introduction to Database Syste

18、nm 数据结构数据结构v 数据结构反映了数据之间的组合关系。数据结构反映了数据之间的组合关系。v 一个数据结构可以由若干个数据项组成,也可以由若干一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。个数据结构组成,或由若干个数据项和数据结构混合组成。v 对数据结构的描述对数据结构的描述数据结构描述数据结构名,含义说明,数据结构描述数据结构名,含义说明, 组成组成:数据项或数据结构数据项或数据结构An Introduction to Database Systenm 数据流数据流v 数据流是数据结构在系统内传输的路径。数据流是数据结构在系统内传输的

19、路径。v 对数据流的描述对数据流的描述数据流描述数据流名,说明,数据流来源,数据流描述数据流名,说明,数据流来源, 数据流去向,组成数据流去向,组成:数据结构,数据结构, 平均流量,高峰期流量平均流量,高峰期流量 数据流来源是说明该数据流来自哪个过程数据流来源是说明该数据流来自哪个过程 数据流去向是说明该数据流将到哪个过程去数据流去向是说明该数据流将到哪个过程去 平均流量是指在单位时间(每天、每周、每月等)里的传平均流量是指在单位时间(每天、每周、每月等)里的传输次数输次数 高峰期流量则是指在高峰时期的数据流量高峰期流量则是指在高峰时期的数据流量An Introduction to Datab

20、ase Systenm 数据存储数据存储v 数据存储是数据结构停留或保存的地方,也是数据流的来源数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。和去向之一。v 对数据存储的描述对数据存储的描述数据存储描述数据存储名,说明,编号,数据存储描述数据存储名,说明,编号, 流入的数据流流入的数据流 ,流出的数据流,流出的数据流 , 组成组成:数据结构,数据量,存取方式数据结构,数据量,存取方式 流入的数据流:指出数据来源流入的数据流:指出数据来源 流出的数据流:指出数据去向流出的数据流:指出数据去向 数据量:每次存取多少数据,每天(或每小时、每周等)存取几次等数据量:每次存取多少数据,

21、每天(或每小时、每周等)存取几次等信息信息 存取方法:批处理存取方法:批处理 / 联机处理;检索联机处理;检索 / 更新;顺序检索更新;顺序检索 / 随机检索随机检索An Introduction to Database Systenm 处理过程处理过程v 处理过程的具体处理逻辑一般用判定表或判定树来描述。数据处理过程的具体处理逻辑一般用判定表或判定树来描述。数据字典中只需要描述处理过程的说明性信息字典中只需要描述处理过程的说明性信息v 处理过程说明性信息的描述处理过程说明性信息的描述处理过程描述处理过程名,说明,处理过程描述处理过程名,说明, 输入输入:数据流,输出数据流,输出:数据流,数据

22、流, 处理处理:简要说明简要说明An Introduction to Database Systenm例:例:学生学籍管理子系统的数据字典。学生学籍管理子系统的数据字典。数据项数据项,以,以“学号学号”为例:为例: 数据项:学号数据项:学号 含义说明:唯一标识每个学生含义说明:唯一标识每个学生别名:学生编号别名:学生编号 类型:字符型类型:字符型 长度:长度: 8 取值范围:取值范围:00000000至至99999999取值含义:前两位标别该学生所在年级,取值含义:前两位标别该学生所在年级, 后六位按顺序编号后六位按顺序编号与其他数据项的逻辑关系:与其他数据项的逻辑关系:An Introduc

23、tion to Database Systenm数据结构数据结构 以以“学生学生”为例为例 “学生学生”是该系统中的一个核心数据结构:是该系统中的一个核心数据结构: 数据结构:学生数据结构:学生 含义说明:是学籍管理子系统的主体数据结含义说明:是学籍管理子系统的主体数据结 构,定义了一个学生的有关信息构,定义了一个学生的有关信息 组成:学号,姓名,性别,年龄,组成:学号,姓名,性别,年龄, 所在系,年级所在系,年级An Introduction to Database Systenm数据流数据流“体检结果体检结果”可如下描述:可如下描述: 数据流:体检结果数据流:体检结果 说明:学生参加体格检

24、查的最终结果说明:学生参加体格检查的最终结果 数据流来源:体检数据流来源:体检 数据流去向:批准数据流去向:批准 组成:组成:平均流量:平均流量:高峰期流量:高峰期流量:An Introduction to Database Systenm数据存储数据存储“学生登记表学生登记表”可如下描述:可如下描述: 数据存储:学生登记表数据存储:学生登记表 说明:记录学生的基本情况说明:记录学生的基本情况流入数据流:流入数据流: 流出数据流:流出数据流: 组成:组成: 数据量:每年数据量:每年3000张张 存取方式:随机存取存取方式:随机存取 An Introduction to Database Sys

25、tenm12.2 概念结构设计概念结构设计12.2.1 概念结构设计的方法和步骤概念结构设计的方法和步骤v什么是概念结构设计什么是概念结构设计 将需求分析得到的用户需求抽象为信息结构即概念模将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是型的过程就是概念结构设计概念结构设计 概念结构是各种数据模型的共同基础,它比数据模型概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定更独立于机器、更抽象,从而更加稳定 概念结构设计是整个概念结构设计是整个数据库设计的关键数据库设计的关键An Introduction to Database Systenm概念模型特点及

26、描述工具概念模型特点及描述工具v能真实、充分地反映现实世界能真实、充分地反映现实世界v易于理解易于理解v易于更改易于更改v易于向关系、网状、层次等各种数据模型转换易于向关系、网状、层次等各种数据模型转换v描述概念模型的工具描述概念模型的工具 E-R模型模型An Introduction to Database Systenm设计概念结构的策略设计概念结构的策略v自顶向下自顶向下 首先定义全局概念结构的框架,然后逐步细化首先定义全局概念结构的框架,然后逐步细化v自底向上(自底向上(最常用最常用) 首先定义各局部应用的概念结构,然后将它们集成起首先定义各局部应用的概念结构,然后将它们集成起来,得到

27、全局概念结构来,得到全局概念结构v逐步扩张逐步扩张 首先定义最重要的核心概念结构,然后向外扩充,以首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念滚雪球的方式逐步生成其他概念结构,直至总体概念结构结构v混合策略混合策略 将自顶向下和自底向上相结合,用自顶向下策略设计将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。上策略中设计的各局部概念结构。An Introduction to Database Systenm常用概念结构设计策略(

28、常用概念结构设计策略(自底向上自底向上)v 自顶向下地进行需求分析自顶向下地进行需求分析v 自底向上地设计概念结构自底向上地设计概念结构图图 12.8An Introduction to Database Systenm自底向上设计概念结构的步骤自底向上设计概念结构的步骤自底向上的概念结构设计通常分两步:自底向上的概念结构设计通常分两步:第第1步:抽象数据并设计局部视图步:抽象数据并设计局部视图第第2步:集成局部视图,得到全局概念结构步:集成局部视图,得到全局概念结构图图 12.9An Introduction to Database Systenm12.2.2 局部视图设计局部视图设计概念设

29、计第一步就是对需求分析阶段收集到的数据按概念设计第一步就是对需求分析阶段收集到的数据按照照E-R模型的要求进行分类、组织,形成实体、实体的属模型的要求进行分类、组织,形成实体、实体的属性,标识实体的码,确定实体之间的联系类型性,标识实体的码,确定实体之间的联系类型(1:1,1:n,m:n),设计分),设计分E-R图。具体步骤如下:图。具体步骤如下: 选择局部应用选择局部应用 逐一设计分逐一设计分E-R图图An Introduction to Database Systenm 选择局部应用选择局部应用v 需求分析阶段,已用多层数据流图和数据字典描述了整个需求分析阶段,已用多层数据流图和数据字典描

30、述了整个系统。系统。v 设计分设计分E-R图首先需要根据系统的具体情况,在多层的数图首先需要根据系统的具体情况,在多层的数据流图中据流图中选择选择一个一个适当层次的数据流图适当层次的数据流图,让这组图中每一,让这组图中每一部分对应一个局部应用,然后以这一层次的数据流图为出部分对应一个局部应用,然后以这一层次的数据流图为出发点,设计分发点,设计分E-R图。图。 An Introduction to Database Systenm选择局部应用(续)选择局部应用(续)v通常以中层数据流图作为设计分通常以中层数据流图作为设计分E-R图的依图的依据。原因:据。原因: 高层数据流图只能反映系统的概貌高层

31、数据流图只能反映系统的概貌 中层数据流图能较好地反映系统中各局部应用的子系中层数据流图能较好地反映系统中各局部应用的子系统组成统组成 低层数据流图过细低层数据流图过细An Introduction to Database Systenm设计分设计分E-RE-R图的出发点图的出发点 设计分设计分E-R图的出发点图的出发点 图图 12.10An Introduction to Database Systenm 逐一设计分逐一设计分E-R图图v任务任务 标定局部应用中的实体、属性、码,实体间的联系标定局部应用中的实体、属性、码,实体间的联系 将各局部应用涉及的数据分别从数据字典中将各局部应用涉及的数

32、据分别从数据字典中抽取出来,参照数据流图,标定各局部应用抽取出来,参照数据流图,标定各局部应用中的实体、实体的属性、标识实体的码,确中的实体、实体的属性、标识实体的码,确定实体之间的联系及其类型(定实体之间的联系及其类型(1:1,1:n,m:n)An Introduction to Database Systenm分分ERER图设计实例图设计实例实例实例销售管理子系统分销售管理子系统分E-R图的设计图的设计v销售管理子系统的主要功能:销售管理子系统的主要功能:处理顾客和销售员送来的订单处理顾客和销售员送来的订单工厂是根据订单安排生产的工厂是根据订单安排生产的交出货物同时开出发票交出货物同时开出

33、发票收到顾客付款后,根据发票存根和信贷情况进行应收款收到顾客付款后,根据发票存根和信贷情况进行应收款处理处理An Introduction to Database Systenm分分ERER图设计实例续图设计实例续v 下图是第一层数据流图,虚线部分划出了系统边界下图是第一层数据流图,虚线部分划出了系统边界 销售管理子系统第一层数据流图销售管理子系统第一层数据流图 图图 12.11An Introduction to Database Systenm分分ERER图设计实例续图设计实例续v 上图中把系统功能又分为上图中把系统功能又分为4个子系统,下面四个图是第二层数据流图个子系统,下面四个图是第二

34、层数据流图 图图12.12 接收订单接收订单 An Introduction to Database Systenm逐一设计分逐一设计分E-R图(续)图(续)图图12.13 处理订单处理订单 An Introduction to Database Systenm逐一设计分逐一设计分E-R图(续)图(续)开发票开发票 图图 12.14An Introduction to Database Systenm逐一设计分逐一设计分E-R图(续)图(续)支付过账支付过账 图图 12.15An Introduction to Database Systenm逐一设计分逐一设计分E-R图(续)图(续)分分E-

35、R图的框架图的框架 图图 12.16An Introduction to Database Systenm逐一设计分逐一设计分E-R图(续)图(续)v 参照第二层数据流图和数据字典,遵循两个准则,进行如参照第二层数据流图和数据字典,遵循两个准则,进行如下调整:下调整: (1) 订单与订单细节是订单与订单细节是1n的联系的联系 (2) 原订单和产品的联系实际上是订单细节和产品的联系。原订单和产品的联系实际上是订单细节和产品的联系。 (3) “发票主清单发票主清单”是一个数据存储,不必作为实体加入分是一个数据存储,不必作为实体加入分E-R图图 (4) 工厂对大宗订货给予优惠工厂对大宗订货给予优惠A

36、n Introduction to Database Systenm逐一设计分逐一设计分E-R图(续)图(续)v得到分得到分E-R图如下图所示图如下图所示 销售管理子系统的分销售管理子系统的分E-R图图 图图 12.17An Introduction to Database Systenm逐一设计分逐一设计分E-R图(续)图(续)对每个实体定义的属性如下:对每个实体定义的属性如下: 顾客:顾客:顾客号顾客号,顾客名,地址,电话,信贷状况,账目余额,顾客名,地址,电话,信贷状况,账目余额 订单:订单:订单号订单号,顾客号,订货项数,订货日期,交货日期,工种,顾客号,订货项数,订货日期,交货日期,

37、工种号,生产地点号,生产地点 订单细则:订单细则:订单号,细则号订单号,细则号,零件号,订货数,金额,零件号,订货数,金额 应收账款:应收账款:顾客号,订单号顾客号,订单号,发票号,应收金额,支付日期,支,发票号,应收金额,支付日期,支付金额,当前余额,货款限额付金额,当前余额,货款限额 产品描述:产品描述:产品号,产品名,单价,重量产品号,产品名,单价,重量 折扣规则:折扣规则:产品号,订货量产品号,订货量,折扣,折扣An Introduction to Database Systenm12.2.3 视图集成视图集成v各个局部视图即分各个局部视图即分E-R图建立好后,还需要对它图建立好后,还

38、需要对它们进行合并,集成为一个整体的数据概念结构即们进行合并,集成为一个整体的数据概念结构即总总E-R图。图。An Introduction to Database Systenm视图集成的方法与步骤视图集成的方法与步骤v 视图集成的方法视图集成的方法 多个分多个分E-RE-R图一次集成图一次集成 一次集成多个分一次集成多个分E-RE-R图图 通常用于局部视图比较简单时通常用于局部视图比较简单时 逐步集成逐步集成 用累加的方式一次集成两个分用累加的方式一次集成两个分E-RE-R图图v 视图集成的步骤视图集成的步骤 合并合并 修改与重构修改与重构An Introduction to Databa

39、se Systenm局部局部E-R图集成示意图集成示意视图集成视图集成 图图 12.18An Introduction to Database SystenmAn Introduction to Database System一、合并分一、合并分E-RE-R图,生成初步图,生成初步E-RE-R图图v合理消除各分合理消除各分E-R图的冲突是合并分图的冲突是合并分E-RE-R图的图的主要工作和关键所在。主要工作和关键所在。v 冲突的种类冲突的种类 属性冲突属性冲突 命名冲突命名冲突 结构冲突结构冲突An Introduction to Database SystenmAn Introduction

40、 to Database System 属性冲突属性冲突v两类属性冲突两类属性冲突 属性域冲突属性域冲突属性值的类型属性值的类型取值范围取值范围取值集合不同取值集合不同 属性取值单位冲突属性取值单位冲突An Introduction to Database SystenmAn Introduction to Database System 命名冲突命名冲突v两类命名冲突两类命名冲突 同名异义:同名异义:不同意义的对象在不同的局部应用中具有不同意义的对象在不同的局部应用中具有相同的名字相同的名字 异名同义(一义多名)异名同义(一义多名):同一意义的对象在不同的局:同一意义的对象在不同的局部应用中

41、具有不同的名字部应用中具有不同的名字An Introduction to Database Systenm 结构冲突结构冲突v三类结构冲突三类结构冲突 同一对象在不同应用中具有不同的抽象同一对象在不同应用中具有不同的抽象 同一实体在不同分同一实体在不同分E-R图中所包含的属性个数和属性排图中所包含的属性个数和属性排列次序不完全相同列次序不完全相同 实体之间的联系在不同局部视图中呈现不同的类型实体之间的联系在不同局部视图中呈现不同的类型An Introduction to Database SystenmAn Introduction to Database Systenm二、消除不必要的冗余二

42、、消除不必要的冗余v基本任务基本任务 消除不必要的冗余,设计生成基本消除不必要的冗余,设计生成基本E-R图图合并合并初步初步E-R图图分分E-R图图可能存在冗余的数据可能存在冗余的数据和冗余的实体间联系和冗余的实体间联系基本基本E-R图图消除不必要的冗余消除不必要的冗余An Introduction to Database Systenm冗余的分析及消除办法冗余的分析及消除办法v冗余的数据是指可由基本数据导出的数据冗余的数据是指可由基本数据导出的数据v冗余的联系是指可由其他联系导出的联系冗余的联系是指可由其他联系导出的联系 冗余数据和冗余联系容易破坏数据库的完整性,给数冗余数据和冗余联系容易破

43、坏数据库的完整性,给数据库维护增加困难据库维护增加困难 消除不必要的冗余后的初步消除不必要的冗余后的初步E-R图称为基本图称为基本E-R图图v分析方法分析方法 以数据字典和数据流图为依据以数据字典和数据流图为依据 根据数据字典中关于数据项之间的逻辑关系根据数据字典中关于数据项之间的逻辑关系v规范化理论规范化理论 函数依赖的概念提供了消除冗余联系的形式化工具函数依赖的概念提供了消除冗余联系的形式化工具An Introduction to Database Systenmv2011-12-21 12班班An Introduction to Database Systenmv2011-12-21 3

44、4班班An Introduction to Database Systenm消除冗余,设计生成基本消除冗余,设计生成基本E-R图实例图实例例例3 3 某工厂管理信息系统的视图集成。某工厂管理信息系统的视图集成。 书中图书中图12.1712.17、图图12.2112.21、图、图12.2212.22分别为该分别为该厂物资、销售和劳动人事管理的分厂物资、销售和劳动人事管理的分E-RE-R图。图图。图12.2312.23为该系统的基本为该系统的基本E-RE-R图图An Introduction to Database Systenm物资管理分物资管理分E-R图图图图12.21 工厂物资管理工厂物资管

45、理E-R图图An Introduction to Database Systenm销售管理分销售管理分E-R图图图图12.17 销售管理子系统的分销售管理子系统的分E-R图图图图12.22 劳动人事管理的分劳动人事管理的分E-R图图图图12.23 12.23 某工厂管理信息系统的基本某工厂管理信息系统的基本E-R图图 An Introduction to Database Systenm集成解决的问题:集成解决的问题:v 异名同义,项目和产品含义相同异名同义,项目和产品含义相同v 库存管理中职工与仓库的工作关系已包含在劳动人事管理库存管理中职工与仓库的工作关系已包含在劳动人事管理的部门与职工之

46、间的联系之中,所以可以取消的部门与职工之间的联系之中,所以可以取消v 职工之间领导与被领导关系可由部门与职工(经理)之间职工之间领导与被领导关系可由部门与职工(经理)之间的领导关系、部门与职工之间的从属关系两者导出,所以的领导关系、部门与职工之间的从属关系两者导出,所以也可以取消也可以取消An Introduction to Database Systenm验证整体概念结构验证整体概念结构v 视图集成后形成一个整体的数据库概念结构,对该整体概视图集成后形成一个整体的数据库概念结构,对该整体概念结构还必须进行进一步验证,确保它能够满足下列条件:念结构还必须进行进一步验证,确保它能够满足下列条件:

47、 整体概念结构内部必须具有一致性,不存在互相矛盾的表达整体概念结构内部必须具有一致性,不存在互相矛盾的表达 整体概念结构能准确地反映原来的每个视图结构,包括属性、实体整体概念结构能准确地反映原来的每个视图结构,包括属性、实体及实体间的联系及实体间的联系 整体概念结构能满足需要分析阶段所确定的所有要求整体概念结构能满足需要分析阶段所确定的所有要求v 整体概念结构最终还应该提交给用户,征求用户和有关人整体概念结构最终还应该提交给用户,征求用户和有关人员的意见,进行评审、修改和优化,然后把它确定下来,员的意见,进行评审、修改和优化,然后把它确定下来,作为数据库的概念结构,作为进一步设计数据库的依据。

48、作为数据库的概念结构,作为进一步设计数据库的依据。An Introduction to Database Systenm12.3 12.3 逻辑结构设计逻辑结构设计v逻辑结构设计的任务逻辑结构设计的任务 把概念结构设计阶段设计好的基本把概念结构设计阶段设计好的基本E-R图转换为与选图转换为与选用用DBMS产品所支持的数据模型相符合的逻辑结构产品所支持的数据模型相符合的逻辑结构v逻辑结构设计的步骤逻辑结构设计的步骤 将概念结构转化为一般的关系、网状、层次模型将概念结构转化为一般的关系、网状、层次模型 将转换来的关系、网状、层次模型向特定将转换来的关系、网状、层次模型向特定DBMS支持支持下的数据

49、模型转换下的数据模型转换 对数据模型进行优化对数据模型进行优化An Introduction to Database Systenm 逻辑结构设计逻辑结构设计(续续)逻辑结构设计时的逻辑结构设计时的3个步骤个步骤 An Introduction to Database Systenm12.3.1 E-R图向关系模型的转换图向关系模型的转换vE-R图向关系模型的转换要解决的问题图向关系模型的转换要解决的问题 如何将实体型和实体间的联系转换为关系模式如何将实体型和实体间的联系转换为关系模式 如何确定这些关系模式的属性和码如何确定这些关系模式的属性和码 v转换内容转换内容 将将E-R图转换为关系模型

50、:将实体、实体的属性和图转换为关系模型:将实体、实体的属性和实体之间的联系转换为关系模式。实体之间的联系转换为关系模式。An Introduction to Database Systenm一、实体向关系模式转换的准则一、实体向关系模式转换的准则 一个实体转换为一个关系模式一个实体转换为一个关系模式 实体的属性就是关系模式的属性实体的属性就是关系模式的属性 实体的码就是关系模式的码。实体的码就是关系模式的码。An Introduction to Database Systenm二、联系转换为关系的准则二、联系转换为关系的准则(1)(1)一个一个1:11:1联系可以转换为一个独立的关系模式,也可

51、以与任意联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。一端对应的关系模式合并。(2)(2)一个一个1:n1:n联系可以转换为一个独立的关系模式,也可以与联系可以转换为一个独立的关系模式,也可以与n n端端对应的关系模式合并。对应的关系模式合并。(3) (3) 一个一个m:nm:n联系转换为一个关系模式,联系转换为一个关系模式,关系模式的码就是所关关系模式的码就是所关联实体的码的组合联实体的码的组合。例,例,“选修选修”联系是一个联系是一个m:nm:n联系,可以将它转换为如下关联系,可以将它转换为如下关系模式,其中学号与课程号为关系的组合码:系模式,其中学号与课程号为关系

52、的组合码:选修(选修(学号学号,课程号课程号,成绩),成绩)An Introduction to Database Systenm联系转换为关系的准则联系转换为关系的准则(续)(续)(4)(4)三个或三个以上实体间的一个三个或三个以上实体间的一个多元联系多元联系转换为一个关系模式。转换为一个关系模式。关系模式的码就是所关联实体的码的组合关系模式的码就是所关联实体的码的组合。例,例,“讲授讲授”联系是一个三元联系,可以将它转换为如下关联系是一个三元联系,可以将它转换为如下关系模式,其中课程号、职工号和书号为关系的组合码:系模式,其中课程号、职工号和书号为关系的组合码:讲授(讲授(课程号,职工号,

53、书号课程号,职工号,书号)(5)(5)具有具有相同码相同码的关系模式可合并的关系模式可合并 目的:减少系统中的关系个数目的:减少系统中的关系个数 合并方法:将其中一个关系模式的全部属性加入到另一个合并方法:将其中一个关系模式的全部属性加入到另一个关系模式中,然后去掉其中的同义属性,并适当调整属性关系模式中,然后去掉其中的同义属性,并适当调整属性的次序的次序An Introduction to Database SystenmE-R图向关系模型的转换实例图向关系模型的转换实例例例4 4 把图把图12.23中虚线上部的中虚线上部的E-R图转换为关系模型图转换为关系模型 v实体直接转化为关系模式实体

54、直接转化为关系模式 部门(部门(部门号部门号,部门名,经理的职工号,部门名,经理的职工号,) 职工(职工(职工号职工号、部门号,、部门号,职工名职工名,职务,职务,) 产品(产品(产品号产品号,产品名,产品名,产品组长的职工号产品组长的职工号,) 供应商(供应商(供应商号供应商号,姓名,姓名,) 零件(零件(零件号零件号,零件名,零件名,)v将将m:nm:n联系转化为关系模式联系转化为关系模式 职工工作(职工工作(职工号,产品号职工号,产品号,工作天数,工作天数,) 供应(供应(产品号,供应商号,零件号产品号,供应商号,零件号,供应量),供应量)An Introduction to Datab

55、ase Systenm12.3.2 数据模型的优化数据模型的优化v得到初步数据模型后,还应该适当地修改、调整得到初步数据模型后,还应该适当地修改、调整数据模型的结构,以进一步提高数据库应用系统数据模型的结构,以进一步提高数据库应用系统的性能,这就是的性能,这就是数据模型的优化数据模型的优化v关系数据模型的优化通常以关系数据模型的优化通常以规范化理论规范化理论为指导为指导An Introduction to Database Systenm优化数据模型的方法优化数据模型的方法1. 1. 确定数据依赖确定数据依赖按需求分析阶段所得到的语义,分别写出每个关系模式内部各按需求分析阶段所得到的语义,分别

56、写出每个关系模式内部各属性之间的数据依赖以及不同关系模式属性之间数据依赖属性之间的数据依赖以及不同关系模式属性之间数据依赖2. 2. 消除冗余的联系消除冗余的联系对于各个关系模式之间的数据依赖进行极小化处理,消除对于各个关系模式之间的数据依赖进行极小化处理,消除 冗余冗余的联系。的联系。3. 3. 确定所属范式确定所属范式按照数据依赖的理论对关系模式逐一进行分析按照数据依赖的理论对关系模式逐一进行分析考查是否存在部分函数依赖、传递函数依赖、多值依赖等考查是否存在部分函数依赖、传递函数依赖、多值依赖等确定各关系模式分别属于第几范式确定各关系模式分别属于第几范式并不是规范化程度越高的关系就越优,一

57、般说来,第三范式就足并不是规范化程度越高的关系就越优,一般说来,第三范式就足够了够了An Introduction to Database Systenm数据模型的优化实例数据模型的优化实例例:例:在关系模式在关系模式 学生成绩单学生成绩单(学号学号,英语英语,数学数学,语文语文,平均成绩平均成绩) 中存在下列函数依赖:中存在下列函数依赖: 学号学号英语英语 学号学号数学数学 学号学号语文语文 学号学号平均成绩平均成绩 (英语英语, 数学数学, 语文语文)平均成绩平均成绩An Introduction to Database Systenm数据模型的优化实例(续)数据模型的优化实例(续) 显然

58、有:显然有: 学号学号(英语英语,数学数学,语文语文)因此该关系模式中存在传递函数信赖,是因此该关系模式中存在传递函数信赖,是2NF关系关系 虽然平均成绩可以由其他属性推算出来,但如果应虽然平均成绩可以由其他属性推算出来,但如果应用中需要经常查询学生的平均成绩,为提高效率,用中需要经常查询学生的平均成绩,为提高效率,仍然可保留该冗余数据,对关系模式不再做进一步仍然可保留该冗余数据,对关系模式不再做进一步分解分解An Introduction to Database Systenm数据模型的优化(续)数据模型的优化(续)4. 4. 按照需求分析阶段得到的各种应用对数据处理的按照需求分析阶段得到的

59、各种应用对数据处理的要求,对关系模式进行必要的分解,以提高数要求,对关系模式进行必要的分解,以提高数据操作的效率和存储空间的利用率据操作的效率和存储空间的利用率 常用分解方法常用分解方法水平分解水平分解垂直分解垂直分解An Introduction to Database Systenm水平分解水平分解什么是水平分解什么是水平分解 把把( (基本基本) )关系的元组分为若干子集合,定义关系的元组分为若干子集合,定义每个子集合为一个子关系,以提高系统的效每个子集合为一个子关系,以提高系统的效率率例如:例如:住宿管理系统将住宿管理系统将学生实体集学生实体集水平分解为水平分解为女生实体女生实体集集和

60、和男生实体集男生实体集An Introduction to Database Systenm垂直分解垂直分解v垂直分解垂直分解( (见下图例子见下图例子) ) 什么是垂直分解什么是垂直分解 把关系模式把关系模式R的属性分解为若干子集合,形成若干子关的属性分解为若干子集合,形成若干子关系模式系模式 垂直分解的适用范围垂直分解的适用范围 取决于分解后取决于分解后R上的所有事务的总效率是否得到了提高上的所有事务的总效率是否得到了提高An Introduction to Database SystenmAn Introduction to Database Systenm12.3.3 设计用户子模式设

温馨提示

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

评论

0/150

提交评论