11 数据库设计ppt课件数据库原理与应用 .pptx

上传人:春哥&#****71; 文档编号:87374513 上传时间:2023-04-16 格式:PPTX 页数:73 大小:3.68MB
返回 下载 相关 举报
11 数据库设计ppt课件数据库原理与应用 .pptx_第1页
第1页 / 共73页
11 数据库设计ppt课件数据库原理与应用 .pptx_第2页
第2页 / 共73页
点击查看更多>>
资源描述

《11 数据库设计ppt课件数据库原理与应用 .pptx》由会员分享,可在线阅读,更多相关《11 数据库设计ppt课件数据库原理与应用 .pptx(73页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、11 数据库设计教学课件数据库原理与应用 数据库原理与应用数据库原理与应用11.1数据库设计概述数据库原理与应用数据库原理与应用3数据库原理与应用数据库原理与应用什么是数据库设计什么是数据库设计?数据库设计是指对于一个给定的应用环境,构造(设计)优数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库化的数据库逻辑模式逻辑模式和和物理结构物理结构,并据此,并据此建立数据库建立数据库及其应用系及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。包括信息管理要求和数据操作要求。数据库原

2、理与应用数据库原理与应用11.1.1 11.1.1 数据库设计的特点数据库设计的特点(1)三分技术、七分管理、十二分基础数据)三分技术、七分管理、十二分基础数据建设好一个数据库应用系统,除了要有很强的开发技术,还要建设好一个数据库应用系统,除了要有很强的开发技术,还要有完善有效的管理实现有完善有效的管理实现“1+12”的效果的效果一个企业数据库建设的过程是企业管理模式的改革和提高的过一个企业数据库建设的过程是企业管理模式的改革和提高的过程。程。基础数据非常关键,如果基础数据不准确,则在此基础上的操基础数据非常关键,如果基础数据不准确,则在此基础上的操作结果也就没有意义了。作结果也就没有意义了。

3、数据库原理与应用数据库原理与应用(2)综合性)综合性数据库设计涉及计算机专业知识及业务系统专业知识,还要解数据库设计涉及计算机专业知识及业务系统专业知识,还要解决技术及非技术两方面的问题。决技术及非技术两方面的问题。结构设计在模式和外模式中定义,包括数据库的概念设计、逻结构设计在模式和外模式中定义,包括数据库的概念设计、逻辑设计和物理设计。辑设计和物理设计。(3)结构设计与行为设计相结合)结构设计与行为设计相结合行为设计是用户对数据库的操作。行为设计是用户对数据库的操作。数据库原理与应用数据库原理与应用11.1.2 11.1.2 数据库设计方法数据库设计方法(1)新奥尔良法新奥尔良法(New

4、Orleans)设计方法)设计方法目前公认的比较完整和权威的一种规范设计方法。目前公认的比较完整和权威的一种规范设计方法。它将数据库设计分为它将数据库设计分为4个阶段,即个阶段,即需求分析、概念设计、逻辑需求分析、概念设计、逻辑设计和物理设计设计和物理设计。是数据库是数据库概念设计阶段概念设计阶段广泛采用的方法。广泛采用的方法。(2)基于)基于E-R模型模型的设计方法的设计方法数据库原理与应用数据库原理与应用(3)基于)基于3NF的设计方法的设计方法是设计关系数据库时在是设计关系数据库时在逻辑设计阶段逻辑设计阶段采用的一种有效方法。采用的一种有效方法。ODL可以描述面向对象的数据库结构设计,可

5、以直接转换为面可以描述面向对象的数据库结构设计,可以直接转换为面向对象的数据库。向对象的数据库。(4)对象定义语言()对象定义语言(Object Definition Language,ODL)方法)方法数据库原理与设计数据库原理与设计11.1.3 11.1.3 数据库设计过程数据库设计过程(1)需求分析阶段)需求分析阶段是整个数据库设计的是整个数据库设计的基础基础,是是最困难最困难、最耗最耗费费时时间的一间的一步。步。数据库原理与设计数据库原理与设计(2)概念结构设计阶段)概念结构设计阶段是整个数据库设计的是整个数据库设计的关键关键,其任务设计其任务设计E-R模型模型。数据库原理与设计数据库

6、原理与设计(3)逻辑结构设计阶段)逻辑结构设计阶段是将是将E-R模型转换为模型转换为关系模关系模型型。数据库原理与设计数据库原理与设计(4)物理结构设计阶段)物理结构设计阶段是为逻辑数据模型选取一个最是为逻辑数据模型选取一个最适合应用环境的物理结构,包适合应用环境的物理结构,包括存储结构和存取方法等括存储结构和存取方法等。数据库原理与设计数据库原理与设计(5)数据库实施阶段)数据库实施阶段根据逻辑设计和物理设计的结果根据逻辑设计和物理设计的结果建立数据库建立数据库,编写和调试应用程,编写和调试应用程序,组织数据入库和试运行。序,组织数据入库和试运行。(6)数据库运行和维护阶段)数据库运行和维护

