第11-数据库设计课件

上传人:沈*** 文档编号:241638965 上传时间:2024-07-12 格式:PPTX 页数:48 大小:632.47KB
返回 下载 相关 举报
第11-数据库设计课件_第1页
第1页 / 共48页
第11-数据库设计课件_第2页
第2页 / 共48页
第11-数据库设计课件_第3页
第3页 / 共48页
点击查看更多>>
资源描述
制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组11.111.1数据库设计引论数据库设计引论 数据库设计的基本任务是:根据一个单位的信息需数据库设计的基本任务是:根据一个单位的信息需求、处理需求和数据库的支撑环境(包括求、处理需求和数据库的支撑环境(包括DBMSDBMS、操作系操作系统、网络和硬件),设计出数据模式(包括外模式、逻统、网络和硬件),设计出数据模式(包括外模式、逻辑(概念)模式和内模式)以及典型的应用程序。辑(概念)模式和内模式)以及典型的应用程序。数据库设计的成果有二:一是数据模式,二是以数据数据库设计的成果有二:一是数据模式,二是以数据库为基础的典型应用程序。应用程序是随着应用而不断库为基础的典型应用程序。应用程序是随着应用而不断发展的,在有些以即席访问为主的数据库系统中,如情发展的,在有些以即席访问为主的数据库系统中,如情报检索,事先很难编出所需的应用程序或事务。因此,报检索,事先很难编出所需的应用程序或事务。因此,数据库设计的最基本的成果是数据模式。不过,数据模数据库设计的最基本的成果是数据模式。不过,数据模式的设计必须反映数据处理的需求,以保证常用的、大式的设计必须反映数据处理的需求,以保证常用的、大多数的数据处理能使用方便、性能满意。多数的数据处理能使用方便、性能满意。制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组 数据库设计也有两种不同的方法:一种是以信息需求数据库设计也有两种不同的方法:一种是以信息需求为主,兼顾处理需求,这种方法称为面向数据的设计方法为主,兼顾处理需求,这种方法称为面向数据的设计方法(data-oriented approachdata-oriented approach);另一种是以处理需求为主,);另一种是以处理需求为主,兼顾信息需求,这种方法称为面向过程的设计方法兼顾信息需求,这种方法称为面向过程的设计方法(process-data-oriented approachprocess-data-oriented approach)。)。用前一种方法设计的数据库,可以比较好地反映数据用前一种方法设计的数据库,可以比较好地反映数据的内在联系,不但可以满足当前应用的需要,还可以满足的内在联系,不但可以满足当前应用的需要,还可以满足潜在应用的需要。用第二种方法设计的数据库,可能在使潜在应用的需要。用第二种方法设计的数据库,可能在使用的初始阶段比较好地满足应用的需要,获得好的性能,用的初始阶段比较好地满足应用的需要,获得好的性能,但随着应用的发展和变化,往往会导致数据库的较大变动但随着应用的发展和变化,往往会导致数据库的较大变动或重构。或重构。制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组 数据库设计也和其他工程设计一样,具有如下三个特征。数据库设计也和其他工程设计一样,具有如下三个特征。()反复性。数据库设计不可能()反复性。数据库设计不可能“一气呵成一气呵成”,需要,需要反复推敲和修改才能完成。反复推敲和修改才能完成。()试探性。数据库设计不同于求解一个数学题,设()试探性。数据库设计不同于求解一个数学题,设计结果一般不是唯一的。设计过程往往是一个试探的计结果一般不是唯一的。设计过程往往是一个试探的过程。在设计过程中,有各式各样的要求和制约因素,过程。在设计过程中,有各式各样的要求和制约因素,它们之间往往是矛盾的。它们之间往往是矛盾的。()分步进行。数据库设计常常由不同的人员分阶段()分步进行。数据库设计常常由不同的人员分阶段进行。这样做,一是由于技术上分工的需要;二是为进行。这样做,一是由于技术上分工的需要;二是为了分段把关,逐级审查,保证设计的质量和进度。了分段把关,逐级审查,保证设计的质量和进度。制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组 据库设计的基本过程如图据库设计的基本过程如图11-111-1所示,一般可分为所示,一般可分为步步:需求分析需求分析 设计一个数据库,首先必须确认数据库的用户和设计一个数据库,首先必须确认数据库的用户和用途。由于数据库是一个单位的模拟,数据库设计者用途。由于数据库是一个单位的模拟,数据库设计者必须对一个单位的组织、各部门的联系、有关事物和必须对一个单位的组织、各部门的联系、有关事物和活动以及描述它们的数据、信息流程、政策和制度、活动以及描述它们的数据、信息流程、政策和制度、报表及其格式和有关的文档等有所了解。收集和分析报表及其格式和有关的文档等有所了解。收集和分析这些资料的过程称为需求分析。这些资料的过程称为需求分析。制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组概念设计概念设计 在需求分析的基础上,通常用概念数据模型,如在需求分析的基础上,通常用概念数据模型,如E-RE-R数据模型,表示数据及其相互间的联系。概念数据数据模型,表示数据及其相互间的联系。概念数据模型是与模型是与DBMSDBMS无关面向现实世界的数据模型,因而也无关面向现实世界的数据模型,因而也易于为用户所理解。在概念设计阶段,设计人员可以易于为用户所理解。在概念设计阶段,设计人员可以致力于模拟现实世界,而不必过早地纠缠于致力于模拟现实世界,而不必过早地纠缠于DBMSDBMS所规所规定的各种细节。定的各种细节。制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组逻辑设计逻辑设计 在逻辑设计阶段,将第二步所得到的以概念数据模在逻辑设计阶段,将第二步所得到的以概念数据模型表示、与型表示、与DBMSDBMS无关的数据模式,转换成以无关的数据模式,转换成以DBMSDBMS的逻的逻辑数据模型表示的逻辑(概念)模式。数据库的逻辑辑数据模型表示的逻辑(概念)模式。数据库的逻辑设计也不是一个简单的数据模型的转换问题,而是进设计也不是一个简单的数据模型的转换问题,而是进一步深入解决数据模式设计中的一些技术问题,如数一步深入解决数据模式设计中的一些技术问题,如数据模式的规范化、满足据模式的规范化、满足DBMSDBMS的各种限制等。数据库逻的各种限制等。数据库逻辑设计的结果以数据定义语言(辑设计的结果以数据定义语言(DDLDDL)表示。除数据库)表示。除数据库的逻辑模式外,本阶段还要为各类用户或应用设计其的逻辑模式外,本阶段还要为各类用户或应用设计其各自的逻辑模式,即外模式。各自的逻辑模式,即外模式。制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组物理设计物理设计 数据库物理设计的任务是:根据逻辑(概念)模式数据库物理设计的任务是:根据逻辑(概念)模式DBMS及计算机系统所提供的手段和施加的限制,设及计算机系统所提供的手段和施加的限制,设计数据库的内模式,即文件结构、各种存取路径、存计数据库的内模式,即文件结构、各种存取路径、存储空间的分配、记录的存储格式等。数据库的内模式储空间的分配、记录的存储格式等。数据库的内模式虽不直接面向用户,但对数据库的性能影响颇大。虽不直接面向用户,但对数据库的性能影响颇大。DBMS提供相应的提供相应的DDL语句及命令,供数据库设计人语句及命令,供数据库设计人员及员及DBA定义内模式之用。定义内模式之用。制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组11.211.2数据库的概念设计数据库的概念设计 11.2.1 11.2.1数据库概念设计的基本方法数据库概念设计的基本方法 用于概念设计的数据模型既要有足够的表达能力,用于概念设计的数据模型既要有足够的表达能力,可以表示各种类型的数据及其相互间的联系和语义,可以表示各种类型的数据及其相互间的联系和语义,又要简明易懂,能够为非计算机专业人员所接受。可又要简明易懂,能够为非计算机专业人员所接受。可供选择的数据模型有各种语义数据模型供选择的数据模型有各种语义数据模型UMLUML语言等。目语言等。目前应用得最广泛的是前应用得最广泛的是E-RE-R数据模型及其扩充版本数据模型及其扩充版本(EEREER)。)。制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组 用用E-R数据模型设计数据模式,首先必须根据需求数据模型设计数据模式,首先必须根据需求说明,确认实体、联系和属性。说明,确认实体、联系和属性。概念设计所产生的模式本来就要求比较自然地反映概念设计所产生的模式本来就要求比较自然地反映现实世界。因此,实体、属性和联系的划分实质上反现实世界。因此,实体、属性和联系的划分实质上反映了数据库设计者和用户对现实世界的理解和观察。映了数据库设计者和用户对现实世界的理解和观察。它既是客观世界的描述,又反映设计者的观点甚至偏它既是客观世界的描述,又反映设计者的观点甚至偏爱。在同一单位,不同的设计者可以设计出不同的数爱。在同一单位,不同的设计者可以设计出不同的数据模式,这是不足为奇的。据模式,这是不足为奇的。制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组 一个单位有许多部门、用户组和各种应用,需求一个单位有许多部门、用户组和各种应用,需求说明来自对它们的调查和分析。这些不同来源的需求说明来自对它们的调查和分析。这些不同来源的需求可能不一致,甚至矛盾。如何在这样的需求说明的基可能不一致,甚至矛盾。如何在这样的需求说明的基础上设计出一个单位的数据模式,一般有下列两种不础上设计出一个单位的数据模式,一般有下列两种不同的方法。同的方法。集中式模式设计法集中式模式设计法 首先将需求说明综合成一个一致的、统一的需求首先将需求说明综合成一个一致的、统一的需求说明,一般由一个权威组织或授权的进行此项说明,一般由一个权威组织或授权的进行此项综合工作。然后,在此基础上设计一个单位的全局数综合工作。然后,在此基础上设计一个单位的全局数据模式,再根据全局数据模式为各个用户组或应用定据模式,再根据全局数据模式为各个用户组或应用定义外模式。义外模式。制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组 这种方法强调统一,对各用户组和应用可能照顾不这种方法强调统一,对各用户组和应用可能照顾不够,一般用于小的、不太复杂的单位。够,一般用于小的、不太复杂的单位。视图集成法视图集成法 视图集成法不要求综合成一个统一的需求说明,而是视图集成法不要求综合成一个统一的需求说明,而是以各部分的需求说明为基础,按照统一的要求和规范,以各部分的需求说明为基础,按照统一的要求和规范,分别设计各自的局部模式。这些局部模式实际上相当于分别设计各自的局部模式。这些局部模式实际上相当于各部分的视图,然后再以这些视图为基础,集成为一个各部分的视图,然后再以这些视图为基础,集成为一个全局模式。全局模式。制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组 两者的设计思想是有区别的:两者的设计思想是有区别的:视图集成法是以局部需求说明为设计的基础,在视图集成法是以局部需求说明为设计的基础,在集成时,尽管要对视图做必要的修改,但视图是设计集成时,尽管要对视图做必要的修改,但视图是设计的基础,全局模式是视图的集成;集中式模式设计法的基础,全局模式是视图的集成;集中式模式设计法是在统一需求说明的基础上,设计全局模式,再设计是在统一需求说明的基础上,设计全局模式,再设计外模式,全局模式是设计的基础。外模式,全局模式是设计的基础。视图集成法比较适合于大型数据库的设计,可以视图集成法比较适合于大型数据库的设计,可以多组并行进行,可以免除综合需求说明的麻烦。目前,多组并行进行,可以免除综合需求说明的麻烦。目前,视图集成法用得较多。视图集成法用得较多。制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组 11.2.2 11.2.2视图设计视图设计 视图是按照某个用户组、应用或部门的需求说明,视图是按照某个用户组、应用或部门的需求说明,用用E-RE-R数据模型设计的局部模式。视图的设计一般从小数据模型设计的局部模式。视图的设计一般从小开始,逐步扩大,直至完备,一般有下列三种可能的开始,逐步扩大,直至完备,一般有下列三种可能的设计次序。设计次序。()自顶向下。自顶向下的视图设计先从抽象级别()自顶向下。自顶向下的视图设计先从抽象级别高、普遍的对象开始,逐步细化、具体化、特殊化。高、普遍的对象开始,逐步细化、具体化、特殊化。()自底向上。自底向上的视图设计从具体的基本()自底向上。自底向上的视图设计从具体的基本对象开始,逐步抽象化、普遍化。这相当于面向对象对象开始,逐步抽象化、普遍化。这相当于面向对象数据模型和中的普遍化过程。数据模型和中的普遍化过程。()由内及外。由内向外的视图设计从最基本、最()由内及外。由内向外的视图设计从最基本、最明显的对象开始,逐步扩大至有关的其他对象。明显的对象开始,逐步扩大至有关的其他对象。制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组 视图的设计从局部的需求出发,比起一开始就设视图的设计从局部的需求出发,比起一开始就设计全局模式要简单得多、单纯得多。有了各个局部视计全局模式要简单得多、单纯得多。有了各个局部视图,就可通过视图集成设计全局模式。在视图集成时,图,就可通过视图集成设计全局模式。在视图集成时,须解决下列三个问题。须解决下列三个问题。确认视图中的对应和冲突确认视图中的对应和冲突 对应是指视图中语法和语义都相同的概念,也就对应是指视图中语法和语义都相同的概念,也就是它们的共同部分。冲突指它们有矛盾的概念。常见是它们的共同部分。冲突指它们有矛盾的概念。常见的冲突有下列种。的冲突有下列种。()命名冲突。命名冲突有同名异义和同义异名()命名冲突。命名冲突有同名异义和同义异名两种。两种。制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组()概念冲突。同一概念在一个视图中可能作为实体,()概念冲突。同一概念在一个视图中可能作为实体,在另一视图中可能作为属性或联系。在另一视图中可能作为属性或联系。()域冲突。相同的属性在不同的视图中有不同的域。()域冲突。相同的属性在不同的视图中有不同的域。有些属性采用不同的度量单位,也属域冲突。有些属性采用不同的度量单位,也属域冲突。()约束冲突。不同视图可能有不同的约束。例如,()约束冲突。不同视图可能有不同的约束。例如,对于对于“选课选课”这个联系,大学生和研究生对选课的最这个联系,大学生和研究生对选课的最少门数和最多门数可能不一样。少门数和最多门数可能不一样。制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组对视图进行某些修改,解决部分冲突对视图进行某些修改,解决部分冲突 例如在图例如在图11-211-2中,中,“入学时间入学时间”和和“何时入学何时入学”两个属性名可以统一成两个属性名可以统一成“入学时间入学时间”,学号一律用字,学号一律用字符串表示,学生分为大学生和研究生两类,课程也分符串表示,学生分为大学生和研究生两类,课程也分为本科生课程和研究生课程两类等。为本科生课程和研究生课程两类等。合并视图,形成全局模式合并视图,形成全局模式 尽可能合并对应的部分,保留特殊的部分,删除冗尽可能合并对应的部分,保留特殊的部分,删除冗余部分,必要时对模式进行适当的修改,力求使模式余部分,必要时对模式进行适当的修改,力求使模式简明清晰。简明清晰。制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组11.311.3数据库的逻辑设计数据库的逻辑设计 11.3.1 E-R11.3.1 E-R图到关系模式的转换图到关系模式的转换 进行数据库的逻辑设计,首先须将概念设计中所进行数据库的逻辑设计,首先须将概念设计中所得到的得到的E-R图转换成等价的关系模式。图到关系图转换成等价的关系模式。图到关系模式的转换还是比较直接的。实体和联系都可以表示模式的转换还是比较直接的。实体和联系都可以表示成关系,成关系,E-R图中的属性也可以转换成关系的属性。图中的属性也可以转换成关系的属性。制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组命名和属性域的处理命名和属性域的处理 关系模式的命名,可以采用关系模式的命名,可以采用E-RE-R图中原来的命名,图中原来的命名,也可以另行命名。命名应有助于对数据的理解和记忆,也可以另行命名。命名应有助于对数据的理解和记忆,同时应尽可能避免重名。同时应尽可能避免重名。DBMSDBMS一般只支持有限的几种一般只支持有限的几种数据类型,而数据类型,而E-RE-R数据模型是不受这个限制的。如果数据模型是不受这个限制的。如果DBMSDBMS不支持不支持E-RE-R图中某些属性的域,则应做相应的修改。图中某些属性的域,则应做相应的修改。如果用户坚持使用原来的数据类型,那就可能导致数如果用户坚持使用原来的数据类型,那就可能导致数据库的数据类型与应用程序中的数据类型不一致,这据库的数据类型与应用程序中的数据类型不一致,这只能由应用程序去转换。只能由应用程序去转换。制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组非原子属性的处理非原子属性的处理 E-RE-R数据模型中允许非原子属性,这不符合传统关数据模型中允许非原子属性,这不符合传统关系模型的第一范式的条件。非原子属性主要有两种基系模型的第一范式的条件。非原子属性主要有两种基本类型:集合型和元组型。本类型:集合型和元组型。当然,集合的元素可以是元组,元组的分量可以当然,集合的元素可以是元组,元组的分量可以是集合。只要解决这两种基本的非原子属性的转换问是集合。只要解决这两种基本的非原子属性的转换问题,就不难推广到其他复杂的非原子属性的处理题,就不难推广到其他复杂的非原子属性的处理 制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组弱实体的处理弱实体的处理 弱实体不能独立存在,它必须依附于一个所有者实弱实体不能独立存在,它必须依附于一个所有者实体。在转换成关系模式时,弱实体所对应的关系中必体。在转换成关系模式时,弱实体所对应的关系中必须包含所有者实体的主键。须包含所有者实体的主键。联系的转换联系的转换()()联系。联系。E-R E-R图见图图见图11-611-6,如果其中有一个实体是全参与,如果其中有一个实体是全参与,如如E1E1,则可转换成下面的关系模式:,则可转换成下面的关系模式:制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组R1(k,a,h,s)(h是外键是外键)R2(h,b)如果如果E1E1不是全参与,则不是全参与,则h,sh,s可能为可能为NULLNULL。若要避免取。若要避免取NULLNULL,可以变换成第二种关系模式:,可以变换成第二种关系模式:R1(k,a)R2(h,b)R3(k,h,s)(h是候补键)是候补键)制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组()()联系。联系。E-RE-R图见图,如果图见图,如果E2E2是全参是全参与,则可转换成关系模式:与,则可转换成关系模式:R1(k,a)R2(h,b,k,s)(k是外键是外键)如果如果E2是部分参与,则是部分参与,则R2中的中的k,s可能为可能为NULL。若。若要避免取要避免取NULL,可考虑第二种关系模式:,可考虑第二种关系模式:R1(k,a)R2(h,b)R3(h,k,s)(k是外键是外键)制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组()()M:NM:N联系。联系。E-RE-R图见图图见图11-1211-12。与。与1:11:1和和1:N1:N联系不同,联系不同,M:NM:N联系不可能用一个实体的主键唯一地识别,必须用联系不可能用一个实体的主键唯一地识别,必须用两个实体的主键才能识别一个联系。图两个实体的主键才能识别一个联系。图11-1211-12可转换成可转换成关系模式:关系模式:R R1 1(k,a)(k,a)R R2 2(h,b)(h,b)R R3 3(k,h,s)(k,h,s)(k,h (k,h组成复合主键,组成复合主键,k,hk,h分别是外键)分别是外键)制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组()多元联系。()多元联系。E-RE-R图见图图见图11-1511-15。在多元联系中,如。在多元联系中,如果果M M,N N,P P这些基数最多只有一个大于,则可以由一这些基数最多只有一个大于,则可以由一个实体的主键识别一个多元联系,在转换时可将联系个实体的主键识别一个多元联系,在转换时可将联系合并在此实体的关系中。但这种情况是不多见的,因合并在此实体的关系中。但这种情况是不多见的,因而多元联系一般转换成下面的关系模式:而多元联系一般转换成下面的关系模式:R R1 1(k,a)R(k,a)R2 2(h,b)R(h,b)R3 3(j,c)R(j,c)R4 4(k,h,j,s)(k,h,j,s)(,组成复合主键,分别是外键)(,组成复合主键,分别是外键)制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组普遍化特殊化层次的转换普遍化特殊化层次的转换 图图11-1811-18表示普遍化特殊化层次的表示普遍化特殊化层次的E-RE-R图。设超图。设超实体集实体集C C的属性集为的属性集为k,a1,a2,an,子实体集,子实体集S Si i的属性的属性集为集为Attr(SAttr(Si i)(1im1im),子实体集可能不相交,也),子实体集可能不相交,也可能重叠。图可能重叠。图11-1811-18的的E-RE-R图可以变换成下面的关系模图可以变换成下面的关系模式。式。制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组方案一:方案一:R(k,a1,a2,an)Ri(k,Attr(Si))1im限制条件:限制条件:k(Ri)为为k(R)的子集。的子集。方案二:方案二:k,a1,a2,an,Attr(Si)1im限制条件:只适用于不相交和全特殊化情况。限制条件:只适用于不相交和全特殊化情况。制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组方案三:方案三:R(k,a1,a2,an,Attr(Si),t)其中,属性其中,属性t t表示实体类型。表示实体类型。t t0 0,实体不属于任何子实体集。,实体不属于任何子实体集。Attr(Si)中的各属中的各属性都为性都为NULL。t ti0i0,实体属于子实体集,实体属于子实体集S Si i。除。除Attr(Si)外,外,Attr(Si)中其他属性都取中其他属性都取NULL。限制条件:只适用于不相交特殊化。限制条件:只适用于不相交特殊化。制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组方案四:方案四:R(k,a1,a2,an,Attr(Si),t1 1,t,t2 2,t,ti i,t,tm-1m-1,t,tm m)本方案可适用于重叠特殊化。如果实体属于本方案可适用于重叠特殊化。如果实体属于S Si i,则,则t ti i=1=1,否则,否则ti0 0,如果,如果t ti i0 0,则,则Attr(Si)中的各属性取中的各属性取NULLNULL。制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组范畴的转换范畴的转换 范畴的范畴的E-R图如图图如图11-19所示。所示。为为(E1E2En)的子集。)的子集。T选择继承超实体集的属性,选择继承超实体集的属性,而超实体集一般属于不同的实而超实体集一般属于不同的实 体类型,其实体主键一般也属体类型,其实体主键一般也属 于不同的数据类型。为了唯一地识别范畴中的实例,于不同的数据类型。为了唯一地识别范畴中的实例,像普遍化特殊化那样,用超实体集的主键是不合适像普遍化特殊化那样,用超实体集的主键是不合适的。一般须为所有超实体集定义一个统一类型的键,的。一般须为所有超实体集定义一个统一类型的键,称为替身键。称为替身键。制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组11.3.2逻辑模式的规范化、调整和实现逻辑模式的规范化、调整和实现 从从E-R图转换而来的关系模式还只是逻辑模式的雏图转换而来的关系模式还只是逻辑模式的雏形,要成为逻辑模式还须进行下列处理:形,要成为逻辑模式还须进行下列处理:()规范化;()规范化;()适应()适应DBMS限制条件的修改;限制条件的修改;()满足性能、存储空间等要求的调整;()满足性能、存储空间等要求的调整;()用()用DBMS所提供的所提供的DLL定义逻辑模式定义逻辑模式。制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组 下面主要讨论逻辑模式的调整。下面主要讨论逻辑模式的调整。改善数据库性能的调整改善数据库性能的调整 数据库的性能是用户经常关切的问题之一。在前面数据库的性能是用户经常关切的问题之一。在前面的模式设计中,侧重在模式的合理性,而较少注意数的模式设计中,侧重在模式的合理性,而较少注意数据库的性能问题。数据库的性能与数据库的物理设计据库的性能问题。数据库的性能与数据库的物理设计关系十分密切,但数据库的逻辑设计对它也有一定的关系十分密切,但数据库的逻辑设计对它也有一定的影响。下面从数据库逻辑设计的角度,讨论改善数据影响。下面从数据库逻辑设计的角度,讨论改善数据库性能的一些措施。库性能的一些措施。()减少连接运算。()减少连接运算。()减小关系的大小和数据量。()减小关系的大小和数据量。()尽可能使用快照。()尽可能使用快照。制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组节省存储空间的调整节省存储空间的调整 节省数据库的存储空间也是数据库设计的目标之一。节省数据库的存储空间也是数据库设计的目标之一。尤其当存储空间很紧张时,在这方面要做更多的努力。尤其当存储空间很紧张时,在这方面要做更多的努力。在数据库的逻辑设计方面,可做如下的考虑。在数据库的逻辑设计方面,可做如下的考虑。()节省每个属性所占的空间。()节省每个属性所占的空间。()采用假属性减少重复数据所占存储空间。()采用假属性减少重复数据所占存储空间。制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组11.3.311.3.3外模式的设计外模式的设计 在在ANSI/SPARCANSI/SPARC数据库框架中,有外模式这一级。数据库框架中,有外模式这一级。外模式是用户所看到的数据模式,各类用户可能有各外模式是用户所看到的数据模式,各类用户可能有各自的外模式。外模式并不是简单的逻辑模式的子集,自的外模式。外模式并不是简单的逻辑模式的子集,虽然它来自逻辑模式,但在结构和形式上可以不同于虽然它来自逻辑模式,但在结构和形式上可以不同于逻辑模式,甚至可以采用不同的数据模型,不过一般逻辑模式,甚至可以采用不同的数据模型,不过一般都用同一数据模型。外模式的主要作用有如下三个。都用同一数据模型。外模式的主要作用有如下三个。()提供一定的逻辑数据独立性。()提供一定的逻辑数据独立性。制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组()更好地适应不同用户对数据的需求。()更好地适应不同用户对数据的需求。()有利于数据保密。()有利于数据保密。制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组11.411.4数据库的物理设计数据库的物理设计 数据库物理设计的任务是选择合适的存储结构和数据库物理设计的任务是选择合适的存储结构和存取路径,也就是设计数据库的内模式。内模式和逻存取路径,也就是设计数据库的内模式。内模式和逻辑模式不一样,它不直接面向用户,一般用户不一定、辑模式不一样,它不直接面向用户,一般用户不一定、也不需要了解内模式的设计细节。也不需要了解内模式的设计细节。内模式的设计可以不考虑用户理解的方便,其主内模式的设计可以不考虑用户理解的方便,其主要设计目标有两个:一是提高数据库的性能,特别是要设计目标有两个:一是提高数据库的性能,特别是满足主要应用的性能要求;二是有效地利用存储空间。满足主要应用的性能要求;二是有效地利用存储空间。制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组 目前数据库的物理设计不外乎有两种途径:第一种目前数据库的物理设计不外乎有两种途径:第一种用启发式方法,即根据一般的原则和需求说明,选择用启发式方法,即根据一般的原则和需求说明,选择方案;第二种用启发式方法初选一批较好的方案,再方案;第二种用启发式方法初选一批较好的方案,再用代价比较法从中选出一个最好的。第一种方法主要用代价比较法从中选出一个最好的。第一种方法主要用于人工设计,第二种方法主要用于计算机辅助设计用于人工设计,第二种方法主要用于计算机辅助设计工具。工具。制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组 数据库的设计和一般产品设计不同,数据库设计数据库的设计和一般产品设计不同,数据库设计只提供一个初始设计,在数据库运行过程中还可根据只提供一个初始设计,在数据库运行过程中还可根据用户的要求不断地调整。过分追求所谓的精确设计,用户的要求不断地调整。过分追求所谓的精确设计,企图一次成功,是不符合数据库应用特点的。企图一次成功,是不符合数据库应用特点的。制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组11.4.111.4.1簇集设计簇集设计 簇集就是把有关的元组集中在一个物理块内或物簇集就是把有关的元组集中在一个物理块内或物理上相邻的区域内,以提高某些数据访问的速度。理上相邻的区域内,以提高某些数据访问的速度。现代现代DBMSDBMS一般允许按某一簇集键集中存放元组,一般允许按某一簇集键集中存放元组,簇集键可以是多属性的。具有同一簇集键值的元组,簇集键可以是多属性的。具有同一簇集键值的元组,尽可能放在同一物理块中。如果放不下,可以向预留尽可能放在同一物理块中。如果放不下,可以向预留的空白区发展,或链接多个邻接的物理块的空白区发展,或链接多个邻接的物理块(见图见图11-21)11-21)。制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组 在簇集键中,应至少有一个属性,其说明为在簇集键中,应至少有一个属性,其说明为NOT NULL。否则,如果整个簇集键都是。否则,如果整个簇集键都是NULL,则有关元,则有关元组将无从存放了。组将无从存放了。簇集对于某些特定的应用可以明显地提高性能,但簇集对于某些特定的应用可以明显地提高性能,但是对于与簇集键无关的访问,则无所裨益,且在数据是对于与簇集键无关的访问,则无所裨益,且在数据更新时还须进行维护。建立簇集的开销很大,整个关更新时还须进行维护。建立簇集的开销很大,整个关系要进行搬动,原来建立在此关系上的索引都须重建。系要进行搬动,原来建立在此关系上的索引都须重建。在满足下列三个条件时,一般可以考虑建立簇集。在满足下列三个条件时,一般可以考虑建立簇集。制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组 ()通过簇集键进行访问或连接是该表的主要应用,()通过簇集键进行访问或连接是该表的主要应用,与簇集键无关的其他访问很少,或是次要的。尤其当与簇集键无关的其他访问很少,或是次要的。尤其当语句中包含与簇集键有关的语句中包含与簇集键有关的ORDER BY,GROUP BY,UNION,DISTINCT等语法成分时,簇集格外有利,等语法成分时,簇集格外有利,可以省去对结果的排序。可以省去对结果的排序。()对应每个簇集键值的平均元组数既不太少,也不()对应每个簇集键值的平均元组数既不太少,也不太多。太少了使簇集的效益不明显,甚至浪费块的空太多。太少了使簇集的效益不明显,甚至浪费块的空间;太大了就要采用多个链接块,同样对提高性能不间;太大了就要采用多个链接块,同样对提高性能不利。利。()簇集键的值应相对稳定,以减少修改簇集键所引()簇集键的值应相对稳定,以减少修改簇集键所引起的维护开销。起的维护开销。制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组11.4.211.4.2索引的选择索引的选择 索引的选择是数据库物理设计的基本问题之一,索引的选择是数据库物理设计的基本问题之一,也是比较困难的问题。在原则上可以穷举各种可能的也是比较困难的问题。在原则上可以穷举各种可能的方案,进行代价估算,从中挑选最佳的方案。但这样方案,进行代价估算,从中挑选最佳的方案。但这样做至少有下面个困难。做至少有下面个困难。()数据库中的文件不是孤立的,要考虑彼此的()数据库中的文件不是孤立的,要考虑彼此的影响。影响。()解空间太大,即使用计算机计算,也难以承()解空间太大,即使用计算机计算,也难以承受。受。制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组()访问路径与()访问路径与DBMSDBMS的优化策略有关。的优化策略有关。()设计目标比较复杂。()设计目标比较复杂。()代价估算比较困难。()代价估算比较困难。鉴于上述原因,在手工设计时,一般按启发式规鉴于上述原因,在手工设计时,一般按启发式规则选择索引。即使在数据库的计算机辅助设计工具中,则选择索引。即使在数据库的计算机辅助设计工具中,也是先用启发式规则限制选择范围,再用简化的代价也是先用启发式规则限制选择范围,再用简化的代价比较法选择索引。下面介绍用启发式规则选择索引的比较法选择索引。下面介绍用启发式规则选择索引的一般步骤。一般步骤。制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组 ()根据()根据11.4.1所介绍的原则,确定文件的存储结构,所介绍的原则,确定文件的存储结构,即记录的存放是无序的(堆文件),还是按主键排序即记录的存放是无序的(堆文件),还是按主键排序或按某一属性或属性组簇集存放。或按某一属性或属性组簇集存放。()凡是满足下列条件之一的属性或表,不宜建立索()凡是满足下列条件之一的属性或表,不宜建立索引。引。不出现或很少出现在查询条件中的属性。不出现或很少出现在查询条件中的属性。属性值很少的属性。例如,属性属性值很少的属性。例如,属性“性别性别”只有两只有两个值,若在其上建立索引,则平均起来,每个属性值个值,若在其上建立索引,则平均起来,每个属性值对应一半的元组;用索引检索,还不如顺序扫描。对应一半的元组;用索引检索,还不如顺序扫描。属性值分布严重不均的属性。例如,学生的属性值分布严重不均的属性。例如,学生的“出出生年份生年份”往往集中在几个属性值上,若在往往集中在几个属性值上,若在“出生年份出生年份”属性上建立索引,则在检索某个属性上建立索引,则在检索某个“出生年份出生年份”的学的学生时,会涉及到相当多的学生;用索引查询,还不如生时,会涉及到相当多的学生;用索引查询,还不如顺序扫描。顺序扫描。制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组经常更新的属性或表。因为更新时索引需要维护。经常更新的属性或表。因为更新时索引需要维护。过长的属性,如超过过长的属性,如超过30个字节。因为在过长的属性个字节。因为在过长的属性上建立索引,索引所占的存储空间较大,而且索引级上建立索引,索引所占的存储空间较大,而且索引级数也随之增加,有诸多不利之处。如果实在需要在其数也随之增加,有诸多不利之处。如果实在需要在其上建立索引,必须采取索引键压缩措施。上建立索引,必须采取索引键压缩措施。太小的表,如小于个物理块的表。因为采用顺序太小的表,如小于个物理块的表。因为采用顺序扫描最多也不过次扫描最多也不过次I/O,不值得采用索引。,不值得采用索引。制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组()凡符合下列条件之一,可以考虑在有关属性上建()凡符合下列条件之一,可以考虑在有关属性上建立索引,下面所指的查询都是常用的或重要的查询。立索引,下面所指的查询都是常用的或重要的查询。主键和外键上一般都建有索引,这有如下的原因:主键和外键上一般都建有索引,这有如下的原因:有利于主键唯一性检查;有利于主键唯一性检查;有助于引用完整性约束检查。在检查引用完整性约有助于引用完整性约束检查。在检查引用完整性约束时,删、改主键时须检查有无引用此主键的外键;束时,删、改主键时须检查有无引用此主键的外键;在增、改外键时,要检查是否有对应的主键。在主键在增、改外键时,要检查是否有对应的主键。在主键和外键上都建立索引,显然可以方便这种检查。和外键上都建立索引,显然可以方便这种检查。可以加速以主键和外键为连接属性的连接操作。这可以加速以主键和外键为连接属性的连接操作。这种连接非常普遍,若在主键和外键上建有索引,则可种连接非常普遍,若在主键和外键上建有索引,则可减少连接开销。减少连接开销。制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组 对于以读为主或只读的表,只要需要且存储空间允许,对于以读为主或只读的表,只要需要且存储空间允许,可以多建索引。可以多建索引。对于等值查询(即查询条件以等号为比较符),如果对于等值查询(即查询条件以等号为比较符),如果满足条件的元组是少量的,如小于,可以考虑在满足条件的元组是少量的,如小于,可以考虑在有关属性上建立索引。有关属性上建立索引。对于范围查询(即查询条件以,对于范围查询(即查询条件以,等为比等为比较符),最好在有关的属性上建立簇集索引。如果已较符),最好在有关的属性上建立簇集索引。如果已在其他属性上建立簇集索引,且满足条件的元组数一在其他属性上建立簇集索引,且满足条件的元组数一般低于,可以考虑在有关属性上建立非簇集索般低于,可以考虑在有关属性上建立非簇集索引。引。有些查询可从索引直接得到结果,不必访问数据块。有些查询可从索引直接得到结果,不必访问数据块。对于这种查询,在有关属性上建立索引是有利的。这对于这种查询,在有关属性上建立索引是有利的。这些查询有:些查询有:制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组 查询某属性的查询某属性的MIN,MAX,AVG,SUM,COUNTMIN,MAX,AVG,SUM,COUNT等聚集函数值等聚集函数值(GROUP BYGROUP BY子句),可沿该属性的索引的顺序集扫描,子句),可沿该属性的索引的顺序集扫描,直接求得结果。直接求得结果。查询某属性值查询某属性值EXISTSEXISTS或或NOT EXISTSNOT EXISTS,只要通过该属,只要通过该属性的索引就可获得结果,不必访问数据块。性的索引就可获得结果,不必访问数据块。上述选择索引的规则仅仅是原则性的。也许有些索上述选择索引的规则仅仅是原则性的。也许有些索引既有建立的理由,又有不宜建立的理由,这只能由引既有建立的理由,又有不宜建立的理由,这只能由设计者权衡。好在数据库在运行以后,还可以调整。设计者权衡。好在数据库在运行以后,还可以调整。有些索引一时难以决定是否建立,可以留待运行时通有些索引一时难以决定是否建立,可以留待运行时通过实验来确定。过实验来确定。制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组11.4.3 11.4.3 分区设计分区设计 数据库的存储介质一般由多个磁盘阵列所构成。数数据库的存储介质一般由多个磁盘阵列所构成。数据在磁盘阵列上的分布也是数据库物理设计的内容之据在磁盘阵列上的分布也是数据库物理设计的内容之一,这就是所谓分区设计(一,这就是所谓分区设计(partition design)。下面)。下面是分区设计的一般原则。是分区设计的一般原则。减少访盘冲突,提高的并行性减少访盘冲突,提高的并行性 分散热点数据,均衡负荷分散热点数据,均衡负荷 保证关键数据的快速访问,缓解系统的瓶颈保证关键数据的快速访问,缓解系统的瓶颈
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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