[精选]数据库的物理设计、运行与维护.pptx

上传人:茅**** 文档编号:87842527 上传时间:2023-04-18 格式:PPTX 页数:67 大小:267.08KB
返回 下载 相关 举报
[精选]数据库的物理设计、运行与维护.pptx_第1页
第1页 / 共67页
[精选]数据库的物理设计、运行与维护.pptx_第2页
第2页 / 共67页
点击查看更多>>
资源描述

《[精选]数据库的物理设计、运行与维护.pptx》由会员分享,可在线阅读,更多相关《[精选]数据库的物理设计、运行与维护.pptx(67页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第九章第九章 数据库系统设计数据库系统设计之二之二本章学习要点本章学习要点:1 1掌握数据库设计的基本步骤。掌握数据库设计的基本步骤。2 2熟悉需求分析过程。熟悉需求分析过程。3 3掌握数据库设计的概念结构设计。掌握数据库设计的概念结构设计。4 4掌握数据库设计的逻辑结构设计。掌握数据库设计的逻辑结构设计。5 5了解数据库的物理设计。了解数据库的物理设计。6 6掌握掌握E-RE-R图设计、图设计、E-RE-R图向关系模式的图向关系模式的转换、及优化方法。转换、及优化方法。7 7掌握索引的概念、分类、基本方法。掌握索引的概念、分类、基本方法。9.19.1数据库设计概述数据库设计概述9.29.2需

2、求分析需求分析9.39.3概念结构设计概念结构设计9.49.4逻辑结构设计逻辑结构设计9.59.5数据库的物理设计数据库的物理设计9.69.6数据库实施数据库实施9.79.7数据库运行与维护数据库运行与维护9.89.8小结小结内容提要内容提要:9.49.4逻辑结构设计重点逻辑结构设计重点v逻辑结构设计的任务逻辑结构设计的任务 基本基本E-R模型模型 数据模型数据模型 概念设计阶段概念设计阶段 DBMSv关系数据库逻辑结构设计的步骤关系数据库逻辑结构设计的步骤1将概念模型转换为关系数据模型。将概念模型转换为关系数据模型。2将关系数据模型转换成特定将关系数据模型转换成特定DBMS支持下支持下的关系

3、数据模型。的关系数据模型。3对关系数据模型进行优化。对关系数据模型进行优化。转换转换关系模型的逻辑结构是一组关系模式关系模型的逻辑结构是一组关系模式的集合。的集合。目标:将实体、实体的属性和实体之目标:将实体、实体的属性和实体之间的联系转换为关系模式。间的联系转换为关系模式。9.4.1E-R模型向关系模型的转换模型向关系模型的转换1、转换原则及具体方法:、转换原则及具体方法:1 1一个实体转换为一个关系模式:一个实体转换为一个关系模式:关系的属性:实体的属性;关系的属性:实体的属性;关系的码:实体的码。关系的码:实体的码。2 2联系的转换原则联系的转换原则 1 11:11:1联系联系 A A、

4、转换为独立的关系模式:、转换为独立的关系模式:属性属性=两关联实体各自的主码两关联实体各自的主码+联系本身的属联系本身的属性性 码码=每个关联的实体主码的均是候选码。每个关联的实体主码的均是候选码。B B、与任一方关系模式合并:、与任一方关系模式合并:将一方实体的码与联系属性一并参加另一方。将一方实体的码与联系属性一并参加另一方。主码:不变。主码:不变。实例:部门与经理:实例:部门与经理:1 1:1 1联系联系各实体属性各实体属性部门:部门号、部门名称部门:部门号、部门名称经理:工号、姓名、性别、出生年月。经理:工号、姓名、性别、出生年月。联系的属性:任期联系的属性:任期A A、联系转换为独立

5、的关系模式:、联系转换为独立的关系模式:部门部门部门号部门号,部门名称,部门名称经理经理工号工号、姓名、性别、出生年月、姓名、性别、出生年月负责负责部门号部门号,工号,任期,工号,任期B B、与任一方关系模式合并:、与任一方关系模式合并:部门部门部门号部门号,部门名称,工号,任期,部门名称,工号,任期经理经理工号工号、姓名、性别、出生年月、姓名、性别、出生年月部门经理负责112 21:m1:m联系联系:A A、转换为独立的关系模式、转换为独立的关系模式属性属性=两关联实体各自的主码两关联实体各自的主码+联系本身的属性联系本身的属性 主码主码=“m=“m方实体主码的主码。方实体主码的主码。B B

6、、将为、将为“1“1方的实体的主码作为外码与联方的实体的主码作为外码与联系属性一并参加系属性一并参加“m“m方实体。方实体。合并后,码不变。合并后,码不变。3 3m:nm:n联系:须单独建立一个关系模式。联系:须单独建立一个关系模式。属性属性=两关联实体各自的主码两关联实体各自的主码+联系本身的属性联系本身的属性 主码主码=两关联实体主码的组合。两关联实体主码的组合。4 4同一实体之间的同一实体之间的1:m1:m联系联系 在该实体对应的关系模式中参加为在该实体对应的关系模式中参加为“1“1实实体的主码和联系的属性。体的主码和联系的属性。实例:实例:员工工号工号姓名姓名性别性别出生年月出生年月工

7、资工资民意测试民意测试负责负责1m关系模式为:关系模式为:员工员工工号工号,姓名,性别,出生年月,经,姓名,性别,出生年月,经理工号,民意测验。理工号,民意测验。6超类和子类的转换超类和子类的转换 超类、子类实体可转换为一个关系,并超类、子类实体可转换为一个关系,并将超类实体的主码加到子类实体中。将超类实体的主码加到子类实体中。实例:实例:员工员工管理员管理员部门经理部门经理工程师工程师职工号性别出生年月参加工作时间姓名部门号学历岗位津贴级别职务职称学历专业职称该该E-RE-R模型转换为关系模式为:模型转换为关系模式为:员工员工职工号职工号,姓名,性别,出生年月,参,姓名,性别,出生年月,参加

8、工作时间,部门号加工作时间,部门号部门经理部门经理职工号职工号,学历,级别,岗位津贴,学历,级别,岗位津贴管理员管理员职工号职工号,职务,职称,职务,职称工程师工程师职工号职工号,学历,专业职称,学历,专业职称 为方便查询,还可在超类实体中增加一为方便查询,还可在超类实体中增加一个指示属性,根据指示的值直接查询子类实个指示属性,根据指示的值直接查询子类实体表。体表。员工员工职工号职工号、姓名、性别、出生年月,参、姓名、性别、出生年月,参加工作时间,部门号,员工类别加工作时间,部门号,员工类别7同一实体间的同一实体间的m:n联系联系须单独建立一个关系模式。须单独建立一个关系模式。属性属性=两关联

9、实体各自的主码两关联实体各自的主码+联系本身的属联系本身的属性性主码主码=两关联实体主码的组合。两关联实体主码的组合。注:由于注:由于“联系仅涉及一个实体,参加的主联系仅涉及一个实体,参加的主码要取不同的名字。码要取不同的名字。实例实例:零件号零件号零件组装组装名称名称型号型号数量数量价格价格nm 关系模式为:关系模式为:零件零件零件号零件号,名称,型号,价格,名称,型号,价格组装组装零件号,组装零件号零件号,组装零件号,数量,数量9三个或三个以上实体间的三个或三个以上实体间的m:n联系联系须单独建立一个关系模式。须单独建立一个关系模式。属性属性=所联系的各实体的主码所联系的各实体的主码+联系

10、本身的属联系本身的属性性主码主码=关联实体主码的组合。关联实体主码的组合。实例:实例:零件号零件号零件零件供给供给名称名称型号型号数量数量价格价格nm工程工程供给商供给商p工程号工程号工期工期工程名称工程名称地址地址供给商名供给商名供给商号供给商号该该E-R模型转换为关系模式为:模型转换为关系模式为:零件零件零件号零件号,名称,型号,价格,名称,型号,价格工程工程工程号工程号,工程名称,工期,工程名称,工期供给商供给商供给商号供给商号,供给商名,地址,供给商名,地址供给供给零件号,工程号,供给商号零件号,工程号,供给商号,数量,数量综合实例综合实例:工厂工厂产品产品零件零件仓库仓库家属家属工人

11、工人车间车间从属从属隶属隶属有有有有制造制造存放存放存放存放生产生产装配装配mmmmmmmnnmm1E-R模型模型各实体的属性为:各实体的属性为:车间:车间:车间号、车间主任姓名、地址和车间号、车间主任姓名、地址和 ;工人:工人:职工号、姓名、年龄、性别、工种职工号、姓名、年龄、性别、工种;工厂:工厂名、厂长名;工厂:工厂名、厂长名;产品:产品号、产品名、型号、价格;产品:产品号、产品名、型号、价格;零件:零件号、零件名称、重量、价格;零件:零件号、零件名称、重量、价格;仓库:仓库号、仓库主任姓名、仓库:仓库号、仓库主任姓名、;家属:家属姓名、亲属关系。家属:家属姓名、亲属关系。将将E-RE-

12、R模型转换为关系模式为:模型转换为关系模式为:工厂工厂工厂名工厂名、厂长名、厂长名;车间车间车间号车间号,车间主任姓名,地址,车间主任姓名,地址,工厂名;,工厂名;工人工人职工号职工号,姓名,年龄,性别,工种,车间号;,姓名,年龄,性别,工种,车间号;仓库仓库仓库号仓库号,仓库主任姓名,仓库主任姓名,工厂名,工厂名产品产品产品号产品号,产品名,型号,价格,车间号,仓库,产品名,型号,价格,车间号,仓库号;号;零件零件零件号零件号,零件名称,重量,价格,仓库号;,零件名称,重量,价格,仓库号;制造制造车间号,零件号车间号,零件号;装配装配零件号,产品号零件号,产品号;亲属职工号,亲属职工号,家属

13、姓名,亲属关系家属姓名,亲属关系9.4.2向特定的向特定的RDBMS的模型转换。略的模型转换。略9.4.3关系数据模型的优化关系数据模型的优化 根据应用需要适当地修改、调整数据模根据应用需要适当地修改、调整数据模型结构。型结构。1、应用关系标准化理论对关系模式进行优、应用关系标准化理论对关系模式进行优化,具体步骤如下:化,具体步骤如下:1确定数据依赖:确定每个关系模式内确定数据依赖:确定每个关系模式内部各个属性之间的数据依赖以及不同关系模部各个属性之间的数据依赖以及不同关系模式属性之间的数据依赖。式属性之间的数据依赖。2对各个关系模式之间的数据依赖进行对各个关系模式之间的数据依赖进行极小化处理

14、,消除冗余的联系。极小化处理,消除冗余的联系。3确定各关系模式为第几范式。确定各关系模式为第几范式。4按照需求分析阶段的需求,确定要对按照需求分析阶段的需求,确定要对哪些模式进行合并或分解。哪些模式进行合并或分解。采用技术:反标准化采用技术:反标准化5对关系模式进行必要的分解,提高数对关系模式进行必要的分解,提高数据操作的效率和存储空间利用率。据操作的效率和存储空间利用率。两种分解方法:水平分解两种分解方法:水平分解 垂直分解垂直分解2、反标准化、反标准化 了解了解 一个完全标准化的设计并不总能生成最一个完全标准化的设计并不总能生成最优的性能,因此通常是先按照优的性能,因此通常是先按照3NF设

15、计,如设计,如果有性能问题,再通过反标准来解决。果有性能问题,再通过反标准来解决。数据库中的数据标准化的优点是减少了数据库中的数据标准化的优点是减少了数据冗余,节约了存储空间,相应逻辑和物数据冗余,节约了存储空间,相应逻辑和物理的理的I/O次数减少,同时加快了增、删、改次数减少,同时加快了增、删、改的速度,但是对完全标准的数据库查询,通的速度,但是对完全标准的数据库查询,通常需要更多的连接操作,从而影响查询的速常需要更多的连接操作,从而影响查询的速度。因此,有时为了提高某些查询或应用的度。因此,有时为了提高某些查询或应用的性能而破坏标准规则,即反标准。性能而破坏标准规则,即反标准。是否标准化的

16、程度越高越好是否标准化的程度越高越好?这要根据需要来决定,因为这要根据需要来决定,因为“别离越深,别离越深,产生的关系越多,关系过多,连接操作越频繁,产生的关系越多,关系过多,连接操作越频繁,而连接操作是最费时间的,特别对以查询为主而连接操作是最费时间的,特别对以查询为主的数据库应用来说,频繁的连接会影响查询速的数据库应用来说,频繁的连接会影响查询速度。所以,关系有时成心保存成非标准化的,度。所以,关系有时成心保存成非标准化的,或者标准化以后又反标准了,这样做通常是为或者标准化以后又反标准了,这样做通常是为了改进性能。了改进性能。了解了解例如,某校成绩管理系统,学生基本信息表例如,某校成绩管理

17、系统,学生基本信息表studentsno,sname,sex,birth,zgrade,其中,总成绩就违反标准,其中其中,总成绩就违反标准,其中的值可以通过下面的查询获得:的值可以通过下面的查询获得:select sno,sumgrade from sc group by sno了解了解 如果如果studentstudent中没有该列,假设想获得该生的中没有该列,假设想获得该生的姓名和总成绩,则需要做连接操作:姓名和总成绩,则需要做连接操作:select sname,zgradefrom student,select sno,sumgradeas grade from sc group by

18、sc.sno s where s.sno=student.sno 如果经常做这种查询,则就有必要在如果经常做这种查询,则就有必要在studentstudent表中参加列表中参加列zgradezgrade,相应的代价则是必须在表,相应的代价则是必须在表studentstudent上创立增、删、改的触发器来维护上创立增、删、改的触发器来维护studentstudent表上表上zgradezgrade列的值。类似的情况在决策支列的值。类似的情况在决策支持系统中经常发生。持系统中经常发生。了解了解反标准的优点是降低连接操作的需求、降反标准的优点是降低连接操作的需求、降低外码和索引的数目,还可能减少表的

19、数目;低外码和索引的数目,还可能减少表的数目;加快了查询速度。加快了查询速度。缺点:可能出现数据的完整性问题;会降低缺点:可能出现数据的完整性问题;会降低修改速度。修改速度。因此决定做反标准时,一定要权衡利弊,因此决定做反标准时,一定要权衡利弊,仔细分析应用的数据存取需求和实际的性能仔细分析应用的数据存取需求和实际的性能特点,好的索引和其它方法经常能够解决性特点,好的索引和其它方法经常能够解决性能问题,而不必采用反标准这种方法。能问题,而不必采用反标准这种方法。3、几种常用的反标准化方法:、几种常用的反标准化方法:在进行反标准操作之前,要充分考虑数在进行反标准操作之前,要充分考虑数据的存取需求

20、、常用表的大小、一些特殊的据的存取需求、常用表的大小、一些特殊的计算列如合计、数据的物理存储位置等。计算列如合计、数据的物理存储位置等。常用的反标准技术有增加冗余列、增加常用的反标准技术有增加冗余列、增加派生列、重新组表和分割表。派生列、重新组表和分割表。了解了解1增加冗余列增加冗余列 增加冗余列是指在多个表中具有相同的列,增加冗余列是指在多个表中具有相同的列,它常用来在查询时防止连接操作。它常用来在查询时防止连接操作。例如,前面例子中,如果经常检索一门课的任课教例如,前面例子中,如果经常检索一门课的任课教师姓名,假设课程表中仅有教师编号师姓名,假设课程表中仅有教师编号teacherno 列,

21、列,则需要做则需要做course和和teacher表的连接查询表的连接查询:select cname,tname from course,teacher where course.teacherno=teacher.teacherno 了解了解由于要频繁的查询每门课程任课老师的姓名,由于要频繁的查询每门课程任课老师的姓名,则就可以在则就可以在course表中增加一列表中增加一列tname,就不,就不需要做连接操作了。需要做连接操作了。增加冗长余列的优点:增加冗长余列的优点:查询时可防止连接操作。查询时可防止连接操作。增加冗长余列的缺点:增加冗长余列的缺点:需要更多的磁盘空间,同时增加表维护的需

22、要更多的磁盘空间,同时增加表维护的工作量。工作量。2增加派生列增加派生列 增加派生列指增加的列来自其它表中的增加派生列指增加的列来自其它表中的数据,由它们计算生成。数据,由它们计算生成。优点:在查询时减少连接操作,防止使优点:在查询时减少连接操作,防止使用集函数。用集函数。缺点:具有与冗余列。缺点:具有与冗余列。例如,前例例如,前例student表中的表中的zgrade列就是派列就是派生列。生列。了解了解3重新组表重新组表 重新组表指如果许多用户需要查看两个表重新组表指如果许多用户需要查看两个表连接出来的结果数据,则把这两个表重新组成连接出来的结果数据,则把这两个表重新组成一个表来减少连接而提

23、高性能。一个表来减少连接而提高性能。例如,用户经常需要同时查看课程号,课程名例如,用户经常需要同时查看课程号,课程名称,任课教师号,任课教师姓名,则可把表称,任课教师号,任课教师姓名,则可把表coursecno,cname,tno和和表表teacherteacherno,tname合并成一个表合并成一个表:coursecno,cname,teacherno,tname。这样可提高性能,但需要更多的磁盘空间,同这样可提高性能,但需要更多的磁盘空间,同时也损失了数据在概念上的独立性。时也损失了数据在概念上的独立性。了解了解4 4分割表分割表 有时对表做分割可以提高性能。表分割有时对表做分割可以提高

24、性能。表分割有两种方式:有两种方式:1 1水平分解:把基本表关系的元组分为水平分解:把基本表关系的元组分为假设干子集合,定义每个子集合为一个子关假设干子集合,定义每个子集合为一个子关系,以提高系统的效率。系,以提高系统的效率。水平分割通常在下面的情况下使用水平分割通常在下面的情况下使用:A A、表很大,分割后可以降低在查询时需要读、表很大,分割后可以降低在查询时需要读的数据和索引的页数,同时也降低了索引的的数据和索引的页数,同时也降低了索引的层数,提高查询速度。层数,提高查询速度。了解了解B B、表中的数据本来就有独立性,例如表中分、表中的数据本来就有独立性,例如表中分别记录各个地区的数据或不

25、同时期的数据,别记录各个地区的数据或不同时期的数据,特别是有些数据常用,而另外一些数据不常特别是有些数据常用,而另外一些数据不常用。用。C C、需要把数据存放到多个介质上。、需要把数据存放到多个介质上。分解原则:分解原则:80/2080/20原则。原则。例如例如、法规表法规表law就可以分成两个表就可以分成两个表active_law和和inactive_law。Activea_law表表中的内容是正生效的法规,是经常使用的中的内容是正生效的法规,是经常使用的;而而inactive_law表则是已经作废的法规,不常表则是已经作废的法规,不常被查询,但须保存的。被查询,但须保存的。了解了解水平分割

26、的缺点:会给应用增加复杂度,它水平分割的缺点:会给应用增加复杂度,它通常在查询时需要多个表名,查询所有数据通常在查询时需要多个表名,查询所有数据需要需要unionunion操作。操作。在许多数据库应用中,这种复杂性会超在许多数据库应用中,这种复杂性会超过它带来的优点,因为只要索引关键字不大,过它带来的优点,因为只要索引关键字不大,则在索引用于查询时,表中增加两到三倍数则在索引用于查询时,表中增加两到三倍数据量,查询时也就增加读一个索引层的磁盘据量,查询时也就增加读一个索引层的磁盘次数。次数。了解了解2 2垂直分割:把主码和一些列放到一个表,垂直分割:把主码和一些列放到一个表,然后把主码和另外的

27、列放到另一个表中。然后把主码和另外的列放到另一个表中。即把关系模式即把关系模式R R的属性分解为假设干子集的属性分解为假设干子集合。合。如果一个表中某些列常用,而另外一如果一个表中某些列常用,而另外一些列不常用,则可以采用垂直分割,另外些列不常用,则可以采用垂直分割,另外垂直分割可以使得数据行变小,一个数据垂直分割可以使得数据行变小,一个数据页就能存放更多的数据,在查询时就会减页就能存放更多的数据,在查询时就会减少少I/OI/O次数。其缺点是需要管理冗余列,查次数。其缺点是需要管理冗余列,查询所有数据需要询所有数据需要joinjoin操作。操作。注:要确保无损连接性和保持函数依赖。注:要确保无

28、损连接性和保持函数依赖。了解了解4 4、反标准技术需要维护数据的完整性、反标准技术需要维护数据的完整性 无论使用何种反标准技术,都需要一定的管无论使用何种反标准技术,都需要一定的管理来维护数据的完整性。理来维护数据的完整性。常用的方法:批处理维护常用的方法:批处理维护 应用逻辑应用逻辑 触发器触发器1 1批处理维护是指对复制列或派生列的修改积批处理维护是指对复制列或派生列的修改积累一定的时间后,运行一批处理作业或存储过程累一定的时间后,运行一批处理作业或存储过程对复制或派生列进行修改,这只能在对实时性要对复制或派生列进行修改,这只能在对实时性要求不高的情况下使用。求不高的情况下使用。了解了解2

29、 2用应用逻辑:数据的完整性也可由应用逻辑用应用逻辑:数据的完整性也可由应用逻辑来实现,这就要求必须在同一事务中对所有涉及来实现,这就要求必须在同一事务中对所有涉及的表进行增、删、改操作。的表进行增、删、改操作。该方法实现数据的完整性风险较大,因为同该方法实现数据的完整性风险较大,因为同一逻辑必须在所有的应用中使用和维护,容易遗一逻辑必须在所有的应用中使用和维护,容易遗漏,特别是在需求变化时,不易于维护。漏,特别是在需求变化时,不易于维护。3 3使用触发器,对数据的任何修改立即触发对使用触发器,对数据的任何修改立即触发对复制列或派生列的相应修改。触发器是实时的,复制列或派生列的相应修改。触发器

30、是实时的,而且相应的处理逻辑只在一个地方出现,易于维而且相应的处理逻辑只在一个地方出现,易于维护。一般来说,是解决这类问题的最好的方法。护。一般来说,是解决这类问题的最好的方法。了解了解9.4.4设计用户子模式创立视图设计用户子模式创立视图 全局关系模型设计完成后,还应根据局全局关系模型设计完成后,还应根据局部应用的需求,结合具体部应用的需求,结合具体DBMS的特点,设的特点,设计用户的子模式。计用户的子模式。设计子模式时应注意考虑用户的习惯和设计子模式时应注意考虑用户的习惯和方便性,主要包括:方便性,主要包括:1使用更符合用户惯的别名使用更符合用户惯的别名 如按不同部门的习惯给视图中的列取名

31、。如按不同部门的习惯给视图中的列取名。2以不同级别的用户定义不同的视图,以不同级别的用户定义不同的视图,以保证系统的安全性。以保证系统的安全性。例如、设有一关系模式:产品产品编号,例如、设有一关系模式:产品产品编号,产品名称,型号,价格,生产车间,生产负产品名称,型号,价格,生产车间,生产负责人,产品成本,产品合格率,质量等级责人,产品成本,产品合格率,质量等级面向一般顾客的视图:面向一般顾客的视图:产品产品1 1产品编号,产品名称,型号,价格,产品编号,产品名称,型号,价格,质量等级质量等级面向质量监督部门的视图:面向质量监督部门的视图:产品格产品编号,产品名称,型号,生产产品格产品编号,产

32、品名称,型号,生产车间,产品合格率,质量等级车间,产品合格率,质量等级3 3简化用户对系统的使用简化用户对系统的使用 针对某些局部应用中经常使用某些十分针对某些局部应用中经常使用某些十分复杂的查询情况,为方便用户,可先将这些复杂的查询情况,为方便用户,可先将这些复杂查询定义为视图,用户每次只需对定义复杂查询定义为视图,用户每次只需对定义好的视图进行查询,大大简化了复杂度。好的视图进行查询,大大简化了复杂度。9.5数据库的物理设计数据库的物理设计 主考虑是否建立主考虑是否建立相关索引相关索引v什么是数据库的物理设计什么是数据库的物理设计数据库在物理设备上的存储结构与存数据库在物理设备上的存储结构

33、与存取方法称为数据库的物理结构,它依取方法称为数据库的物理结构,它依赖于给定的计算机系统。赖于给定的计算机系统。为一个给定的逻辑数据模型选取一个为一个给定的逻辑数据模型选取一个最适合应用环境的物理结构的过程,最适合应用环境的物理结构的过程,就是数据库的物理设计。就是数据库的物理设计。数据库物理设计数据库物理设计确定数确定数据库的据库的物理结物理结构构评价数据评价数据库的物理库的物理结构结构逻辑结逻辑结构设计构设计数据库数据库实施实施物理物理模型模型逻辑逻辑模型模型数据库物理设计的步骤:数据库物理设计的步骤:9.5.1 数据库的物理设计的内容和方法数据库的物理设计的内容和方法v设计物理数据库结构

34、的准备工作设计物理数据库结构的准备工作v 1 1、充分了解应用环境,详细分析要运行的事、充分了解应用环境,详细分析要运行的事务,以获得选择物理数据库设计所需参数。务,以获得选择物理数据库设计所需参数。v 2 2、充分了解所用、充分了解所用RDBMSRDBMS的内部特征,特别是的内部特征,特别是系统提供的存取方法和存储结构。系统提供的存取方法和存储结构。选择物理数据库设计所需参数选择物理数据库设计所需参数数据库查询事务数据库查询事务1 1查询的关系查询的关系2 2查询条件所涉及的属性查询条件所涉及的属性3 3连接条件所涉及的属性连接条件所涉及的属性4 4查询的投影属性查询的投影属性数据更新事务数

35、据更新事务1 1被更新的关系。被更新的关系。2 2每个关系上的更新操作条件所涉及每个关系上的更新操作条件所涉及的属性。的属性。3 3修改操作要改变的属性值。修改操作要改变的属性值。4 4每个事务在各关系上运行的频率和每个事务在各关系上运行的频率和性能要求。性能要求。关系数据库物理设计的主要内容关系数据库物理设计的主要内容1 1、为关系模式选择存取方法建立存取路、为关系模式选择存取方法建立存取路径。径。2 2、设计关系、索引等数据库文件的物理存、设计关系、索引等数据库文件的物理存储结构。储结构。9.5.2 9.5.2 关系模式存取方法选择关系模式存取方法选择DBMSDBMS常用存取方法常用存取方

36、法1 1、索引方法,目前主要是、索引方法,目前主要是B+B+树索引方法树索引方法2 2、聚簇、聚簇ClusterCluster方法方法3 3、HASHHASH方法方法9.5.2.19.5.2.1索引方法索引方法 选择索引存取方法的主要内容:选择索引存取方法的主要内容:根据应用要求确定根据应用要求确定 对哪些属性列建立索引对哪些属性列建立索引 对哪些属性列建立组合索引对哪些属性列建立组合索引 对哪些索引要设计为唯一索引对哪些索引要设计为唯一索引9.5.2.29.5.2.2聚簇存取方法聚簇存取方法什么是聚簇什么是聚簇 为了提高某个属性或属性组的查询为了提高某个属性或属性组的查询速度,把这个或这些属

37、性称为聚簇码速度,把这个或这些属性称为聚簇码/聚聚集键上具有相同值的元组集中存放在连续集键上具有相同值的元组集中存放在连续的物理块称为聚簇的物理块称为聚簇/聚集。聚集。许多关系型许多关系型DBMSDBMS都提供了聚簇功能。都提供了聚簇功能。聚簇存取的优点聚簇存取的优点1 1、大大提高按聚簇属性进行查询的效率、大大提高按聚簇属性进行查询的效率2 2、节省存储空间、节省存储空间v聚簇的局限性了解聚簇的局限性了解v1、聚簇只能提高某些特定应用的性能、聚簇只能提高某些特定应用的性能v2、建立与维护聚簇的开销相当大、建立与维护聚簇的开销相当大v对已有关系建立聚簇,将导致关系中元组移动其物对已有关系建立聚

38、簇,将导致关系中元组移动其物理存储位置,并使此关系上原有的索引无效,必须理存储位置,并使此关系上原有的索引无效,必须重建。重建。v当一个元组的聚簇码改变时,该元组的存储位置也当一个元组的聚簇码改变时,该元组的存储位置也要做相应移动。要做相应移动。9.5.2.3HASH9.5.2.3HASH存取方法存取方法当一个关系满足以下两个条件时,可以选择当一个关系满足以下两个条件时,可以选择HASHHASH存取方法:存取方法:1 1、该关系的属性主要出现在等值连接条件中、该关系的属性主要出现在等值连接条件中或主要出现在相等比较选择条件中。或主要出现在相等比较选择条件中。2 2、该关系的大小可预知,而且不变

39、;、该关系的大小可预知,而且不变;3 3、该关系的大小动态改变,但所选用的、该关系的大小动态改变,但所选用的DBMSDBMS提供了动态提供了动态HASHHASH存取方法。存取方法。9.5.3 9.5.3 确定数据库的存储结构了解确定数据库的存储结构了解确定数据库物理结构的内容:确定数据库物理结构的内容:1 1、确定数据的存放位置和存储结构:、确定数据的存放位置和存储结构:关系、索引、聚簇、日志、备份。关系、索引、聚簇、日志、备份。2 2、确定系统配置。、确定系统配置。影响数据存放位置和存储结构的因素:影响数据存放位置和存储结构的因素:1 1硬件环境硬件环境2 2应用需求:存取时间、存储空间利用

40、率、应用需求:存取时间、存储空间利用率、维护代价。维护代价。这三个方面常常是相互矛盾的。这三个方面常常是相互矛盾的。例如:消除一切冗余数据虽能够节约存储空间例如:消除一切冗余数据虽能够节约存储空间和减少维护代价,但往往会导致检索代价的增和减少维护代价,但往往会导致检索代价的增加。必须进行权衡,选择一个折中方案。加。必须进行权衡,选择一个折中方案。1 1、确定数据的存放位置:、确定数据的存放位置:了解了解v基本原则基本原则根据应用情况将根据应用情况将v易变局部与稳定局部;易变局部与稳定局部;v存取频率较高局部与存取频率较低局部存取频率较高局部与存取频率较低局部 分开存放,以提高系统性能。分开存放

41、,以提高系统性能。实例实例1 1:数据库数据备份、日志文件备份等由:数据库数据备份、日志文件备份等由于只在故障恢复时才使用,而且数据量很大,于只在故障恢复时才使用,而且数据量很大,可以考虑存放在磁带上。可以考虑存放在磁带上。2.2.确定系统配置确定系统配置了解了解vDBMS产品一般都提供了一些存储分配参数产品一般都提供了一些存储分配参数 同时使用数据库的用户数同时使用数据库的用户数 同时翻开的数据库对象数同时翻开的数据库对象数 使用的缓冲区长度、个数使用的缓冲区长度、个数 时间片大小时间片大小 数据库的大小数据库的大小 填充因子填充因子 锁的数目锁的数目 等等等等9.5.4 9.5.4 评价物

42、理结构评价物理结构了解了解v评价内容评价内容对数据库物理设计过程中产生的多种方案对数据库物理设计过程中产生的多种方案进行细致的评价,从中选择一个较优的方进行细致的评价,从中选择一个较优的方案作为数据库的物理结构。案作为数据库的物理结构。v评价方法评价方法定量估算各种方案定量估算各种方案v 存储空间存储空间v 存取时间存取时间v 维护代价维护代价对估算结果进行权衡、比较,选择出一对估算结果进行权衡、比较,选择出一个较优的合理的物理结构。个较优的合理的物理结构。如果该结构不符合用户需求,则需要修如果该结构不符合用户需求,则需要修改设计。改设计。9.6 数据库的实施v数据库实施的工作内容数据库实施的

43、工作内容用用DDLDDL定义数据库结构定义数据库结构组织数据入库组织数据入库编制与调试应用程序编制与调试应用程序数据库试运行数据库试运行数据库实施数据库实施定义数定义数据库结据库结构构数据数据装载装载 数据库数据库试运行试运行数据库物数据库物理设计理设计数据库运数据库运行和维护行和维护物理物理模型模型编制与编制与调试应调试应用程序用程序数据库数据库系统系统v在数据库运行阶段,对数据库经常性的维护在数据库运行阶段,对数据库经常性的维护工作主要是由工作主要是由DBADBA完成的,包括:完成的,包括:数据库的转储和恢复数据库的转储和恢复转储和恢复是系统正式运行后最重要的维转储和恢复是系统正式运行后最

44、重要的维护工作之一。护工作之一。DBADBA要针对不同的应用要求制定不同的转要针对不同的应用要求制定不同的转储方案,定期对数据库和日志文件进行备储方案,定期对数据库和日志文件进行备份。份。一旦发生介质故障,即利用数据库备份及一旦发生介质故障,即利用数据库备份及日志文件备份,尽快将数据库恢复到某种日志文件备份,尽快将数据库恢复到某种一致性状态。一致性状态。9.7 9.7 数据库运行与维护数据库运行与维护数据库的安全性、完整性控制数据库的安全性、完整性控制DBADBA必须根据用户的实际需要授予不同必须根据用户的实际需要授予不同的操作权限。的操作权限。在数据库运行过程中,由于应用环境的在数据库运行过

45、程中,由于应用环境的变化,对安全性的要求也会发生变化,变化,对安全性的要求也会发生变化,DBADBA需要根据实际情况修改原有的安全性需要根据实际情况修改原有的安全性控制。控制。由于应用环境的变化,数据库的完整性由于应用环境的变化,数据库的完整性约束条件也会变化,也需要约束条件也会变化,也需要DBADBA不断修正,不断修正,以满足用户要求。以满足用户要求。数据库性能的监督、分析和改进数据库性能的监督、分析和改进在数据库运行过程中,在数据库运行过程中,DBA DBA必须监督系必须监督系统运行,对监测数据进行分析,找出改统运行,对监测数据进行分析,找出改进系统性能的方法。进系统性能的方法。v利用监测

46、工具获取系统运行过程中一利用监测工具获取系统运行过程中一系列性能参数的值。系列性能参数的值。v通过仔细分析这些数据,判断当前系通过仔细分析这些数据,判断当前系统是否处于最正确运行状态。统是否处于最正确运行状态。v如果不是,则需要通过调整某些参数如果不是,则需要通过调整某些参数来进一步改进数据库性能。来进一步改进数据库性能。数据库的重组织和重构造目的:优化数据库的重组织和重构造目的:优化1 1数据库的重组织数据库的重组织为什么要重组织数据库为什么要重组织数据库v数据库运行一段时间后,由于记录的不数据库运行一段时间后,由于记录的不断增、删、改,会使数据库的物理存储断增、删、改,会使数据库的物理存储

47、变坏,从而降低数据库存储空间的利用变坏,从而降低数据库存储空间的利用率和数据的存取效率,使数据库的性能率和数据的存取效率,使数据库的性能下降。下降。重组织的形式重组织的形式v全部重组织全部重组织v局部重组织局部重组织只对频繁增、删的表进行重组织只对频繁增、删的表进行重组织重组织的目标重组织的目标v提高系统性能提高系统性能重组织的工作重组织的工作v按原设计要求按原设计要求重新安排存储位置重新安排存储位置回收垃圾回收垃圾减少指针链减少指针链v数据库的重组织不会改变原设计的数据数据库的重组织不会改变原设计的数据逻辑结构和物理结构。逻辑结构和物理结构。vDBMSDBMS一般都提供了供重组织数据库使用一

48、般都提供了供重组织数据库使用的实用程序,帮助的实用程序,帮助DBADBA重新组织数据库。重新组织数据库。9.8小结小结数据库系统设计的步骤:数据库系统设计的步骤:v需求分析需求分析v概念结构设计概念结构设计v逻辑结构设计逻辑结构设计v数据库的物理设计数据库的物理设计v数据库实施数据库实施v数据库运行与维护数据库运行与维护注:循环反复的过程注:循环反复的过程休息!9、静夜四无邻,荒居旧业贫。4月-234月-23Tuesday,April 18,202310、雨中黄叶树,灯下白头人。08:41:2508:41:2508:414/18/2023 8:41:25 AM11、以我独沈久,愧君相见频。4月

49、-2308:41:2508:41Apr-2318-Apr-2312、故人江海别,几度隔山川。08:41:2508:41:2508:41Tuesday,April 18,202313、乍见翻疑梦,相悲各问年。4月-234月-2308:41:2508:41:25April 18,202314、他乡生白发,旧国见青山。18 四月 20238:41:25 上午08:41:254月-2315、比不了得就不比,得不到的就不要。四月 238:41 上午4月-2308:41April 18,202316、行动出成果,工作出财富。2023/4/18 8:41:2508:41:2518 April 202317、

50、做前,能够环视四周;做时,你只能或者最好沿着以脚为起点的射线向前。8:41:25 上午8:41 上午08:41:254月-239、没有失败,只有暂时停止成功!。4月-234月-23Tuesday,April 18,202310、很多事情努力了未必有结果,但是不努力却什么改变也没有。08:41:2508:41:2508:414/18/2023 8:41:25 AM11、成功就是日复一日那一点点小小努力的积累。4月-2308:41:2508:41Apr-2318-Apr-2312、世间成事,不求其绝对圆满,留一份缺乏,可得无限完美。08:41:2508:41:2508:41Tuesday,Apri

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

当前位置:首页 > 技术资料 > 其他杂项

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