7、阶段通过试运行后即可投入正式运行,通过试运行后即可投入正式运行,在数据库运行过程中,需要不断在数据库运行过程中,需要不断的对其进行评估调整和修改。的对其进行评估调整和修改。11.2需求分析数据库原理与数据库原理与应用应用14数据库原理与应用数据库原理与应用11.2.1 11.2.1 需求分析的任务需求分析的任务数据库原理与应用数据库原理与应用11.2.2 11.2.2 用户调研需求的方法用户调研需求的方法(1)检查文档)检查文档通过检查与当前系统有关的文档、表格、报告和文件等,进一步通过检查与当前系统有关的文档、表格、报告和文件等,进一步理解原系统,并可以发现与原系统问题相关的业务信息。理解原

8、系统,并可以发现与原系统问题相关的业务信息。(2)问卷调查)问卷调查就用户的职责范围、业务工作目标结果(输出)、业务处理过程就用户的职责范围、业务工作目标结果(输出)、业务处理过程与使用的数据、与其他业务工作的联系(接口)等方面,请其回与使用的数据、与其他业务工作的联系(接口)等方面,请其回答若干问题。答若干问题。数据库原理与应用数据库原理与应用(3)同用户交谈)同用户交谈与用户代表面谈,这是需求调查目前与用户代表面谈,这是需求调查目前最有效的方法最有效的方法。(4)现场调查)现场调查深入用户的业务活动中进行实地调研,目的在于掌握业务流程所深入用户的业务活动中进行实地调研,目的在于掌握业务流程

9、所发生的各个事件,收集有关的资料以补充前面工作不足。但要避发生的各个事件,收集有关的资料以补充前面工作不足。但要避免介入或干涉其具体业务工作。免介入或干涉其具体业务工作。目的是标识每一业务功能、各功能所处理逻辑与使用的数据、执目的是标识每一业务功能、各功能所处理逻辑与使用的数据、执行管理等功能的明显或潜在规律。行管理等功能的明显或潜在规律。交谈的对象必须具有代表性、普遍性,从作业层直到最高决策层交谈的对象必须具有代表性、普遍性,从作业层直到最高决策层都要包括。都要包括。数据库原理与应用数据库原理与应用11.211.2.3 3 需求分析的方法需求分析的方法需求分析中的结构化分析方法采用自顶向下、

10、逐层分解的方法需求分析中的结构化分析方法采用自顶向下、逐层分解的方法分析系统,通过数据流图(分析系统,通过数据流图(Data Flow Diagram,DFD)、)、数据字典(数据字典(Data Dictionary,DD)描述系统。)描述系统。数据库原理与应用数据库原理与应用1.数据流图数据流图外部实体外部实体:数据来源和数据:数据来源和数据输出,用方框表示。输出,用方框表示。数据流数据流:由数据组成,表示:由数据组成,表示数据的流向,用箭头表示。数据的流向,用箭头表示。数据处理数据处理:指对数据的逻辑:指对数据的逻辑处理,用圆圈表示。处理,用圆圈表示。数据存储数据存储:数据保存的地方,:数

11、据保存的地方,用双线段表示。用双线段表示。数据流图是从数据流图是从“数据数据”和和“处理处理”两个方面表达数据处理的一两个方面表达数据处理的一种图形化表示方法,直观、易于被用户理解。种图形化表示方法,直观、易于被用户理解。数据库原理与应用数据库原理与应用2.数据字典数据字典数据字典是对数据流图中的数据流和数据存储等进行详细的数据字典是对数据流图中的数据流和数据存储等进行详细的描述描述。包括数据项、数据结构、数据流、数据存储、处理过程等。包括数据项、数据结构、数据流、数据存储、处理过程等。(1)数据项)数据项数据项是不可再分的数据单位。数据项是不可再分的数据单位。数据项描述数据项描述=数据项名,

12、数据项含义说明,别名,数据类型数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,长度,取值范围,取值含义,与其他数据项的逻辑关系,数据项之间的联系与其他数据项的逻辑关系,数据项之间的联系数据库原理与应用数据库原理与应用例如例如:以:以“学号学号”为例为例数据项名:数据项名:学号学号数据项含义:惟一标识每一个学生数据项含义:惟一标识每一个学生别别 名:名:学生编号学生编号数据类型:数据类型:字符型字符型长长 度:度:8取值范围:取值范围:0000000099999999与其他数据项的逻辑关系:主码或外码与其他数据项的逻辑关系:主码或外码数据库原理与应用数据库原理与应用数据结构反

