版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库设计方法数据库设计方法2 本章主要讲述关系数据库的设计方法及设本章主要讲述关系数据库的设计方法及设计过程。通过本章的学习,读者应该掌握以计过程。通过本章的学习,读者应该掌握以下内容:下内容: 数据库系统设计的过程数据库系统设计的过程 需求分析需求分析 概念设计概念设计 逻辑结构设计逻辑结构设计 物理设计物理设计 数据库的实施数据库的实施 数据库的运行和维护数据库的运行和维护3数据库是信息系统的基础和核心。因此,只有对数据库数据库是信息系统的基础和核心。因此,只有对数据库进行合理的设计才能开发出高效、完善的信息系统。数进行合理的设计才能开发出高效、完善的信息系统。数据库设计是信息系统设计和
2、开发的重要组成部分。据库设计是信息系统设计和开发的重要组成部分。合理的数据库结构合理的数据库结构是数据库应用系统性能良好的基础和是数据库应用系统性能良好的基础和保证保证,但数据库的设计和开发却是一项庞大而复杂的工但数据库的设计和开发却是一项庞大而复杂的工程。程。从事数据库设计的人员要具备从事数据库设计的人员要具备:数据库知识和数据库设数据库知识和数据库设计技术计技术,还要有程序开发的实际经验还要有程序开发的实际经验,掌握软件工程的原掌握软件工程的原理和方法;数据库设计人员必须深入应用环境理和方法;数据库设计人员必须深入应用环境,了解用了解用户具体的专业业务。户具体的专业业务。4数据库的设计任务
3、数据库的设计任务是在是在DBMS的支持下,按照应用的要的支持下,按照应用的要求,为某一部门或组织设计一个结构合理、使用方便、求,为某一部门或组织设计一个结构合理、使用方便、效率较高的数据库及其应用系统。效率较高的数据库及其应用系统。数据库设计应包含两方面的内容:数据库设计应包含两方面的内容: 一是结构设计,也就是设计数据库框架或数据库结构一是结构设计,也就是设计数据库框架或数据库结构 二是行为设计,即设计应用程序、事务处理等。二是行为设计,即设计应用程序、事务处理等。 设计数据库应用系统,首先应进行结构设计。数据库设计数据库应用系统,首先应进行结构设计。数据库结构设计是否合理,直接影响到系统中
4、各个处理过程结构设计是否合理,直接影响到系统中各个处理过程的性能和质量;另一方面,结构特性又不能与行为特的性能和质量;另一方面,结构特性又不能与行为特性分离。静态的结构特性的设计与动态的行为特性的性分离。静态的结构特性的设计与动态的行为特性的设计分离,会导致数据与程序不易结合,增加数据库设计分离,会导致数据与程序不易结合,增加数据库设计的复杂性。设计的复杂性。5数据库系统的设计过程数据库系统的设计过程新奥尔良新奥尔良(New Orleans)方法方法 该方法把数据库设计分为若干阶段和步骤。并采用一该方法把数据库设计分为若干阶段和步骤。并采用一些辅助手段实现每一过程。它运用软件工程的思想,些辅助
5、手段实现每一过程。它运用软件工程的思想,按一定的设计规程用工程化方法设计数据库。新奥尔按一定的设计规程用工程化方法设计数据库。新奥尔良方法属于规范设计法。规范设计法从本质上看仍然良方法属于规范设计法。规范设计法从本质上看仍然是手工设计方法,其基本思想是过程迭代和逐步求精。是手工设计方法,其基本思想是过程迭代和逐步求精。基于基于E-R模型的数据库设计方法模型的数据库设计方法 该方法用该方法用E-R模型来设计数据库的概念模型,是数据模型来设计数据库的概念模型,是数据库概念设计阶段广泛采用的方法。库概念设计阶段广泛采用的方法。6数据库设计及维护分为数据库设计及维护分为6个阶段:个阶段: 需求分析:需
6、求分析:数据库设计人员采用一定的辅助工具对应数据库设计人员采用一定的辅助工具对应用对象的功能、性能、限制等要求所进行的科学分析。用对象的功能、性能、限制等要求所进行的科学分析。 概念设计:概念设计:对应用对象精确地抽象、概括而形成的独对应用对象精确地抽象、概括而形成的独立于计算机系统的企业信息模型。描述概念模型的最立于计算机系统的企业信息模型。描述概念模型的最好工具是好工具是ER图。图。 逻辑设计:逻辑设计:将抽象的概念模型转化为与选用的将抽象的概念模型转化为与选用的DBMS产品所支持的数据模型相符合的逻辑模型产品所支持的数据模型相符合的逻辑模型,它是物理设它是物理设计的基础。计的基础。 物理
7、设计:物理设计:逻辑模型在计算机中的具体实现方案逻辑模型在计算机中的具体实现方案 数据库实施数据库实施 运行维护运行维护7数据库设计的特点数据库设计的特点反复性反复性(iterative)试探性试探性(tentative)分步性分步性(multistage)8按照这样的设计过程,数据库结构设计的不同阶段形成按照这样的设计过程,数据库结构设计的不同阶段形成数据库的各级模式数据库的各级模式9需求分析需求分析 需求分析需求分析是数据库设计的起点,也是数据库应用是数据库设计的起点,也是数据库应用系统设计的起点。我们要特别强调需求分析的重系统设计的起点。我们要特别强调需求分析的重要性,因为设计人员往往忽
8、视或不善于进行需求要性,因为设计人员往往忽视或不善于进行需求分析。而需求分析是否详细、正确,将直接影响分析。而需求分析是否详细、正确,将直接影响后面各个阶段的设计欠合理和实用。许多数据库后面各个阶段的设计欠合理和实用。许多数据库应用系统开发周期一再延误,甚至开发项目最终应用系统开发周期一再延误,甚至开发项目最终失败,纠其原因主要是需求分析工作没有到位。失败,纠其原因主要是需求分析工作没有到位。10 需求分析的任务和过程需求分析的任务和过程需求分析的任务是调查应用领域,对应用领域中各应用需求分析的任务是调查应用领域,对应用领域中各应用的信息要求和操作要求进行详细分析,形成需求分析说的信息要求和操
9、作要求进行详细分析,形成需求分析说明书。明书。111调查组织机构的总体情况调查组织机构的总体情况2熟悉各部门的业务活动情况熟悉各部门的业务活动情况3分析用户需求分析用户需求 分析方法:在众多分析和表达用户需求的方法中,结分析方法:在众多分析和表达用户需求的方法中,结构化系统分析与设计技术构化系统分析与设计技术(Structured Analysis and Design Technique,SADT)是一个简单实用的方法。是一个简单实用的方法。 分析结果通常用一组图表来表示,主要包括数据流图、分析结果通常用一组图表来表示,主要包括数据流图、数据字典和处理逻辑表达工具等。其中数据流图是新数据字典
10、和处理逻辑表达工具等。其中数据流图是新系统处理模型的主要组成部分,它摆脱了具体的物理系统处理模型的主要组成部分,它摆脱了具体的物理细节,在逻辑上精确地描述了系统中数据和处理的关细节,在逻辑上精确地描述了系统中数据和处理的关系,详尽表示了系统的功能、输入、输出和数据存储系,详尽表示了系统的功能、输入、输出和数据存储等。数据字典是对应用系统中数据的详细描述,是各等。数据字典是对应用系统中数据的详细描述,是各类数据属性的清单。类数据属性的清单。4确定新系统的边界确定新系统的边界12 收集用户需求收集用户需求调查、收集用户要求的具体做法:调查、收集用户要求的具体做法: 了解组织机构的情况,调查这个组织
11、与哪些部门组成,了解组织机构的情况,调查这个组织与哪些部门组成,各部门的职责是什么,为分析信息流程做准备各部门的职责是什么,为分析信息流程做准备 了解各部门的业务情况,调查各部门输入和使用什么了解各部门的业务情况,调查各部门输入和使用什么数据,如何加工处理这些数据,输出什么信息,输出数据,如何加工处理这些数据,输出什么信息,输出到什么部门,输出格式等。到什么部门,输出格式等。 确定新系统的边界。确定新系统的边界。13调查的方法主要有:调查的方法主要有: 阅读有关手册、文档及与原系统有关的一切数据资料。阅读有关手册、文档及与原系统有关的一切数据资料。 与各种用户与各种用户(包括企业领导、管理人员
12、、操作员包括企业领导、管理人员、操作员)交谈。交谈。每个用户所处的地位不同每个用户所处的地位不同,对新系统的理解和要求也不对新系统的理解和要求也不同。与他们进行交谈同。与他们进行交谈,可获得在查阅资料时遗漏的信息。可获得在查阅资料时遗漏的信息。 跟班作业。有时用户并不能从信息处理的角度来表达跟班作业。有时用户并不能从信息处理的角度来表达他们的需求他们的需求,需要分析人员和设计人员亲自参加他们的需要分析人员和设计人员亲自参加他们的工作工作,了解业务活动的情况。了解业务活动的情况。 召集有关人员讨论座谈。可按职能部门召开座谈会召集有关人员讨论座谈。可按职能部门召开座谈会,了了解各部门的业务情况及对
13、新系统的建议。解各部门的业务情况及对新系统的建议。 使用调查表的形式调查用户的需求。使用调查表的形式调查用户的需求。14 分析用户需求分析用户需求 需求调查所得到的数据可能是零碎的、局部的需求调查所得到的数据可能是零碎的、局部的,分析师和分析师和设计人员必须进一步分析和表达用户的需求设计人员必须进一步分析和表达用户的需求,需求分析的需求分析的具体任务是:具体任务是: 分析需求调查得到的资料分析需求调查得到的资料,明确计算机应当处理和能够明确计算机应当处理和能够处理的范围处理的范围,确定新系统应具备的功能。确定新系统应具备的功能。 综合各种信息所包含的数据综合各种信息所包含的数据,各种数据之间的
14、关系各种数据之间的关系,数据数据的类型、取值范围、流向。的类型、取值范围、流向。 将需求调查文档化将需求调查文档化,文档既要为用户所理解文档既要为用户所理解,又要方便数又要方便数据库的概念结构设计。据库的概念结构设计。15需求分析包括数据流的分析及功能分析。需求分析包括数据流的分析及功能分析。 数据流分析数据流分析是对事务处理所需的原始数据的收集及经是对事务处理所需的原始数据的收集及经处理后所得数据及其流向。一般用数据流程图处理后所得数据及其流向。一般用数据流程图(DFD)来表示。来表示。DFD不仅指出了数据的流向不仅指出了数据的流向,而且还指出了需而且还指出了需要进行的事务处理要进行的事务处
15、理 功能分析功能分析是指系统如何得到事务活动所需要的数据是指系统如何得到事务活动所需要的数据,在在事务处理中如何使用这些数据进行处理事务处理中如何使用这些数据进行处理(也叫加工也叫加工),以以及处理后数据流向的全过程的分析。换言之及处理后数据流向的全过程的分析。换言之,功能分析功能分析是对所建数据模型支持的系统事务处理的分析。是对所建数据模型支持的系统事务处理的分析。 需求分析阶段,应当用文档形式整理出整个系统所涉及需求分析阶段,应当用文档形式整理出整个系统所涉及的数据、数据间的依赖关系、事务处理的说明和所需产的数据、数据间的依赖关系、事务处理的说明和所需产生的报告生的报告,并且尽量借助于数据
16、流程图并且尽量借助于数据流程图(DFD)和数据字典和数据字典(DD)加以说明加以说明16数据流程图数据流程图(DFD) 数据流程图的符号说明如下:数据流程图的符号说明如下: 数据流数据流 代表数据流代表数据流,箭头表示数据流动的方向箭头表示数据流动的方向 加工加工 称为处理称为处理,代表数据的处理逻辑代表数据的处理逻辑 文件文件 称为数据库存储文件称为数据库存储文件,代表数据存储代表数据存储 数据源点数据源点/终点终点 代表系统的信息提供者或使用者代表系统的信息提供者或使用者17(1) 数据流:由一组确定的数据组成。数据流:由一组确定的数据组成。 数据流用带名字的箭头表示数据流用带名字的箭头表
17、示,名字表示流经的数据名字表示流经的数据,箭头则表示流向。箭头则表示流向。 例如例如,“成绩单成绩单”数据流由学生名、课程名、学期、数据流由学生名、课程名、学期、成绩等数据组成。成绩等数据组成。 (2) 加工:是对数据进行的操作或处理。加工:是对数据进行的操作或处理。 加工包括两方面的内容:加工包括两方面的内容: 一是变换数据的组成一是变换数据的组成,即改变数据结构;即改变数据结构; 二是在原有的数据内容基础上增加新的内容二是在原有的数据内容基础上增加新的内容,形成新的数据。形成新的数据。 例如例如,在学生学习成绩管理系统中在学生学习成绩管理系统中,“选课登记选课登记”是是一个加工一个加工,它
18、把学生信息和开课信息进行处理后生它把学生信息和开课信息进行处理后生成学生的选课清单。成学生的选课清单。 18(3) 文件:数据暂时存储或永久保存的地方。文件:数据暂时存储或永久保存的地方。 如:学生表、开课计划表、课程成绩表、重修表。如:学生表、开课计划表、课程成绩表、重修表。 (4) 外部实体:指独立于系统而存在的外部实体:指独立于系统而存在的,但又和系统有联但又和系统有联系的实体。它表示数据的外部来源和最后的去向。确系的实体。它表示数据的外部来源和最后的去向。确定系统与外部环境之间的界限定系统与外部环境之间的界限,从而可确定系统的范围。从而可确定系统的范围。 外部实体可以是某种人员、组织、
19、系统或某事物。外部实体可以是某种人员、组织、系统或某事物。 例如例如,在学生学习成绩管理系统中在学生学习成绩管理系统中,家长可作为外部家长可作为外部实体存在实体存在,因为家长不是该系统要研究的实体因为家长不是该系统要研究的实体,但它但它可以查询本系统中有关的学生成绩。可以查询本系统中有关的学生成绩。19选课登选课登记处理记处理学生信息表学生信息表开课计划表开课计划表学号、班级学号、班级开课号、班级开课号、班级选课清单选课清单课程成绩表课程成绩表重读、重重读、重修处理修处理成绩录成绩录入处理入处理选课清单选课清单成绩单成绩单成绩单成绩单重读、重修表重读、重修表重读、重修重读、重修登记清单登记清单
20、重读、重修重读、重修成绩单成绩单教务处教务处成绩成绩重读、重修重读、重修登记清单登记清单成绩管理的第一层数据流程图成绩管理的第一层数据流程图(部分部分)202. 数据字典数据字典(DD) 数据字典是以特定格式记录下来的数据字典是以特定格式记录下来的,对数据流程图中各对数据流程图中各个基本要素个基本要素(数据流、文件、加工等数据流、文件、加工等)的具体内容和特的具体内容和特征所作的完整的对应和说明。征所作的完整的对应和说明。 数据字典是对数据流程图的注释和重要补充数据字典是对数据流程图的注释和重要补充,它帮助系它帮助系统分析师全面确定用户的要求统分析师全面确定用户的要求,并为以后的系统设计提并为
21、以后的系统设计提供参考依据。供参考依据。 数据字典的内容包括:数据项、数据结构、数据流、数据字典的内容包括:数据项、数据结构、数据流、 加工、文件、外部实体等加工、文件、外部实体等,一切在数据定义需求中出现一切在数据定义需求中出现的名称都必须有严格的说明。在数据库设计过程中的名称都必须有严格的说明。在数据库设计过程中,数数据字典被不断地充实、修改、完善据字典被不断地充实、修改、完善21下面以成绩管理数据流图中几个元素的定义加以说明:下面以成绩管理数据流图中几个元素的定义加以说明: (1)数据项名:成绩数据项名:成绩别名:分数别名:分数描述:课程考核的分数值描述:课程考核的分数值定义:数值型定义
22、:数值型,带一位小数带一位小数取值范围:取值范围:0100(2)数据结构名:成绩单数据结构名:成绩单别名:考试成绩别名:考试成绩描述:学生每学期考试成绩单描述:学生每学期考试成绩单定义:成绩清单定义:成绩清单=学生号学生号+开课号开课号+学期学期+考试成绩考试成绩22 (3)加工名:选课登记处理加工名:选课登记处理输入数据流:学期、学生号、开课号输入数据流:学期、学生号、开课号输出数据流:选课清单输出数据流:选课清单加工逻辑:把选课者的学生号、所处的学期号、加工逻辑:把选课者的学生号、所处的学期号、 以以及所选的开课号、课程号记录进数据库中及所选的开课号、课程号记录进数据库中处理频率:根据学校
23、的学生人数而定处理频率:根据学校的学生人数而定,具有集中性具有集中性 (4)文件名:学生信息表文件名:学生信息表简述:用来记录学生的基本情况简述:用来记录学生的基本情况组成:记录学生各种情况的数据项组成:记录学生各种情况的数据项,如学生号、姓名、如学生号、姓名、性别、政治面貌、专业、班级号等性别、政治面貌、专业、班级号等读文件:提供各项数据的显示读文件:提供各项数据的显示,提取学生的信息提取学生的信息写文件:对学生情况的修改、写文件:对学生情况的修改、 增加或删除增加或删除23概念设计概念设计任务:任务:根据需求分析阶段形成的新系统需求分析说明书,根据需求分析阶段形成的新系统需求分析说明书,把
24、用户的信息需求抽象为信息结构即概念模型。把用户的信息需求抽象为信息结构即概念模型。 概念设计的特点及设计方法概念设计的特点及设计方法概念设计的特点概念设计的特点 有丰富的语义表达能力。有丰富的语义表达能力。能表达用户的各种需求能表达用户的各种需求,反映反映现实世界中各种数据及其复杂的联系现实世界中各种数据及其复杂的联系,及用户对数据的及用户对数据的处理要求等。处理要求等。 易于交流和理解。易于交流和理解。概念模型是系统分析师、数据库设概念模型是系统分析师、数据库设计人员和用户之间的主要交流工具。计人员和用户之间的主要交流工具。 易于修改。易于修改。概念模型能灵活地加以改变概念模型能灵活地加以改
25、变,以反映用户需以反映用户需求和环境的变化。求和环境的变化。 易于向各种数据模型转换。易于向各种数据模型转换。设计概念模型的最终目的设计概念模型的最终目的是向某种是向某种DBMS支持的数据模型转换支持的数据模型转换,建立数据库应用建立数据库应用系统系统24概念结构设计的策略通常有四类:概念结构设计的策略通常有四类:(1)自顶向下自顶向下(2)自底向上自底向上(3)逐步扩张逐步扩张(4)混合策略混合策略2526第一步是抽象数据并设计局部视图第一步是抽象数据并设计局部视图第二步是集成局部视图,得到全局的概念结构,如下图第二步是集成局部视图,得到全局的概念结构,如下图所示所示27 局部概念模型的设计
26、局部概念模型的设计步骤:步骤: 明确局部应用的范围明确局部应用的范围 确定实体及其属性和关键字确定实体及其属性和关键字 确定实体之间的联系,产生局部确定实体之间的联系,产生局部E-R模型模型 合成全局概念模型合成全局概念模型一般说来,视图集成可以有两种方式:一般说来,视图集成可以有两种方式: 多个分多个分E-R图一次集成。图一次集成。 逐步集成,用累加的方式一次集成两个分逐步集成,用累加的方式一次集成两个分E-R图。图。无论采用哪种方式,每次集成局部无论采用哪种方式,每次集成局部E-R图时都需要分两步走:图时都需要分两步走:(1) 合并。解决各分合并。解决各分E-R图之间的冲突,将各分图之间的
27、冲突,将各分E-R图合图合并起来生成初步并起来生成初步E-R图。图。(2) 修改和重构。消除不必要的冗余,生成基本修改和重构。消除不必要的冗余,生成基本E-R图。图。2829各分各分E-R图之间的冲突主要有图之间的冲突主要有3类:属性冲突、命名冲突类:属性冲突、命名冲突和结构冲突。和结构冲突。1属性冲突属性冲突(1)属性域冲突,即属性值的类型、取值范围或取值属性域冲突,即属性值的类型、取值范围或取值集合不同。集合不同。(2)属性取值单位冲突。属性取值单位冲突。2命名冲突命名冲突(1)同名异义,即不同意义的对象在不同的局部应用同名异义,即不同意义的对象在不同的局部应用中具有相同的名字。中具有相同
28、的名字。(2)异名同义异名同义(一义多名一义多名),即同一意义的对象在不同的,即同一意义的对象在不同的局部应用中具有不同的名字。局部应用中具有不同的名字。303结构冲突结构冲突(1)同一对象在不同应用中具有不同的抽象。同一对象在不同应用中具有不同的抽象。(2)同一实体在不同分同一实体在不同分E-R图中所包含的属性个数和图中所包含的属性个数和属性排列次序不完全相同。属性排列次序不完全相同。(3)实体间的联系在不同的分实体间的联系在不同的分E-R图中为不同的类型图中为不同的类型3132产品产品 使用用使用用 n m 用量用量Q3 构成构成 零件数零件数Q1 m 零件零件 消耗用消耗用 材料材料 n
29、 存放存放 m 仓库仓库 n 1 耗用量耗用量Q2 库存量库存量Q4 存放量存放量Q5 n 消除冗余消除冗余所谓冗余的数据是指可由基本数据导出的数据,冗所谓冗余的数据是指可由基本数据导出的数据,冗余的联系是指可由其他联系导出的联系。余的联系是指可由其他联系导出的联系。33产品产品 使用用使用用 n m 用量用量Q3 构成构成 零件数零件数Q1 m 零件零件 消耗用消耗用 材料材料 n 存放存放 m 仓库仓库 n 1 耗用量耗用量Q2 库存量库存量Q4 存放量存放量Q5 n 34概念结构的设计概念结构的设计 也就是建立概念模型也就是建立概念模型 绘制绘制E-R图(如下图)图(如下图)35(c)完
30、整的实体联系图完整的实体联系图供应商供应商 姓名姓名 供应商号供应商号 地址地址 账号账号 电话号电话号 仓库仓库 仓库号仓库号 面积面积 电话号电话号 职工号职工号 姓名姓名 年龄年龄 职工职工 工作工作 1 n 领导领导 1 n 库存库存 供应量供应量 m 供应供应 库存量库存量 m 项目项目 项目号项目号 预算预算 开工日期开工日期 n 零件零件 零件号零件号 规格规格 名称名称 描述描述 单价单价 n p 职称职称 36逻辑结构的设计逻辑结构的设计 逻辑结构设计的任务就是把概念结构设计阶段设计逻辑结构设计的任务就是把概念结构设计阶段设计好的基本好的基本E-R图转换为与选用的图转换为与选
31、用的DBMS产品所支持产品所支持的数据模型相符合的逻辑结构。的数据模型相符合的逻辑结构。 设计逻辑结构时一般要分两步进行:设计逻辑结构时一般要分两步进行:将概念结构转换为关系模型将概念结构转换为关系模型对关系数据模型进行优化对关系数据模型进行优化 概念模型向关系模型的转换概念模型向关系模型的转换 E-R图向关系模型的转换要解决的问题是如何将实体和实图向关系模型的转换要解决的问题是如何将实体和实体间的联系转换为关系模式,如何确定这些关系模式的体间的联系转换为关系模式,如何确定这些关系模式的属性和码。属性和码。 将将E-R图转换为关系模型实际上就是要将实体、实体属性图转换为关系模型实际上就是要将实
32、体、实体属性和实体之间的联系转换为一组关系模式,这种转换一般和实体之间的联系转换为一组关系模式,这种转换一般遵循如下原则:遵循如下原则:371一个实体型转换为一个关系模式。实体的属性就是一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。关系的属性,实体的码就是关系的码。2对于实体间的联系则有以下不同的情况:对于实体间的联系则有以下不同的情况:(1)一个一个1 1联系可不建立单独的关系模式。联系可不建立单独的关系模式。 只需要在两个实体关系中各增加一个外键只需要在两个实体关系中各增加一个外键姓名姓名性别性别年龄年龄职工号职工号工资工资工资号工资号基本工资基本工资保险保
33、险实发工资实发工资补贴补贴职工职工拥有拥有11 职工(职工(职工号职工号,姓名,性别,年龄,姓名,性别,年龄,工资号工资号) 工资(工资(工资号工资号,基本工资,实发工资,补贴,保险,基本工资,实发工资,补贴,保险,职工号职工号)38一个一个1 1联系也可以建立单独的关系模式。联系也可以建立单独的关系模式。转换为一个关系模式,则与该联系相连的各实转换为一个关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属体的码以及联系本身的属性均转换为关系的属性,性,每个实体的码均是该关系的候选码每个实体的码均是该关系的候选码 职工(职工(职工号职工号,姓名,性别,年龄,),姓名,性别,年
34、龄,) 工资(工资(工资号工资号,基本工资,实发工资,补贴,保险),基本工资,实发工资,补贴,保险) 拥有(拥有(工资号工资号,职工号职工号)姓名姓名性别性别年龄年龄职工号职工号工资工资工资号工资号基本工资基本工资保险保险实发工资实发工资补贴补贴职工职工拥有拥有1139(2)一个一个1 n联系可不建立单独的关系模式。联系可不建立单独的关系模式。 在在n一方增加一个属性作为外键一方增加一个属性作为外键职工职工性别性别年龄年龄工资工资职工号职工号分工分工部门部门部门号部门号名称名称电话电话负责人负责人姓名姓名n1 职工(职工(职工号职工号,姓名,性别,年龄,姓名,性别,年龄,部门号部门号) 部门(
35、部门(部门号部门号,名称,电话,联系人),名称,电话,联系人)40(2)一个一个1 n联系也可以建立单独的关系模式。联系也可以建立单独的关系模式。 转换为一个关系模式,则与该联系相连的各实转换为一个关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属体的码以及联系本身的属性均转换为关系的属性,而性,而关系的码为关系的码为n端实体的码端实体的码。职工职工性别性别年龄年龄工资工资职工号职工号分工分工部门部门部门号部门号名称名称电话电话负责人负责人姓名姓名n1 职工(职工(职工号职工号,姓名,性别,年龄),姓名,性别,年龄) 部门(部门(部门号部门号,名称,电话,联系人),名称,电
36、话,联系人) 分工(分工(职工号职工号,部门号),部门号)41(3)一个一个m n联系必须单独建立一个关系模式。联系必须单独建立一个关系模式。 两个实体的码以及联系本身的属性均转换为关两个实体的码以及联系本身的属性均转换为关系的属性,两个实体的码组合构成关系的码。系的属性,两个实体的码组合构成关系的码。职称职务职称职务任职任职职工职工性别性别年龄年龄工资工资职工号职工号任职日期任职日期代号代号名称名称津贴津贴姓名姓名mn 职工(职工(职工号职工号,姓名,性别,年龄),姓名,性别,年龄) 职称职务(职称职务(代号代号,名称,津贴,面积),名称,津贴,面积) 任职(任职(职工号,代号职工号,代号,
37、任职日期),任职日期)42(4)3个或个或3个以上实体间的一个多元联系可以转换为一个以上实体间的一个多元联系可以转换为一个关系模式。个关系模式。 与该多元联系相连的各实体的码以及联系本身与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体码组成关的属性均转换为关系的属性,各实体码组成关系的码。系的码。供应商供应商 m 供应供应 供应量供应量 项目项目 n 零件零件 p 43(5)自联系到关系模式的转化。自联系到关系模式的转化。只要分清两部分实体在联系中的身份,其余的情况与只要分清两部分实体在联系中的身份,其余的情况与一般二元关系相同。一般二元关系相同。职工职工 领导领导 1
38、 n (6)具有相同码的关系模式可合并。具有相同码的关系模式可合并。 职工(职工(职工号职工号,姓名,性别,年龄),姓名,性别,年龄) 领导(领导(领导员工号,被领导员工号领导员工号,被领导员工号)44 数据模型的优化数据模型的优化数据库逻辑设计的结果不是惟一的。为了提高数据库应数据库逻辑设计的结果不是惟一的。为了提高数据库应用系统的性能,还应该根据应用需要适当地修改、调整用系统的性能,还应该根据应用需要适当地修改、调整关系模式,这就是数据模型的优化。关系模式,这就是数据模型的优化。关系数据模型的优关系数据模型的优化通常以规范化理论为指导化通常以规范化理论为指导,45 数据模型的优化数据模型的
39、优化数据库逻辑设计的结果不是惟一的。为了提高数据库应数据库逻辑设计的结果不是惟一的。为了提高数据库应用系统的性能,还应该根据应用需要适当地修改、调整用系统的性能,还应该根据应用需要适当地修改、调整关系模式,这就是数据模型的优化。关系模式,这就是数据模型的优化。关系数据模型的优关系数据模型的优化通常以规范化理论为指导化通常以规范化理论为指导,方法为:,方法为:(1)确定数据依赖。确定数据依赖。(2)对于各个关系模式之间的数据依赖进行极小化处理,对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。消除冗余的联系。(3)按照数据依赖的理论对关系模式逐一进行分析,考按照数据依赖的理论对关系模
40、式逐一进行分析,考察是否存在部分函数依赖、传递函数依赖和多值依赖察是否存在部分函数依赖、传递函数依赖和多值依赖等,确定各关系模式分别属于第几范式。等,确定各关系模式分别属于第几范式。46(4)按照需求分析阶段得到的信息要求和处理要求,分按照需求分析阶段得到的信息要求和处理要求,分析这些模式是否满足这些要求,确定是否要对某些模析这些模式是否满足这些要求,确定是否要对某些模式进行合并或分解。式进行合并或分解。(5)对关系模式进行必要的分解,以提高数据操作的效对关系模式进行必要的分解,以提高数据操作的效率和存储空间的利用率。常用的两种分解方法是水平率和存储空间的利用率。常用的两种分解方法是水平分解和
41、垂直分解。分解和垂直分解。 水平分解是把水平分解是把(基本基本)关系的元组分为若干子集合,关系的元组分为若干子集合,定义每个子集为一个子关系。定义每个子集为一个子关系。 垂直分解是把关系模式垂直分解是把关系模式R的属性分解为若干子集的属性分解为若干子集合,形成若干子关系模式。垂直分解的原则是,合,形成若干子关系模式。垂直分解的原则是,经常在一起使用的属性从经常在一起使用的属性从R中分解出来后形成一中分解出来后形成一个子关系模式。分解后的一组关系模式与原关系个子关系模式。分解后的一组关系模式与原关系模式是否等价。模式是否等价。47 设计用户子模式设计用户子模式将概念模型转换为全局逻辑模型后,还应
42、该根据局部应将概念模型转换为全局逻辑模型后,还应该根据局部应用需求,结合具体用需求,结合具体RDBMS的特点,设计用户的外模式。的特点,设计用户的外模式。目前关系数据库管理系统一般都提供了视图目前关系数据库管理系统一般都提供了视图(View)概念,概念,可以利用这一功能设计更符合局部用户需要的用户外模可以利用这一功能设计更符合局部用户需要的用户外模式。式。由于用户外模式与模式是相对独立的,因此在定义用户由于用户外模式与模式是相对独立的,因此在定义用户外模式时可以考虑用户的习惯与方便。包括:外模式时可以考虑用户的习惯与方便。包括:1使用更符合用户习惯的别名使用更符合用户习惯的别名2可以对不同级别
43、的用户定义不同的可以对不同级别的用户定义不同的View,以保证系,以保证系统的安全性统的安全性3简化用户对系统的使用简化用户对系统的使用48物理设计物理设计数据库在实际的物理设备上的存储结构和存取方法称为数据库在实际的物理设备上的存储结构和存取方法称为数据库的物理结构数据库的物理结构。为设计好的逻辑数据模型选择一个。为设计好的逻辑数据模型选择一个符合应用要求的物理结构就是符合应用要求的物理结构就是数据库的物理设计数据库的物理设计。数据库的物理结构是与给定的硬件环境和数据库的物理结构是与给定的硬件环境和DBMS软件产软件产品有关的。因此数据库的物理设计依赖具体的品有关的。因此数据库的物理设计依赖
44、具体的DBMS产产品。品。数据库的物理设计通常分为两步:数据库的物理设计通常分为两步:(1)确定数据库的物理结构。确定数据库的物理结构。(2)对物理结构进行评价,评价的重点是时间和空间效对物理结构进行评价,评价的重点是时间和空间效率。率。49 数据库物理设计的内容数据库物理设计的内容通常对于关系数据库物理设计的内容主要包括:通常对于关系数据库物理设计的内容主要包括: 为关系选择存取方法,建立存取路径。为关系选择存取方法,建立存取路径。 确定数据库存储结构,即确定关系、索引、聚簇、日确定数据库存储结构,即确定关系、索引、聚簇、日志和备份等数据的存储安排和存储结构,确定系统配志和备份等数据的存储安
45、排和存储结构,确定系统配置等。置等。存取方法概述存取方法概述存取方法是使事务能够快速存取数据库中数据的技。存取方法是使事务能够快速存取数据库中数据的技。501索引方法索引方法 索引方法有多种,常用的有索引方法有多种,常用的有B+树索引、基于函数树索引、基于函数的索引、反向索引和位映射索引的索引、反向索引和位映射索引(bitmap index)等。等。2HASH方法方法 HASH方法是用方法是用 HASH函数存储和存取关系记录函数存储和存取关系记录的方法。具体地讲是,指定某个关系上的一个的方法。具体地讲是,指定某个关系上的一个(组组)属性属性A作为作为HASH码,对该码,对该HASH码定义一个函数码定义一个函数(称为称为HASH函数函数),关系记录的存储地址由,关系记录的存储地址由HASH(a)来决定,来决定,a是该记录在属性是该记录在属性A上的值。上的值。513聚簇方法聚簇方法 为了提高某个属性为了提高某个属性(或属性组或属性组)的查询速度,把这的查询速度,把这个或这些属性个或这些属性(称为聚簇码称为聚簇码)上具有相同值的元组上具有相同值的元组集中存放在连续的物理块上,这种方法称为集中存放在连续的物理块上,这种方法称为聚簇聚簇。 聚簇方法不但适用于单个关系,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《眼动追踪技术》课件
- 2025年度瓷石行业标准化与认证服务合同4篇
- 二零二五版旅游行业信息化建设合作合同4篇
- 二零二五年度国际旅行社服务合同标准范本4篇
- 2025年度体育用品代理销售合同范本7篇
- 二零二五版互联网企业知识产权及股份交易合同3篇
- 2025年海洋工程装备制造项目可行性研究报告编制合同3篇
- 2025年度商业综合体经营管理承包合同4篇
- 二零二五版科技产品试用反馈及改进建议合同3篇
- 2025年度采矿设备维修保养与技术支持合同2篇
- MT/T 199-1996煤矿用液压钻车通用技术条件
- GB/T 6144-1985合成切削液
- GB/T 10357.1-2013家具力学性能试验第1部分:桌类强度和耐久性
- 第三方在线纠纷解决机制(ODR)述评,国际商法论文
- 第5章-群体-团队沟通-管理沟通
- 肾脏病饮食依从行为量表(RABQ)附有答案
- 深基坑-安全教育课件
- 园林施工管理大型园林集团南部区域养护标准图例
- 排水许可申请表
- 低血糖的观察和护理课件
- 计量检定校准技术服务合同协议书
评论
0/150
提交评论