《数据库系统概论PPT教程第六章数据库设计》由会员分享,可在线阅读,更多相关《数据库系统概论PPT教程第六章数据库设计(75页珍藏版)》请在金锄头文库上搜索。
1、第六章第六章数据库设计数据库设计数据库设计概述数据库设计概述4数据库设计是指对于一个给定的应用领域,构数据库设计是指对于一个给定的应用领域,构造最优的数据库模式,建立数据库及其应用系造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)数据操作的应用需求(信息要求和处理要求)数据操作需求,有效地支持各种应用系统的开发和运行。需求,有效地支持各种应用系统的开发和运行。数据库设计概述数据库设计概述4数据库设计的关键是构造合理的数据模数据库设计的关键是构造合理的数据模型。这个数据模型型。这个数据模型要较
2、好地反映现实世界信息、信息之间的联要较好地反映现实世界信息、信息之间的联系,系,能反映出使用者对数据的需求和操作特点,能反映出使用者对数据的需求和操作特点,能方便地在某个选定的能方便地在某个选定的DBMS支持下实现。支持下实现。数据库设计的特点数据库设计的特点4数据库设计与硬件、软件和干件紧密相数据库设计与硬件、软件和干件紧密相关。关。4数据库设计要把结构(数据)设计和行数据库设计要把结构(数据)设计和行为(处理)设计密切结合起来。为(处理)设计密切结合起来。数据库设计的方法数据库设计的方法4手工试凑方法手工试凑方法4规范化设计方法规范化设计方法4自动数据库设计工具自动数据库设计工具数据库设计
3、的方法数据库设计的方法4手工试凑方法手工试凑方法数据要求数据要求数据要求数据处理要求数据处理要求关系数据库模式数据库设计的方法数据库设计的方法4手工试凑方法的缺点手工试凑方法的缺点现在数据库的数据量大,数据间关系复杂,用户众现在数据库的数据量大,数据间关系复杂,用户众多,使用要求各式各样,很难仅凭经验进行设计。多,使用要求各式各样,很难仅凭经验进行设计。直接设计把数据的逻辑结构,物理结构、处理要求直接设计把数据的逻辑结构,物理结构、处理要求等一起考虑,很难对模式进行评价和优化。用户需等一起考虑,很难对模式进行评价和优化。用户需求一旦发生变化,数据结构很难随之发生变化。求一旦发生变化,数据结构很
4、难随之发生变化。数据库设计与具体的数据库设计与具体的DBMS紧密结合,移植困难。紧密结合,移植困难。缺乏文档资料,难于与用户交流,对设计难于评审,缺乏文档资料,难于与用户交流,对设计难于评审,往往到运行中才能发现问题。往往到运行中才能发现问题。难以由多个人合作进行设计。难以由多个人合作进行设计。数据库设计的方法数据库设计的方法4规范化设计方法规范化设计方法规范化设计方法认为数据库设计涉及了很多规范化设计方法认为数据库设计涉及了很多问题,每类问题有其不同的自然论域。规范问题,每类问题有其不同的自然论域。规范化设计方法依据软件工程的思想,把整个设化设计方法依据软件工程的思想,把整个设计过程划分为若
5、干阶段,把数据库设计这一计过程划分为若干阶段,把数据库设计这一复杂的大问题分为若干相对简单的小问题,复杂的大问题分为若干相对简单的小问题,每个阶段只解决整个设计中的部分问题。整每个阶段只解决整个设计中的部分问题。整个设计方法是迭代过程,每一过程完成时要个设计方法是迭代过程,每一过程完成时要进行设计分析,产生各种设计文档,并组织进行设计分析,产生各种设计文档,并组织评审和用户交流,如不满足要求则进行修改。评审和用户交流,如不满足要求则进行修改。数据库的生命周期数据库的生命周期4需求分析需求分析4概念结构设计概念结构设计4逻辑结构设计逻辑结构设计4物理结构设计物理结构设计4数据库的实施数据库的实施
6、4数据库运行与维护数据库运行与维护规范化设计的特点规范化设计的特点4反复性反复性数据库设计不可能数据库设计不可能“一气呵成一气呵成”,需要反复推敲和,需要反复推敲和修改才能完成。前阶段的设计是后阶段设计的基础修改才能完成。前阶段的设计是后阶段设计的基础和起点,但后阶段也可向前阶段反馈其要求,如此和起点,但后阶段也可向前阶段反馈其要求,如此反复修改,以臻完善。反复修改,以臻完善。4试探性试探性数据库设计结果一般不是唯一的。设计的过程是个数据库设计结果一般不是唯一的。设计的过程是个试探的过程。在设计过程中,有各式各样的要求和试探的过程。在设计过程中,有各式各样的要求和制约因素,它们之间往往是矛盾的
7、。数据库的设计制约因素,它们之间往往是矛盾的。数据库的设计很难说是最佳的,常常得之于东,而失之于西,何很难说是最佳的,常常得之于东,而失之于西,何去何从取决于数据库设计者的权衡和单位的决策。去何从取决于数据库设计者的权衡和单位的决策。规范化设计的特点规范化设计的特点4分步进行分步进行数据库设计常常由不同的人员分阶段进行。这样做,数据库设计常常由不同的人员分阶段进行。这样做,一是由于技术上分工的需要,二是为了分段把关,一是由于技术上分工的需要,二是为了分段把关,逐级审查,保证设计的质量和进度。逐级审查,保证设计的质量和进度。需求分析需求分析4需求分析的任务是通过详细调查现实世需求分析的任务是通过
8、详细调查现实世界要处理的对象(组织、部门、企业等)界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机,充分了解原系统(手工系统或计算机系统)的工作情况,明确用户的各种需系统)的工作情况,明确用户的各种需求,并预测系统今后可能的扩充和改变,求,并预测系统今后可能的扩充和改变,然后在此基础上确定新系统的功能。然后在此基础上确定新系统的功能。需求分析需求分析4调查的重点是调查的重点是“数据数据”和和“处理处理”,包,包括:括:信息要求,指用户需要从数据库中获得的信信息要求,指用户需要从数据库中获得的信息的内容与性质。从中可以导出数据要求。息的内容与性质。从中可以导出数据要求。处理
9、要求,指用户要完成什么处理功能,对处理要求,指用户要完成什么处理功能,对处理的响应时间和处理方式的要求。处理的响应时间和处理方式的要求。安全性与完整性的要求安全性与完整性的要求需求分析的具体步骤需求分析的具体步骤4调查组织机构情况调查组织机构情况4调查各部门的业务活动情况调查各部门的业务活动情况4在熟悉了业务活动的基础上,协助用户在熟悉了业务活动的基础上,协助用户明确对新系统的各种要求,包括信息要明确对新系统的各种要求,包括信息要求、处理要求、完整性与安全性要求。求、处理要求、完整性与安全性要求。4确定新系统的边界确定新系统的边界4预测系统的未来改变预测系统的未来改变4强调用户参与强调用户参与
10、数据字典数据字典4数据字典是系统中各类数据描述的集合,数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获是进行详细的数据收集和数据分析所获得的主要成果。得的主要成果。4数据字典包括:数据字典包括:数据项数据项数据结构数据结构数据流数据流数据存储数据存储处理过程处理过程数据字典数据字典4数据项描述数据项描述数据项名,数据项含义说明,别名,数据类型,数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其它数据项的逻辑长度,取值范围,取值含义,与其它数据项的逻辑关系,数据项之间的联系关系,数据项之间的联系4数据结构描述数据结构描述数据结构名,含义说明,组成:数据
11、结构名,含义说明,组成:数据项或数据结数据项或数据结构构4数据流描述数据流描述数据流名,说明,数据流来源,数据流去向,组数据流名,说明,数据流来源,数据流去向,组成:成:数据结构数据结构,平均流量,高峰期流量,平均流量,高峰期流量数据字典数据字典4数据存储描述数据存储描述 数据存储名,说明,编号,输入的数据流,输出数据存储名,说明,编号,输入的数据流,输出的数据流,组成的数据流,组成 数据结构数据结构 ,数据量,存取频度,数据量,存取频度,存取方式存取方式 4处理过程描述处理过程描述 处理过程名,说明,输入:处理过程名,说明,输入: 数据流数据流 ,输出:输出: 数数据流据流 ,处理:处理:
12、简要说明简要说明预测现行系统的未来改变预测现行系统的未来改变4现行系统的未来改变信息是其他数据库设计阶现行系统的未来改变信息是其他数据库设计阶段的参考信息。通过这些信息,我们可以考虑段的参考信息。通过这些信息,我们可以考虑使最终数据库尽量适应未来改变,减少将来为使最终数据库尽量适应未来改变,减少将来为适应改变而引起的数据库修改或重新设计,使适应改变而引起的数据库修改或重新设计,使数据库具有较好的适用性。数据库具有较好的适用性。应用领域中已有的,但目前尚未被数据库系统支持应用领域中已有的,但目前尚未被数据库系统支持的应用。的应用。应用领域中各种应用功能可能的扩充、减少和改变。应用领域中各种应用功
13、能可能的扩充、减少和改变。应用领域的上述改变对数据库支持的信息和应用范应用领域的上述改变对数据库支持的信息和应用范围、数据项定义、数据项之间的关系和数据库操作围、数据项定义、数据项之间的关系和数据库操作任务的影响。任务的影响。强调用户的参与强调用户的参与4设计人员应当与用户对于需求形成共同设计人员应当与用户对于需求形成共同的理解,并共同确保数据库的设计正确的理解,并共同确保数据库的设计正确表达和解决了用户的需求,对设计工作表达和解决了用户的需求,对设计工作的结果承担共同的责任。的结果承担共同的责任。概念结构设计概念结构设计4将需求分析得到的用户需求抽象成为信将需求分析得到的用户需求抽象成为信息
14、结构即概念模型的过程就是概念结构息结构即概念模型的过程就是概念结构设计。设计。概念结构的特点概念结构的特点4能能真实、充分地反映现实世界,包括事物和事真实、充分地反映现实世界,包括事物和事物之间地联系,能满足用户对数据处理地要求。物之间地联系,能满足用户对数据处理地要求。4易于理解,从而可以用它和不熟悉计算机的用易于理解,从而可以用它和不熟悉计算机的用户交换意见。户交换意见。4易于更改,当应用环境和应用要求发生改变时,易于更改,当应用环境和应用要求发生改变时,容易对其进行修改和扩充。容易对其进行修改和扩充。4易于向关系、网状、层次等各种数据模型转换易于向关系、网状、层次等各种数据模型转换分析用
15、户需求分析用户需求4根据需求分析的结果,对应用领域进行根据需求分析的结果,对应用领域进行分析,抽象出下列信息:分析,抽象出下列信息:应用领域的流动信息的定义。应用领域的流动信息的定义。应用领域的存储信息的定义。应用领域的存储信息的定义。应用领域中各种流动信息的起点和源点。应用领域中各种流动信息的起点和源点。应用领域的各种应用的定义,包括输入信息,应用领域的各种应用的定义,包括输入信息,输出信息和应用功能的定义。输出信息和应用功能的定义。上述四者之间的联系的定义。上述四者之间的联系的定义。定义数据库系统支持的信息与应用定义数据库系统支持的信息与应用4应用定义的目的是确定最终数据库支持应用定义的目
16、的是确定最终数据库支持哪些应用系统。应用领域的逻辑模型是哪些应用系统。应用领域的逻辑模型是应用定义的基础应用定义的基础考察数据流图中每个数据处理应用,确定我考察数据流图中每个数据处理应用,确定我们正在设计的数据库是否应该而且可能支持们正在设计的数据库是否应该而且可能支持这个应用。这个应用。对于步骤一确定的每个数据库系统应该支持对于步骤一确定的每个数据库系统应该支持的应用进行严格定义,内容包括:应用名,的应用进行严格定义,内容包括:应用名,处理功能,输入信息和输出信息处理功能,输入信息和输出信息。定义数据库系统支持的信息与应用定义数据库系统支持的信息与应用4信息定义的目的是确定最终数据库需要信息
17、定义的目的是确定最终数据库需要存储哪些信息。信息的定义也以应用领存储哪些信息。信息的定义也以应用领域的逻辑模型为基础。域的逻辑模型为基础。考察数据流图中每个存储信息,确定其是否考察数据流图中每个存储信息,确定其是否应该而且可能由数据库存储。应该而且可能由数据库存储。对于步骤一确定的每个需要数据库存储的信对于步骤一确定的每个需要数据库存储的信息进行严格定义,内容包括:信息名、内容息进行严格定义,内容包括:信息名、内容定义、产生该信息的应用和引用该信息的应定义、产生该信息的应用和引用该信息的应用用。概念结构设计的策略概念结构设计的策略4自顶向下自顶向下首先定义全局概念结构的框架,然后逐步细化。首先
18、定义全局概念结构的框架,然后逐步细化。需求全局概念模式概念模式概念模式概念模式概念模式概念模式概念模式概念设计的策略概念设计的策略4自底向上自底向上首先定义各局部应用的概念结构,然后将它们集成首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构。起来,得到全局概念结构。子需求全局概念模式概念模式概念模式概念模式概念模式概念模式概念模式子需求子需求子需求概念设计的策略概念设计的策略4逐步扩张逐步扩张首先定义最重要的核心概念结构,然后向外扩充,首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体以滚雪球的方式逐步生成其他概念结构,直至总体概念结构。
19、概念结构。核心需求需求核心概念结构全局概念结构概念设计的策略概念设计的策略4混合策略混合策略即将自顶向下和自底向上相结合,用自顶向即将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它下策略设计一个全局概念结构的框架,以它为骨架集成用自底向上策略设计的各局部概为骨架集成用自底向上策略设计的各局部概念结构。念结构。概念设计的策略概念设计的策略需求需求需求需求需求需求需求概念模式1.1概念模式1.2概念模式n.1概念模式n.2概念模式1概念模式n全局概念模式视图综合设计方法视图综合设计方法4视图综合设计方法分为两步:视图综合设计方法分为两步:设计局部概念结构设计局部概念结构把
20、局部概念结构合并为一个全局概念把局部概念结构合并为一个全局概念结构结构。局部视图设计局部视图设计4选择局部应用选择局部应用根据某个系统的具体情况,在多层的数据流根据某个系统的具体情况,在多层的数据流图中选择一个适当层次的数据流图,作为设图中选择一个适当层次的数据流图,作为设计计分分ER图的出发点。图的出发点。4逐一设计分逐一设计分ER图图选择好局部应用之后,就要对每个局部应用选择好局部应用之后,就要对每个局部应用逐一设计逐一设计分分ER图。图。局部视图设计局部视图设计4确定局部实体。确定局部实体。4确定局部实体之间的联系(包括超类确定局部实体之间的联系(包括超类/子子类联系)。类联系)。4构造
21、局部构造局部ER图。图。局部视图设计局部视图设计4局部视图设计的关键在于实体和属性的正确划局部视图设计的关键在于实体和属性的正确划分。其主要手段为:分。其主要手段为:分类分类定义某一概念作为现实世界中一组对象的类型。这些对象定义某一概念作为现实世界中一组对象的类型。这些对象具有某些共同的特性和行为。它抽象了对象值和型之间的具有某些共同的特性和行为。它抽象了对象值和型之间的“is member of”的语义的语义。聚集聚集定义某一类型的组成成分,它抽象了对象内部类型和成分定义某一类型的组成成分,它抽象了对象内部类型和成分之间之间“is part of”的语义。的语义。概括概括定义类型之间的一种子
22、集联系,它抽象了类型之间的定义类型之间的一种子集联系,它抽象了类型之间的“is subset of”的语义。的语义。实体与属性实体与属性4实体与属性划分的两条准则:实体与属性划分的两条准则:作为属性,不能再具有需要描述的性质。属作为属性,不能再具有需要描述的性质。属性必须是不可分的数据项,不能包含其他属性必须是不可分的数据项,不能包含其他属性。性。属性不能与其他实体具有联系,属性不能与其他实体具有联系,即即ER图中图中所表示的联系是实体之间的联系。所表示的联系是实体之间的联系。实体与属性实体与属性职工职工号年龄姓名职称职工职工号年龄姓名聘任职称职称代码住房标准工资福利n1实体与属性实体与属性病
23、人住院号姓名住在病房病人住院号病房号姓名病房号主管医生局部局部ER图设计图设计产品组装零件编号性能产品名零件数零件号材料名零件名耗用量mn生产部门的局部ER图产品使用材料产品号价格产品名用量材料号价格材料名库存量mn供应部门的局部ER图仓库视图的集成视图的集成4视图的集成可以有两种方法:视图的集成可以有两种方法:多个局部多个局部ER图一次集成图一次集成逐步集成,用累加的方式一次集成两个逐步集成,用累加的方式一次集成两个分分ER图。图。一次集成一次集成ER图1ER图2ER图n初步ER图基本ER图逐步集成逐步集成ER图1ER图2ER图3ER图12基本ER图初步ER图集成局部集成局部ER图的步骤图的
24、步骤4合并合并解决各局部解决各局部ER图之间的冲突,将各局部图之间的冲突,将各局部ER图合并起来生成初步图合并起来生成初步ER图。图。4修改和重构修改和重构消除不必要的冗余,生成基本消除不必要的冗余,生成基本ER图。图。全局概念模式合成全局概念模式合成4识别局部识别局部ER图间的冲突图间的冲突4修改局部修改局部ER图图4局部局部ER图合并图合并识别局部概念模式间的冲突识别局部概念模式间的冲突4各个局部应用所面向的问题不同,通常是由不各个局部应用所面向的问题不同,通常是由不同的设计人员进行局部同的设计人员进行局部ER图设计,所以各个局图设计,所以各个局部部ER图中必定存在许多不一致的地方,称之为
25、图中必定存在许多不一致的地方,称之为冲突。合理消除冲突。合理消除各各局部局部ER图的冲突时合并局部图的冲突时合并局部ER图的关键。各局部模式之间的冲突主要有:图的关键。各局部模式之间的冲突主要有:命名冲突命名冲突结构冲突结构冲突值域冲突值域冲突约束冲突约束冲突命名冲突命名冲突4同名异义同名异义即同一名字在不同的局部即同一名字在不同的局部ER图中表示不同的概念。图中表示不同的概念。如如“编号编号”这一名字在学生实体中表示学号,而在这一名字在学生实体中表示学号,而在课程实体中表示课程号。课程实体中表示课程号。4异名同义异名同义即同一个概念在不同的局部即同一个概念在不同的局部ER图中使用了不同的名图
26、中使用了不同的名字。如在一个局部字。如在一个局部ER图中学生实体有图中学生实体有“何时入学何时入学”这一个属性,在另一个局部这一个属性,在另一个局部ER图中学生实体有图中学生实体有“入入学时间学时间”这一属性,两者是同名异义。这一属性,两者是同名异义。结构冲突结构冲突4结构冲突是模式结构的冲突。它指相同结构冲突是模式结构的冲突。它指相同的概念在不同的局部的概念在不同的局部ER图中使用不同的图中使用不同的概念结构来表示。概念结构来表示。同一对象在不同的局部同一对象在不同的局部ER图中具有不同的图中具有不同的抽象。如抽象。如“系系”在一个局部在一个局部ER图中被表示图中被表示为一个实体,而在另一个
27、局部为一个实体,而在另一个局部ER中则被表中则被表示为一个属性或联系。示为一个属性或联系。同一实体在不同的局部同一实体在不同的局部ER图中所包含的属图中所包含的属性个数和属性的排列次序不完全相同。性个数和属性的排列次序不完全相同。值域冲突值域冲突4指同一个属性在不同的局部指同一个属性在不同的局部ER图中具有图中具有不同的值域定义。不同的值域定义。属性域冲突,即属性的类型、取值范围或取属性域冲突,即属性的类型、取值范围或取值集合不同。如属性值集合不同。如属性“编号编号”在一个局部模在一个局部模式中定义为整数型,而在另一个局部模式中式中定义为整数型,而在另一个局部模式中定义为字符型。定义为字符型。
28、属性取值单位冲突,如数型属性取值单位冲突,如数型“身高身高”在一个在一个局部模式以局部模式以“厘米厘米”为单位,在另一个局部为单位,在另一个局部模式中以模式中以“米米”为单位。为单位。约束冲突约束冲突4这种冲突指两个局部模式在同一个概念这种冲突指两个局部模式在同一个概念上定义了不同的约束。如在两个模式中,上定义了不同的约束。如在两个模式中,同一个实体的键不同;又如对于选课这同一个实体的键不同;又如对于选课这个联系,大学生和研究生对选课的最少个联系,大学生和研究生对选课的最少门数和最多门数可能不一样。门数和最多门数可能不一样。总体总体ER图设计图设计使用材料价格用量材料号价格材料名库存量mn仓库
29、产品组装零件产品号性能产品名零件数耗用量mn零件号 零件名消耗n1修改和重构修改和重构4在初步在初步ERER图中,可能存在一些冗余的数据和实图中,可能存在一些冗余的数据和实体间冗余的联系。所谓冗余的数据是指可由基体间冗余的联系。所谓冗余的数据是指可由基本数据导出的数据,冗余的联系是指可由其他本数据导出的数据,冗余的联系是指可由其他联系导出的联系。冗余数据和冗余的联系容易联系导出的联系。冗余数据和冗余的联系容易破坏数据库的完整性,应当予以消除。消除了破坏数据库的完整性,应当予以消除。消除了冗余后的初步冗余后的初步ERER图称为基本图称为基本ERER图。消除冗余主图。消除冗余主要采用分析方法,即以
30、数据字典和数据流图为要采用分析方法,即以数据字典和数据流图为依据,根据数据字典中关于数据项之间的逻辑依据,根据数据字典中关于数据项之间的逻辑关系的说明来消除冗余。关系的说明来消除冗余。基本基本ER图图材料价格材料号价格材料名库存量m仓库产品组装零件产品号性能产品名零件数耗用量mn零件号 零件名消耗n1事务设计事务设计4数据库设计的目的是支持各种事务的运数据库设计的目的是支持各种事务的运行。在数据库的设计中,需要考虑所有行。在数据库的设计中,需要考虑所有事务的特点和要求,这样才能保证所设事务的特点和要求,这样才能保证所设计的数据库包含的各种事务所需要的信计的数据库包含的各种事务所需要的信息。在概
31、念数据库设计阶段,事务设计息。在概念数据库设计阶段,事务设计的任务是定义事务的功能,其方法是说的任务是定义事务的功能,其方法是说明事务的输入、输出信息和功能。事务明事务的输入、输出信息和功能。事务可以分为三类:数据查询型事务,数据可以分为三类:数据查询型事务,数据更新型事务,混合型事务。更新型事务,混合型事务。逻辑结构设计逻辑结构设计4逻辑结构设计的任务是把概念结构设计逻辑结构设计的任务是把概念结构设计阶段设计好的基本阶段设计好的基本ER图转换为与选用的图转换为与选用的DBMS所支持的数据模型相符合的逻辑所支持的数据模型相符合的逻辑结构。逻辑结构设计的目标包括:结构。逻辑结构设计的目标包括:满
32、足用户的完整性和安全性要求。满足用户的完整性和安全性要求。动态关系至少满足第三范式,静态关系至少满足第动态关系至少满足第三范式,静态关系至少满足第一范式。一范式。能够在逻辑级上高效率地支持各种数据库事务的运能够在逻辑级上高效率地支持各种数据库事务的运行。行。存储空间利用率高。存储空间利用率高。逻辑结构设计的步骤逻辑结构设计的步骤4形成初始关系数据库模式形成初始关系数据库模式4关系模式规范化关系模式规范化4关系模式优化关系模式优化4定义关系上的完整性和安全性约束定义关系上的完整性和安全性约束4子模式定义子模式定义4性能估计性能估计形成初始关系数据库模式形成初始关系数据库模式4初始关系数据库模式是
33、指直接由概念结初始关系数据库模式是指直接由概念结构设计的结果生成的关系数据库模式。构设计的结果生成的关系数据库模式。初始数据库模式生成的目的是把初始数据库模式生成的目的是把ER图中图中的实体、实体间的联系等变换为关系模的实体、实体间的联系等变换为关系模式。式。实体型的转换实体型的转换4直接将一个实体型转化为一个关系模式,直接将一个实体型转化为一个关系模式,实体的属性就是关系的属性,实体的码实体的属性就是关系的属性,实体的码就是关系的码。就是关系的码。实体间联系的转换实体间联系的转换41:1联系可以直接转换为一个独立的关系模式,联系可以直接转换为一个独立的关系模式,也可以与任意一端对应的关系模式
34、合并。如果也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。系的属性,每个实体的码均是该关系的候选码。如果与某一端的实体所对应的关系模式合并,如果与某一端的实体所对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。模式的码和联系本身的属性。实体间联系的变换实体间联系的变换可转换为以下关系模式可转换为以下关系模式E1(A,B,C)E2
35、(D,E,F,G)R(A,D,H) 或者或者R(A,D,H) 或:或:E1 (A,B,C,D,H)E2(D,E,F,G)E1ABCE2DFGER11H实体间联系的变换实体间联系的变换或:或:E1(A,B,C)E2(D,E,F,G,A,H)实体间联系的转换实体间联系的转换41 1:N N联系可以直接转换为一个独立的关联系可以直接转换为一个独立的关系模式,也可以与系模式,也可以与n n端对应的关系模式合端对应的关系模式合并。如果转换为一个独立的关系模式,并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关本身的属性
36、均转换为关系的属性,而关系的码为系的码为n n端实体的码。端实体的码。实体间联系的变换实体间联系的变换可转换为以下关系模式可转换为以下关系模式E1(A,B,C)E2(D,E,F,G)R(A,D,H)或:或:E1(A,B,C)E2(D,E,F,G,A,H)E1ABCE2DFGER1NH实体间联系的转换实体间联系的转换4M M:N N联系转换为一个独立的关系模式,联系转换为一个独立的关系模式,与该联系相连的各实体的码以及联系本与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系身的属性均转换为关系的属性,而关系的码为各实体码的组合。的码为各实体码的组合。4三个或三个以上实体间的一个
37、多元联系三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为性均转换为关系的属性,而关系的码为各实体码的组合。各实体码的组合。实体间联系的变换实体间联系的变换只能转换为以下关系模式只能转换为以下关系模式R(A,D,H)E1ABCE2DFGERMNH实体间联系的转换实体间联系的转换4可将三元联系供应转化为以下关系模式:可将三元联系供应转化为以下关系模式:供应(供应(项目编号,供应商号,零件号项目编号,供应商号,零件号,供应,供应量)量)供应商项目
38、零件供应供应量关系模式的规范化关系模式的规范化4确定函数依赖确定函数依赖4对对于于各各个个关关系系模模式式之之间间的的数数据据依依赖赖进进行行极极小小化化处处理理,消除冗余联系。消除冗余联系。4按按照照数数据据依依赖赖的的理理论论对对关关系系模模式式逐逐一一进进行行分分析析,对对其其进行规范化处理。进行规范化处理。4按按照照需需求求分分析析阶阶段段得得到到的的处处理理要要求求,分分析析这这些些关关系系模模式式对对于于这这样样的的应应用用环环境境是是否否合合适适,是是否否要要对对某某些些模模式式进行合并或分解。进行合并或分解。关系模式的优化关系模式的优化4在数据库设计中,并非关系的规范化程度越高
39、在数据库设计中,并非关系的规范化程度越高越好,因为在数据库的设计中不仅应当考虑数越好,因为在数据库的设计中不仅应当考虑数据本身的特点,还需要考虑应用的要求。规范据本身的特点,还需要考虑应用的要求。规范化的主要方法是通过模式分解进行的,规范化化的主要方法是通过模式分解进行的,规范化程度越高通常也意味着分解产生的关系越多,程度越高通常也意味着分解产生的关系越多,当查询这些关系时需要进行的连接操作也就越当查询这些关系时需要进行的连接操作也就越多,从而会影响到系统的效率。因此,必须根多,从而会影响到系统的效率。因此,必须根据应用的特点对数据库设计进行优化,对关系据应用的特点对数据库设计进行优化,对关系
40、模式进行必要的分解,提高数据操作的效率和模式进行必要的分解,提高数据操作的效率和存储空间的利用率。常用的两种分解方法是水存储空间的利用率。常用的两种分解方法是水平分解和垂直分解。平分解和垂直分解。关系模式的优化关系模式的优化4优化关系模式的两种方法:优化关系模式的两种方法:水平分解水平分解 是把关系的元组分为若干子集合,定义每个是把关系的元组分为若干子集合,定义每个子集合为一个子关系,以提高系统效率。根子集合为一个子关系,以提高系统效率。根据据80/20原则,原则, 在一个大关系中,经常被使用在一个大关系中,经常被使用的数据只是关系的一个部分,则可以把经常的数据只是关系的一个部分,则可以把经常
41、使用的那一部分数据分解出来作为一个关系,使用的那一部分数据分解出来作为一个关系,其他数据作为另一个关系。如果关系其他数据作为另一个关系。如果关系R上具有上具有n个事务,而且多数事务存取的数据不相交,个事务,而且多数事务存取的数据不相交,则则R可以分解为少于或等于可以分解为少于或等于n个子关系。个子关系。关系模式的优化关系模式的优化4垂直分解垂直分解是把关系模式是把关系模式R的属性分解为若干子集合,的属性分解为若干子集合,形成若干子关系模式。垂直分解的原则是,形成若干子关系模式。垂直分解的原则是,经常在一起使用的属性从经常在一起使用的属性从R中分解出来形成中分解出来形成一个子关系模式。垂直分解必
42、须确保无损连一个子关系模式。垂直分解必须确保无损连接性和保持函数依赖。接性和保持函数依赖。逆逆规范化规范化4连接操作代价很高,是造成关系数据库连接操作代价很高,是造成关系数据库低效的主要原因之一。如果经常需要对低效的主要原因之一。如果经常需要对多个关系进行连接操作,且大多数操作多个关系进行连接操作,且大多数操作为查询操作,更新很少,则可以考虑将为查询操作,更新很少,则可以考虑将这些关系合并为一个关系,从而提高查这些关系合并为一个关系,从而提高查询效率。询效率。设计子模式设计子模式4将概念模型转换为全局模型后,还应根据局部将概念模型转换为全局模型后,还应根据局部应用的需求,结合具体应用的需求,结
43、合具体DBMS的特点,设计用的特点,设计用户外模式。由于用户外模式与全局模式是相对户外模式。由于用户外模式与全局模式是相对独立的,因此定义用户外模式时可以注重考虑独立的,因此定义用户外模式时可以注重考虑用户的习惯和方便。包括:用户的习惯和方便。包括:使用更符合用户习惯的别名使用更符合用户习惯的别名可以对不同级别的用户定义不同的可以对不同级别的用户定义不同的View,以保证系以保证系统的安全性。统的安全性。简化用户对系统的使用。简化用户对系统的使用。数据库物理设计数据库物理设计4数据库在物理设备上的存储结构和存取数据库在物理设备上的存储结构和存取方法称为数据库的物理结构。为一个给方法称为数据库的
44、物理结构。为一个给定的逻辑模型选取一个最合适应用要求定的逻辑模型选取一个最合适应用要求的物理结构的过程,就是数据库物理设的物理结构的过程,就是数据库物理设计。计。数据库物理设计的内容和方法数据库物理设计的内容和方法4了解应用的类型和特点了解应用的类型和特点4了解所用的了解所用的RDBMS提供了哪些存取方法提供了哪些存取方法和存储结构和存储结构关系存取方法的选择关系存取方法的选择4索引存取方法索引存取方法经常在查询条件中出现的属性,应为其建立经常在查询条件中出现的属性,应为其建立索引。索引。经常作为最大值和最小值等聚集函数参数的经常作为最大值和最小值等聚集函数参数的属性,应为其建立索引。属性,应
45、为其建立索引。经常在连接条件中出现的属性,应为其建立经常在连接条件中出现的属性,应为其建立索引。索引。关系存取方法的选择关系存取方法的选择4聚簇存取方法聚簇存取方法聚簇存取方法将相关的数据存放在连续的物聚簇存取方法将相关的数据存放在连续的物理块中,从而提供查询的效率。理块中,从而提供查询的效率。设计聚簇的原则设计聚簇的原则对经常在一起进行连接操作的关系可以建立聚簇。对经常在一起进行连接操作的关系可以建立聚簇。如果一个关系的一个(或一组)属性经常出现在如果一个关系的一个(或一组)属性经常出现在相等比较条件中,则该单个关系可建立聚簇。相等比较条件中,则该单个关系可建立聚簇。如果一个关系的一个(或一
46、组)属性上的值重复如果一个关系的一个(或一组)属性上的值重复率很高,则此单个关系可以建立聚簇。率很高,则此单个关系可以建立聚簇。关系存取方法的选择关系存取方法的选择4HASH存取方法存取方法如果一个关系的属性主要出现在相等比较条如果一个关系的属性主要出现在相等比较条件中,且满足以下两个条件之一,则可以使件中,且满足以下两个条件之一,则可以使用用HASH存取方法:存取方法:一个关系的大小可以预知,而且不变。一个关系的大小可以预知,而且不变。关系的大小动态改变,但数据库管理系统提供了关系的大小动态改变,但数据库管理系统提供了动态动态HASH存取方法存取方法确定数据库的存储结构确定数据库的存储结构4确定数据的存放位置确定数据的存放位置为了提高系统性能,根据应用情况将数据的为了提高系统性能,根据应用情况将数据的易变部分与稳定部分、存取频率高的部分与易变部分与稳定部分、存取频率高的部分与存取频率低的部分分开存放。存取频率低的部分分开存放。4确定系统配置确定系统配置