13、映了数据之间的组合关系。数据结构反映了数据之间的组合关系。例如例如:以:以“学生学生”为例为例 数据结构名:学生数据结构名:学生 含义说明:含义说明:是学籍管理子系统的主体数据结构,定义了是学籍管理子系统的主体数据结构,定义了一个学生的有关信息一个学生的有关信息 组组 成:成:学号、姓名、性别、年龄、所在系学号、姓名、性别、年龄、所在系(2)数据结构)数据结构数据结构描述数据结构描述=数据结构名,含义说明,组成:数据项或数据结构数据结构名,含义说明,组成:数据项或数据结构数据库原理与应用数据库原理与应用数据流是数据结构在系统内传输的路径。数据流是数据结构在系统内传输的路径。数据流描述数据流描述

14、=数据流名,说明,数据流来源,数据流去向,数据流名,说明,数据流来源,数据流去向,组成:数据结构,平均流量,高峰期流量组成:数据结构,平均流量,高峰期流量例如例如:以:以“选课信息选课信息”为例为例数据流名:数据流名:选课信息选课信息说说 明:明:学生所选课程信息学生所选课程信息数据流来源:数据流来源:“学生选课学生选课”处理处理数据流去向:数据流去向:“学生选课学生选课”存储存储组组 成:成:学号,课程号学号,课程号平均流量:平均流量:每天每天10个个高峰期流量:每天高峰期流量:每天100个个(3)数据流)数据流数据库原理与应用数据库原理与应用是数据结构停留或保存的地方,也是数据流的来源和去

15、向之一是数据结构停留或保存的地方,也是数据流的来源和去向之一数据存储描述数据存储描述=数据存储名数据存储名,说明说明,编号编号,流入的数据流流入的数据流,流出的流出的数据流数据流,组成:数据结构组成:数据结构,数据量数据量,存取频度存取频度,存取方式存取方式例如例如:以:以“学生选课学生选课”为例为例数据存储名:数据存储名:学生选课表学生选课表说说 明:明:记录学生所选课程的成绩记录学生所选课程的成绩编编 号:号:无无流入的数据流:选课信息、成绩信息流入的数据流:选课信息、成绩信息流出的数据流:选课信息、成绩信息流出的数据流:选课信息、成绩信息组组 成:成:学号,课程号,成绩学号,课程号,成绩

16、数据数据 量:量:50000个记录个记录存取频存取频 度:度:每天每天20000个记录个记录存取方存取方 式:式:随机存取随机存取(4)数据存储)数据存储数据库原理与应用数据库原理与应用处理过程的具体处理逻辑处理过程的具体处理逻辑处理过程描述处理过程描述=处理过程名,说明,输入:数据流,处理过程名,说明,输入:数据流,输出:数据流,处理:简要说明输出:数据流,处理:简要说明例如例如:以:以“学生选课学生选课”为例为例 处理过程名:学生选课处理过程名:学生选课 说说 明:学生从可选修的课程中选出课程明:学生从可选修的课程中选出课程 输入数据流:学生,课程输入数据流:学生,课程 输出数据流:学生选

17、课信息输出数据流:学生选课信息 处处 理:每学期学生都可以从公布的选修课程中选修自己需理:每学期学生都可以从公布的选修课程中选修自己需要的课程,选课时有些选修课有先修课程的要求,还要保证选修课的要的课程,选课时有些选修课有先修课程的要求,还要保证选修课的上课时间不能与该生必修课时间相冲突,每个学生四年内的选修课门上课时间不能与该生必修课时间相冲突,每个学生四年内的选修课门数不能超过数不能超过16门。门。(5)处理过程)处理过程11.3概念结构设计数据库原理与数据库原理与应用应用26数据库原理与应用数据库原理与应用11.3.1 11.3.1 概念结构设计的重要性概念结构设计的重要性任务相对单一化

18、,设计复杂程度大大降低,便于管理。任务相对单一化,设计复杂程度大大降低,便于管理。概念模型不受具体概念模型不受具体DBMS的限制。的限制。易于被业务用户所理解。易于被业务用户所理解。能反映现实世界事物和事物间联系的真实模型,满足用户对数能反映现实世界事物和事物间联系的真实模型,满足用户对数据的处理要求据的处理要求易于更改和扩充。易于更改和扩充。易于向逻辑模型中的关系数据模型转换。易于向逻辑模型中的关系数据模型转换。数据库原理与应用数据库原理与应用11.3.2 11.3.2 概念结构设计方法概念结构设计方法1自顶向下自顶向下首先定义全局概念结构的框架,然后逐步细化首先定义全局概念结构的框架,然后

19、逐步细化数据库原理与应用数据库原理与应用2自底向上自底向上首先定义各局部应用的子概念结构,然后将它们集成起来,首先定义各局部应用的子概念结构,然后将它们集成起来,得到全局概念结构得到全局概念结构数据库原理与应用数据库原理与应用3逐步扩张逐步扩张首先定义核心业务的概念结构,然后向外扩充,以滚雪球的首先定义核心业务的概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至全局概念结构方式逐步生成其他概念结构,直至全局概念结构数据库原理与应用数据库原理与应用4混合策略混合策略将自顶向下和自底向上两种方法相结合。将自顶向下和自底向上两种方法相结合。【说明说明】在概念模型设计中,最常用的是自底向

20、上的方法。在概念模型设计中,最常用的是自底向上的方法。需求分析时采用自顶向下的方法需求分析时采用自顶向下的方法首先用自顶向下方法设计一个全局概念结构框架,划分成若首先用自顶向下方法设计一个全局概念结构框架,划分成若干个局部概念结构干个局部概念结构再采取自底向上的方法实现全局概念结构加以合并再采取自底向上的方法实现全局概念结构加以合并最终实现全局概念结构最终实现全局概念结构11.4利用E-R模型的概念结构设计数据库原理与数据库原理与应用应用32数据库原理与应用数据库原理与应用概念结构设计的第一步是对需求分析阶段收集到的数据进行分概念结构设计的第一步是对需求分析阶段收集到的数据进行分类、组织,类、

21、组织,确定确定实体实体、属性属性、实体之间的、实体之间的联系联系类型,形成类型,形成E-R图。图。一个概念是用实体还是属性表示?一个概念是用实体还是属性表示?一个概念是做实体的属性还是联系的属性?一个概念是做实体的属性还是联系的属性?考虑:考虑:11.4.1 11.4.1 局部局部E-RE-R模型设计模型设计数据库原理与应用数据库原理与应用 1.1.实体和属性的数据抽象方法实体和属性的数据抽象方法(1 1)分类分类(2 2)聚集聚集定义某一类概念作为现实世界中一组对象的类型,将一组具定义某一类概念作为现实世界中一组对象的类型,将一组具有某些共同特性和行为的对象抽象为一个有某些共同特性和行为的对

22、象抽象为一个实体实体。例如:学生对象具有共同的特性和行为,所以例如:学生对象具有共同的特性和行为,所以“学生学生”是一是一个实体个实体定义某个类型的组成成分。将对象的组成成分抽象为实体的定义某个类型的组成成分。将对象的组成成分抽象为实体的属性属性。例如,学号、姓名、性别等可以抽象为学生实体的属性。例如,学号、姓名、性别等可以抽象为学生实体的属性。数据库原理与应用数据库原理与应用指导原则指导原则:为了简化:为了简化E-R图的处置,现实世界的事物能作为图的处置,现实世界的事物能作为属性对待的属性对待的尽量尽量作作为属性为属性对待。对待。2.2.实体与属性的划分原则实体与属性的划分原则划分准则划分准

23、则:属性属性不可再分,不可再分,不不能能包含其它属性包含其它属性属性属性不能不能与其它实体具有与其它实体具有联系联系。联系只发生在实体之间。联系只发生在实体之间。数据库原理与应用数据库原理与应用示例:示例:医院中一个病人只医院中一个病人只能住在一个病房,病房能住在一个病房,病房号可以作为病人实体的号可以作为病人实体的一个属性。一个属性。病人住院号姓名病房号 如果如果病房病房还要与还要与医生医生实体发生实体发生联系,即一个医生负责几个病房的联系,即一个医生负责几个病房的医疗工作,根据准则医疗工作,根据准则2,病房应作,病房应作为一个实体。为一个实体。病人住院号姓名住在病房医疗医生n1m1数据库原

24、理与应用数据库原理与应用 3.3.属性分配原则属性分配原则多个实体用到同一个属性多个实体用到同一个属性 属性在实体与联系间分配属性在实体与联系间分配 一般把属性分配给使用频率最高的实体,或分配给实体值少一般把属性分配给使用频率最高的实体,或分配给实体值少的实体。的实体。有些属性不宜归属于任一个实体,只说明实体间联系的特有些属性不宜归属于任一个实体,只说明实体间联系的特性。性。学生选课n课程课名成绩m数据库原理与应用数据库原理与应用 4 4局部局部E-RE-R模型设计过程模型设计过程(1 1)确定局部结构范围)确定局部结构范围 一种是依据系统的当前用户进行自一种是依据系统的当前用户进行自然划分。

25、然划分。另一种是按用户要求数据库提供的另一种是按用户要求数据库提供的服务归纳成几类服务归纳成几类局部结构范围的确定要考虑下述因素局部结构范围的确定要考虑下述因素:范围划分要自然,易于管理。范围划分要自然,易于管理。范围之间的界面要清晰,相互影响范围之间的界面要清晰,相互影响要小。要小。范围的大小要适度。范围的大小要适度。数据库原理与应用数据库原理与应用(2 2)实体定义)实体定义任务是确定每一个实体的属性和键任务是确定每一个实体的属性和键注意防止出现冗余的联系(即可从其注意防止出现冗余的联系(即可从其它联系导出的联系)它联系导出的联系)(3 3)联系定义)联系定义(4 4)属性分配)属性分配确

26、定实体与联系的属性确定实体与联系的属性数据库原理与应用数据库原理与应用局部局部E-R图合并(消除冲突)初步初步E-R图优化(消除不必要的冗余)全局全局E-R图11.4.11.4.2 2 全局全局E-RE-R模型设计模型设计数据库原理与应用数据库原理与应用示例:示例:将如下两个局部将如下两个局部E-R图合并为初步图合并为初步E-R图图产品 零件构成m供应商供应n产品 零件数量数量供应商供应数量2npmnpm产品 零件构成mn数量1数据库原理与应用数据库原理与应用1.1.确认公共实体确认公共实体同名同名实体作为公共实体实体作为公共实体具有具有相同键相同键的实体作为公共实体的实体作为公共实体项目编号

27、项目名称课题编号课题名称数据库原理与应用数据库原理与应用2 2局部局部E-RE-R模型的合并模型的合并多个局部多个局部E-R图一次合并图一次合并逐步合并逐步合并数据库原理与应用数据库原理与应用3.3.消除冲突消除冲突(1 1)属性属性冲突冲突属性属性域域冲突冲突:即属性值的类型、取值范围和取值集合不同。:即属性值的类型、取值范围和取值集合不同。属性属性取值单位取值单位冲突冲突学号属性,学号属性,局部局部应用应用A中定义为整数,应用中定义为整数,应用B中定义为字符型中定义为字符型成绩属性,成绩属性,局部局部应用应用A中取中取0-100分数,分数,局部局部应用应用B中取中取A-E等级等级身高属性,

28、身高属性,局部局部应用应用A中单位定义为米,中单位定义为米,局部局部应用应用B中定义为厘米中定义为厘米解决解决各部门各部门讨论协商讨论协商。数据库原理与应用数据库原理与应用(2 2)命名命名冲突冲突同名异义同名异义异名同义异名同义局部应用局部应用A将教室称为房间,局部应用将教室称为房间,局部应用B中将宿舍称为房间中将宿舍称为房间对于科研项目,财务科称为项目,科研处称为课题,生产管对于科研项目,财务科称为项目,科研处称为课题,生产管理处称为工程理处称为工程解决解决各部门各部门讨论协商讨论协商。数据库原理与应用数据库原理与应用(3)3)结构结构冲突冲突同一对象同一对象在不同应用中具有在不同应用中具

29、有不同抽象不同抽象同一同一实体实体在不同局部在不同局部E-R图中所包含的图中所包含的属性个数属性个数和属性和属性排列次序不排列次序不完全相完全相同。同。职工在某一局部应用中为实体,在另一局部应用中为属性职工在某一局部应用中为实体,在另一局部应用中为属性解决:解决:属性变实体,或实体变换为属性,具有相同抽象。属性变实体,或实体变换为属性,具有相同抽象。解决:解决:实体的属性取各局部实体的属性取各局部E-R图的属性并集,适当调整属性次序图的属性并集,适当调整属性次序实体间的实体间的联系联系在不同局部在不同局部E-R图中为图中为不同类型不同类型解决:解决:根据应用的语义对实体联系类型进行综合或调整根

30、据应用的语义对实体联系类型进行综合或调整实体实体E1、E2在局部应用在局部应用A中联系为中联系为1:1,在局部应用,在局部应用B中为中为1:n数据库原理与应用数据库原理与应用4.4.全局全局E-RE-R模型的优化模型的优化一般在权衡利弊后,可以把一般在权衡利弊后,可以把1:1联系的两个实体合并。联系的两个实体合并。一个属性值可从其他属性的值导出来一个属性值可从其他属性的值导出来注:注:不是不是所有的冗余数据与冗余联系都所有的冗余数据与冗余联系都必须必须加以加以消除消除,有时为,有时为了了提高效率提高效率,不得不以冗余信息作为代价。,不得不以冗余信息作为代价。(1)实体的合并)实体的合并(2)冗

31、余属性冗余属性的消除的消除(3)冗余联系冗余联系的消除的消除可由其它联系导出的联系。可由其它联系导出的联系。数据库原理与应用数据库原理与应用示例:示例:产品构成零件消耗材料存放仓库使用用量Q3零件数Q1耗用量Q2存放总量Q4存放量Q5mnmnmnn1用量用量Q3=零件数零件数Q1耗用量耗用量Q2存放总量存放总量Q4=存放量存放量Q5的和的和Q Q3 3为冗余属性,为冗余属性,消去,消去,“使用使用”联系,也联系,也消去消去如果仓库管理部门如果仓库管理部门经常查询经常查询各种材料的各种材料的库存量库存量,则则Q Q4 4不不能能消除消除,否则降低效率。,否则降低效率。为为Q Q4 4定义完整性约

32、束条件,当定义完整性约束条件,当Q Q5 5修改修改后,要触发该后,要触发该完整性检查,对完整性检查,对Q Q4 4作相应修改作相应修改。11.5逻辑结构设计数据库原理与数据库原理与应用应用49数据库原理与设计数据库原理与设计11.5.1 E-R11.5.1 E-R图向关系模型的转换图向关系模型的转换1实体转换成关系模式实体转换成关系模式学生 学号 姓名性别班级学生学生(学号学号,姓名,性别,班级,姓名,性别,班级)示例示例每个实体分别转换为一个每个实体分别转换为一个关系关系模式,关系的属性就是实体的属模式,关系的属性就是实体的属性,关系的码就是实体的码。性,关系的码就是实体的码。数据库原理与

33、设计数据库原理与设计 1 1)二元)二元联系联系的转换的转换 转换为转换为一个独立的关系模式一个独立的关系模式,则与该联系相连接的各实体的键及联系本身的,则与该联系相连接的各实体的键及联系本身的属性均转换为该关系模式的属性,每个实体的键均是该关系模式的候选键。属性均转换为该关系模式的属性,每个实体的键均是该关系模式的候选键。示例示例1 1:1 1联系联系可以转换为一个关系模式,或与任意一端的关系模式合并。可以转换为一个关系模式,或与任意一端的关系模式合并。学生床位学号姓名性别班级楼号寝室号床号入住入住时间 学生学生(学号学号,姓名,性别,班级),姓名,性别,班级)床位床位(楼号楼号,寝室号寝室

34、号,床号,床号)入住入住(学号学号,楼号楼号,寝室号,寝室号,床号,床号 ,入住时间),入住时间)112联系的转换联系的转换数据库原理与应用数据库原理与应用 与某一端实体对应的关系模式合并,则需要在该关系模式的与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的键(作为外键)和联系本身的属性。属性中加入另一个关系模式的键(作为外键)和联系本身的属性。示例示例学生床位学号姓名性别班级楼号寝室号床号入住入住时间 学生学生(学号学号,姓名,性别,班级,姓名,性别,班级,楼号楼号,寝室号,寝室号,床号,床号,入住时间),入住时间)床位床位(楼号楼号,寝室号,寝室号,床号床号)

35、方案一方案一方案二方案二 学生学生(学号学号,姓名,性别,班级),姓名,性别,班级)床位床位(楼号楼号,寝室号,寝室号,床号,床号,学号学号 ,入住时间),入住时间)11数据库原理与应用数据库原理与应用示例示例1 1:n n联系的转换联系的转换 在在n端实体转换的关系模式中加入端实体转换的关系模式中加入1端实体的键(作为外键)端实体的键(作为外键)和联系的属性。和联系的属性。管理经理公寓员工号姓名性别楼号名称主管1n 管理经理管理经理(员工号员工号,姓名,性别),姓名,性别)公寓公寓(楼号楼号,名称,名称,员工号员工号)数据库原理与应用数据库原理与应用示例示例 m:n联系的转换联系的转换 将联

36、系转换为一个独立的关系模式,其属性为两端实体的键将联系转换为一个独立的关系模式,其属性为两端实体的键(作为外键)加上联系的属性,两端实体的键组成该关系模式(作为外键)加上联系的属性,两端实体的键组成该关系模式的键或键的一部分。的键或键的一部分。mn学生图书借书证号姓名系图书编号书名价格借阅借阅日期 学生学生(借书证号借书证号,姓名,系),姓名,系)图书图书(图书编号图书编号,书名,价格),书名,价格)借阅借阅(借书证号,图书编号借书证号,图书编号,借阅日期,借阅日期)数据库原理与应用数据库原理与应用2 2)一元一元联系联系的转换的转换 和二元联系的转换类似。和二元联系的转换类似。示例示例职工领

37、导工号姓名年龄性别1n职工职工(工号工号,姓名,年龄,性别,姓名,年龄,性别,经理工号经理工号)职工职工(工号工号,姓名,年龄,性别,姓名,年龄,性别,经理工号经理工号)数据库原理与应用数据库原理与应用3 3)三元三元联系联系的转换的转换1:1:1联系转换联系转换 如果实体间的联系是如果实体间的联系是1:1:1,可以在,可以在3个实体转换成的个实体转换成的3个关系模式中,任个关系模式中,任意一个关系模式的属性中加入另两个关系模式的键(作为外键)和联系的属性。意一个关系模式的属性中加入另两个关系模式的键(作为外键)和联系的属性。1:1:n联系转换联系转换 如果实体间的联系是如果实体间的联系是1:

38、1:n,则在,则在n端实休转换成的关系模式中加入两个端实休转换成的关系模式中加入两个1端实体的键(作为外键)和联系的属性。端实体的键(作为外键)和联系的属性。1:m:n联系转换联系转换如果实体间的联系是如果实体间的联系是1:m:n,则将联系也转换成关系模式,则将联系也转换成关系模式,其属性为其属性为m端和端和n端实体的键(作为外键)加上联系的属性,端实体的键(作为外键)加上联系的属性,两两端实体的键作为该关系模式的键或键的一部分。端实体的键作为该关系模式的键或键的一部分。1端的键可以根据端的键可以根据应用的实际情况,加入到应用的实际情况,加入到m端或者端或者n端或者联系中作为外键。端或者联系中

39、作为外键。数据库原理与应用数据库原理与应用m:n:p联系转换联系转换 如果实体间的联系是如果实体间的联系是m:n:p,则将联系也转换成关系模式,其属性为,则将联系也转换成关系模式,其属性为3端实体的键(作为外键)加上联系的属性,各实体的键组成该关系模式的键端实体的键(作为外键)加上联系的属性,各实体的键组成该关系模式的键或键的一部分。或键的一部分。商店商品仓库进货商店号商店名仓库号仓库名地址商品号商品名数量日期npm示例示例仓库仓库(仓库号仓库号,仓库名,地址),仓库名,地址)商店商店(商店号商店号,商店名),商店名)商品商品(商品号商品号,商品名),商品名)进货进货(仓库号仓库号,商店号商店

40、号,商品号,商品号,日期,日期,数量),数量)数据库原理与应用数据库原理与应用1.1.关系模式的优化关系模式的优化关系模式规范化关系模式规范化优点优点?消除异常、减少数据冗余、节约存储空间。消除异常、减少数据冗余、节约存储空间。对完全规范的数据库查询,通常需要更多的对完全规范的数据库查询,通常需要更多的连接连接操作,而操作,而连接操作很费时间,连接操作很费时间,影响查询影响查询的速度。的速度。关系模式规范化关系模式规范化缺点缺点?有时为了提高某些查询或应用的性能,而有时为了提高某些查询或应用的性能,而有意破坏规范化有意破坏规范化规规则,这一过程叫则,这一过程叫逆规范化逆规范化。11.5.2 1

41、1.5.2 关系模式的优化和设计外模式关系模式的优化和设计外模式数据库原理与应用数据库原理与应用1 1)增加增加冗余冗余属性属性 增加冗余属性,是指在多个关系中都具有相同的属性,它常用来在增加冗余属性,是指在多个关系中都具有相同的属性,它常用来在查询时查询时避免联接避免联接操作。操作。在在“公寓管理系统公寓管理系统”中,有如下两个关系:中,有如下两个关系:学生(学生(学号学号,姓名,性别,班级),姓名,性别,班级)床位(床位(楼号楼号,寝室号,寝室号,床号,床号,学号,学号)公寓管理人员经常检索学生所在的公寓、寝室、床位,公寓管理人员经常检索学生所在的公寓、寝室、床位,怎样解决怎样解决?示例示

42、例方法一方法一:对关系对关系“学生学生”和和“床位床位”进行联接操作。进行联接操作。方法二方法二:在:在“学生学生”关系中增加关系中增加3个属性:楼号、寝室号和床号。个属性:楼号、寝室号和床号。增加冗余属性,可以在查询时避免联接操作。但它需要更多的增加冗余属性,可以在查询时避免联接操作。但它需要更多的磁盘空间磁盘空间,同时增加了表维护的,同时增加了表维护的工作量工作量。弊端弊端数据库原理与应用数据库原理与应用2 2)增加增加派生派生属性属性 增加派生属性,是指增加的属性来自其他关系中的数据,由它们增加派生属性,是指增加的属性来自其他关系中的数据,由它们计算生成。它的作用是在查询时计算生成。它的

43、作用是在查询时减少连接减少连接操作,操作,避免避免使用使用聚集函数聚集函数。在在“公寓管理系统公寓管理系统”中,有如下两个关系:中,有如下两个关系:公寓(楼号,公寓名)公寓(楼号,公寓名)床位(楼号,寝室号,床号,学号)床位(楼号,寝室号,床号,学号)频繁查询公寓名和该公寓入住的学生人数,频繁查询公寓名和该公寓入住的学生人数,怎样解决怎样解决?示例示例方法一方法一:两个关系进行联接查询,并使用聚集函数。两个关系进行联接查询,并使用聚集函数。方法二方法二:在:在“公寓公寓”关系中加入关系中加入“学生人数学生人数”属性。属性。需要更多的需要更多的磁盘空间磁盘空间,增加表维护的,增加表维护的工作量工

44、作量。弊端弊端 代价是必须在代价是必须在“床位床位”关系上,关系上,创建创建增、删、改的增、删、改的触发器触发器来维护来维护“公寓公寓”中中“学生人数学生人数”的值。的值。数据库原理与应用数据库原理与应用3 3)重建重建关系关系 重建关系,是指如果重建关系,是指如果许多用户许多用户需要查看两个关系连接出来的结果需要查看两个关系连接出来的结果数据,则把这两个关系重新组成一个关系,减少连接提高查询性能。数据,则把这两个关系重新组成一个关系,减少连接提高查询性能。在在“教务管理系统教务管理系统”中,有如下两个关系:中,有如下两个关系:课程(课程编号,课程名称,教师编号)课程(课程编号,课程名称,教师

45、编号)教师(教师编号,教师姓名)教师(教师编号,教师姓名)教务管理人员需要经常同时查看课程号、课程名、任课教师号、任教务管理人员需要经常同时查看课程号、课程名、任课教师号、任课教师名,课教师名,怎样解决怎样解决?示例示例 需要更多的需要更多的磁盘空间磁盘空间,损失了数据本身的独立性。损失了数据本身的独立性。弊端弊端将两个关系将两个关系合并合并成一个关系:成一个关系:课程(课程编号,课程名称,教师编号,教师姓名)课程(课程编号,课程名称,教师编号,教师姓名)数据库原理与应用数据库原理与应用4 4)分割分割关系关系 对于一个员工很多的大公司的人事档案管理,可将员工按对于一个员工很多的大公司的人事档

46、案管理,可将员工按部门或工作地区建立员工关系,对关系进行水平分割。部门或工作地区建立员工关系,对关系进行水平分割。示例示例 水平分割会给应用增加复杂度,它通常在查询时需要多个表名,水平分割会给应用增加复杂度,它通常在查询时需要多个表名,查询所有数据需要查询所有数据需要UNION操作。在许多数据库应用中,这种复杂性操作。在许多数据库应用中,这种复杂性会超过它带来的优点。因为,在索引用于查询时,增加了读一个索会超过它带来的优点。因为,在索引用于查询时,增加了读一个索引层的磁盘次数。引层的磁盘次数。弊端弊端水平分割适用情况水平分割适用情况 数据量很大数据量很大。分割后可以降低在查询时需要读的数据和索

47、引。分割后可以降低在查询时需要读的数据和索引的页数,同时也降低了索引的层数,提高了查询速度。的页数,同时也降低了索引的层数,提高了查询速度。数据本身就有独立性数据本身就有独立性。例如,数据库中分别记录各个地区的数据或。例如,数据库中分别记录各个地区的数据或不同时期的数据,特别是有些数据常用,而另外一些数据不常用。不同时期的数据,特别是有些数据常用,而另外一些数据不常用。数据库原理与应用数据库原理与应用 对于一所大学的教工档案,属性很多,则可以进行垂直分割,对于一所大学的教工档案,属性很多,则可以进行垂直分割,将其常用属性和很少用的属性分成两个关系。将其常用属性和很少用的属性分成两个关系。示例示

48、例 垂直分割是把关系中的主键和一些属性构成一个新的关系,把垂直分割是把关系中的主键和一些属性构成一个新的关系,把主键和剩余的属性构成另外一个关系。如果一个关系中某些属性主键和剩余的属性构成另外一个关系。如果一个关系中某些属性常用,而另外一些属性不常用,则可以采用垂直分割。常用,而另外一些属性不常用,则可以采用垂直分割。优点优点垂直分割垂直分割垂直分割可以使得列数变少,一个数据页就能存放更多垂直分割可以使得列数变少,一个数据页就能存放更多的数据,在查询时就会的数据,在查询时就会减少减少I/O次数次数。缺点缺点需要管理冗余属性,查询所有数据需要需要管理冗余属性,查询所有数据需要JOIN操作。操作。

49、数据库原理与应用数据库原理与应用2 2设计用户外模式设计用户外模式重定义属性名重定义属性名 外模式外模式在在DBMS中通过中通过视图视图实现,实现,提高数据安全性提高数据安全性简化了用户对系统的使简化了用户对系统的使用用11.6物理结构设计数据库原理与数据库原理与应用应用65数据库原理与应用数据库原理与应用1.1.确定数据的存取方法确定数据的存取方法存取方法由数据库管理系统根据数据的存储方式决定,存取方法由数据库管理系统根据数据的存储方式决定,用用户一般不能干预户一般不能干预。通过建立索引的方法来加快数据查询效率。通过建立索引的方法来加快数据查询效率。经常在查询条件中出现的属性经常在查询条件中

50、出现的属性建立索引的一般原则建立索引的一般原则经常作为最大值或最小值等聚集函数参数的属性经常作为最大值或最小值等聚集函数参数的属性经常在联接操作的联接条件中出现的属性经常在联接操作的联接条件中出现的属性经常作为分组的依据列的属性经常作为分组的依据列的属性数据库原理与应用数据库原理与应用2 2.确定数据的物理存储结构确定数据的物理存储结构一般的存储方式有顺序存储、散列存储和聚簇存储。一般的存储方式有顺序存储、散列存储和聚簇存储。顺序存储:其平均查找次数为表中记录数的二分之一。顺序存储:其平均查找次数为表中记录数的二分之一。散列存储:其平均查找次数由散列算法确定。散列存储:其平均查找次数由散列算法

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com