一.数据库设计概述
12.1数据库设计方法概述
12.1.1数据库设计方法概述
(逻辑结构、物理结构)
在数据库领域,通常把使用数据库的各类信息系统都称为数据库应用系统。
数据库设计是指利用现有的数据库管理系统,针对具体的应用对象,构建适合的数据库模式建立数据库及其应用系统,使之能有效地收集存储、操作和管理数据,满足各类用户的应用需求,包括信息需求和处理需求。
本质: 数据库设计就是将数据库系统与现实世界进行有机协调的过程。因此数据库设计者必须清楚数据库本身及其实际应用对象这两方面的知识。
进行数据库设计时为什么必须确定系统的目标?
1.确保开发工作进展顺利
2.提高工作效率
3.保证数据模型的准确和完整。
目标: 数据库必须能够满足客户对数据的存储和处理需求。
成功的数据库系统应具备如下一些特点。
(1)功能强大。
(2)能准确地表示业务数据。
(3)使用方便,易于维护。
(4)对最终用户操作的响应时间合理。
(5)便于数据库结构的改进。
(6)便于数据的检索和修改
(7)维护数据库的工作较少。
(8)有效的安全机制以及确保数据安全。
(9)冗余数据最少或不存在。
(10)便于数据的备份和恢复。
(11)数据库结构对最终用户透明。
数据库设计的工作量大且复杂,是一项数据库系统工程,也是一项软件工程。数据库设计的很多阶段都可以对应于软件工程的阶段,软件工程的某些方法和工具同样适合于数据库系统工程。但由于数据库设计是与用户的业务需求紧密相关,因此它还有很多自己的特点。
数据库设计的特点(基本规律):三分技术,七分管理,十二分基础数据。
“三分技术,七分管理”: 不仅涉及技术,还涉及管理,要建好一个数据库应用系统开发技术固然重要,但是相比之下管理更加重要。企业的业务管理复杂,对数据库结构的设计有直接的影响。人们在数据库建设的长期实践中,认识到一个企业数据库建设的过程,是企业管理模式的改变和提高的过程。只有把企业的管理创新做好,才能实现技术创新,并建好一个优秀的数据库应用系统。
“十二分基础数据”: 强调数据的收集、整理、组织和不断更新,是数据库建设的重要环节。 基础数据的收集人库是数据库建立初期工作量最大,最烦琐也最细致的工作,在以后数据库应用的过程中,需要经常加入新数据,存储历史数据,以便进行业务管理,提高企业竞争力。
**结构(数据)设计和行为(处理)设计相结合是数据库设计的特点之二。结构设计是静态的,行为设计是动态的。**整个设计过程中要把数据库结构设计和对数据的处理设计密切结合起来。结构设计是指数据库的模式设计,包括概念结构、逻辑结构和存储结构等方面的设计;行为设计是指应用程序设计,包括功能组织、流程控制等方面的设计。
早期数据库设计主要采用手工与经验相结合的方法。设计质量往往与设计人员的经和水平有直接的关系。为了使数据库设计更合理、更有效,需要有效的指导原则,这种原称为数据库设计方法。
数据库在运行一段时间后常常会不同程度的发现各种问题,增加了维护代价。
设计方法要求:
1.有实用价值(满足用户关于功能、性能、安全性、完整及发展需求等方面的要求;服从特定的数据库管理系统的约束,可以用简单的数据模型来表达。)
2.灵活性和通用性(使不同经验的人使用,且不受数据模型及数据库管理系统的限制。)
3.可再生的(不同的设计者使用同一方法设计同一问题时可以得到相同或相似的设计结果。)
多年来经过人们不断的努力和探索,提出了各种数据库设计方法,基本思想是过程选代和逐步求精。在众多的数据库设计方法当中比较出名的有:新奥尔良(New Orleans)方决(将数据库设计分为若干阶段和步骤),基于E-R模型的数据库设计方法(概念设计阶段广泛使用),3NF(第三范式)的设计方法(逻辑阶段可以使用的有效方法),面向对象的数据库设计方法。
新奥尔良方法将数据库设计分为四个阶段:需求分析、概念结构设计、逻辑结构设计和物理结构设计。这种方法注重数据库的结构设计,而不太考虑数据库的行为设计。
基于E-R模型的数据库设计方法、基于第三范式的设计方法以及面向对象的数据库设计方法都是在数据库设计的不同阶段上使用的具体技术和方法。
12.1.2数据库设计过程概述
按照结构化系统设计的方法,考虑数据库及其应用系统开发全过程,研究数据库设计的基本步骤。
数据库设计分为六个阶段,分别是:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护。
需求分析和概念结构设计独立于任何数据库管理系统
逻辑结构设计和物理结构设计则与选用的数据库管理系统密切相关
数据库设计的准备工作:必须选定参加的设计人员
包括:
1.系统分析人员、数据库设计人员
自始至终参与数据库设计
2.数据库管理员和用户代表
主要参加需求分析和数据库的运行和维护
3.应用开发人员
在系统实施阶段参与进来,负责编制程序和准备软硬件环境。
进入数据库设计全过程的六个阶段之后。
(1)、需求分析阶段(DFD数据流图) :准确了解与分析用户需求(包括数据与处理)(最难、最耗时)
(2)概念结构设计(E-R图) 整个数据库设计的关键通过对用户需求分析,进行综合、归纳与抽象,形成一个独立于DBMS的概念模型。
(3*逻辑结构设计(E-R关系) 将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。
(4)数据库物理结构设计阶段(储存方法和存储路径) 为逻辑数据模型选取一个最适合应用环境的物理结构。
(5)数据库实施阶段运用DBMS提供的数据库语言(如SQL)以及数据库开发工具,根据结构设计和行为设计的结果建立数据库,编制与调试应用程序,组织数据入库并进行试运行。
(6)数据库运行和维护阶段数据库应用系统经过试运行后即可正式投入使用,在数据库应用系统的使用过程中,不断对其进行评价、调整、修改和完善。
设计一个完善的数据库应用系统,不可能一蹴而就,往往要经过上述各阶段,把数据库设计和对数据库中数据处理的设计紧密结合起来,不断反复才能设计成功。
按照上述数据库设计过程,数据库设计的不同阶段形成数据库的各级模式。
在需求分析阶段综合各用户的应用需求,在概念结构设计阶段形成独立于各个数据库管理系统的概念模式,如E-R图。在逻辑结构设计阶段,将E-R图转换成具体的数据模型,如关系模型。然后根据用户处理的要求在基本表上再建立必要的视图,形成数据的外模式。在物理结构设计阶段,根据DBMS的特点和处理需要,进行物理存储安排,建立索引,形成数据库内模式。
12.2需求分析
需求分析:分析用户需求。
主要任务:对现实世界要处理的对象进行详细调查。
重点:数据和处理。从用户那里获得对数据库的信息需求、处理需求、安全性需求以及完性需求。
信息需求: 用户需要从数据库中获得信息的内容与性质。
处理要求: 用户要完成的数据处理功能,是对处理性能的要求。
安全性需求:系统中不同用户对数据库的使用和操作情况。
完整性需求:数据之间的关联关系,以及数据的取值范围。
难点:
1.用户缺失计算机知识
2.设计人员缺失用户的专业知识
解决方法:设计人员深入地与用户进行交流。
调查用户需求具体步骤:
1.调查组织机构情况
2.调查各部门的业务活动情况
3.在熟悉业务活动的基础上,协助用户明确对新系统的各种要求.
4.确定新系统的边界
调查了解用户需求以后,还需要进一步分析和表达用户的需求。在众多分析方法中,结构化分析方法是一种简单实用的方法。结构化分析方法从最上层的系统组织结构入手,采用自顶向下逐层分解的方式分析系统。
结构化分析方法主要分成三个步骤:
第一步,把任何一个系统都抽象为数据流图。
第二步,分解处理功能(将处理功能的具体内容分解为若干子功能)和数据(处理功能逐步分解的同时,逐级分解所用的数据,形成若干层的数据流图)。(在表达方式上处理逻辑主要是用判定表或判定树来描述)
第三步,将分析结果再次提交给用户,征得用户的认可。
12.3数据库结构设计
12.3.1概念结构设计
将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。概念结构设计是整个数据库设计的关键。
12.3.1.1概念结构设计的特点和策略
概念结构设计的特点主要有:
(1)能真实、充分地反映现实世界。包括事物和事物之间的联系,能满足用户对数据的处理要求,是现实世界的一个真实模型。
(2)易于理解。可以用此结构和不熟悉计算机的用户交换意见,用户的积极参与是费据库设计成功的关键。
(3)易于更改。当应用环境和应用要求改变时,容易对概念模型修改和扩充。
(4)易于向关系、网状、层次等各种数据模型转换。
描述概念模型的有力工具是E-R模型。
设计概念结构的四类方法包括:
自底向下是指首先定义全局概念结构的框架,如何逐步细化。
自底向上是指首先定义各局部应用的概念结构,然后将它们集成起来得到全局概念结构。
逐步扩张是指首先定义最重要的核心概念结构,然后向外扩充以滚雪球的方式逐步生成其他概念结构,直至总体概念结构。
混合策略是指将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上的策略设计的各局部概念结构。
12.3.1.2使用E-R图进行概念结构设计
在设计E-R图时,一般分为三个步骤:
①选择局部应用;
②逐一设计局部 E-R模型;
③E-R模型的集成和优化。
设计过程中如何确定实体与属性以及如何解决集成E-R图时的冲突:
(1)确定实体与属性。
实体与属性划分的两条准则:
①属性不能再具有需要描述的性质,即属性必须是不可分的数据项,不能再由另一些属性组成。
②属性不能与其他实体具有联系,联系只发生在实体之间。
(2)解决集成E-R图时的冲突。
各个局部视图即分E-R图建立好后,还需要对它们进行合并,成为一个整体的数据概念结构即总E-R图。
集成局部E-R图有两个重要步骤:合并和修改与重构。
各个局部应用所面向的问题不同,且通常是由不同的设计人员进行局部视图设计。这就导致各个子系统的E-R图之间必定会存在许多不一致的地方,例如,属性冲突、命名冲突和结构冲突。
合并之后的初步E-R图也可能存在一些冗余的数据和实体间冗余的联系。这些冗余数据和冗余联系容易破坏数据库的完整性,需要根据数据字典和数据流图进行数据分析,并结合规范化理论对冗余的数据和联系予以消除,生成基本E-R图。
12.3.2逻辑结构设计
逻辑结构设计的任务:把概念结构设计阶段设计好的基本ER图转换为具体的数据库管理系统支持的组织层数据模型,导出特定的DBMS可以处理的数据库逻辑结构也就是数据库的模式和外模式,以便在功能性、完整性和一致性约束方面满足应用的需求。
逻辑结构设计的步骤:
1.将概念结构转换为一般的关系、网状、层次模型;
2.然后将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;
3.对数据模型进行优化。
E-R图向关系模型的转换要解决的问题:
1.如何将实体型和实体间的联系转换为关系模式
2.如何确定这些关系模式的属性和码
转换内容:
1.将E-R图转换为关系模型(本质为上题1)
2.将实体、实体的属性和实体之间的联系转换为关系模式。
E-R图向关系模式的转换原则:
1.转换原则一:实体型的转换(针对实体型本身而言):实体型的转换原则是一个实体型转换为一个关系模式。
2.转换原则二:实体型间的联系的转换:
(1)一对一联系:对于实体型间的一对一联系,可以转换为一个独立的关系模式。关系模式的属性与该联系相连的各实体的码以及联系本身的属性;个实体的码均是该美系模式的候选码。
也可以与相连的任意一端实体对应的关系模式合并。此时与某一端关系模式合并时,则在该关系模式的属性中加人另一端关系模式的码和联系的属性,合开后关系模式的码不变。
3.转换过程中的其他注意事项
在转换过程中还应注意,从理论上讲,一对一联系可以与任意一端对应的关系模式会并;但在一些情况下,与不同的关系模式合并效率会大不一样。因此究需要依应用的具体情况而定。
此外,具有相同码的关系模式可合并。目的是为了减少系统中的关系个数;合并方法是将其中一个关系模式的全部属性加人到另一个关系模式中,然后去掉其中的同义属性(可能同名也可能不同名),最后适当调整属性的次序。
4.数据模型的优化
通过E-R图向关系模式的转换原则,已经得到了数据库逻辑设计阶段的结果即关系模式,然而这个结果并不是唯一的。为了进一步提高数据库应用系统的性能,还应该根据应用适当地修改调整数据模型的结构,这就是数据模型的优化。关系数据模型的优化通常以规范化理论为指导。
优化数据模型的方法:
第一步.确定数据依赖;
第二步.消除冗余的联系;
第三步.确定所属范式;
第四步.确定是否要对它们进行合并或分解;
第五步.对关系模式进行必要的分解。
5.设计用户子模式
将概念模型转换为全局逻辑模型后,还应该根据局部应用需求,结合具体关系数据库管理系统的特点设计用户的外模式。
定义数据库全局模式主要从系统的时间效率、空间效率、易维护等角度出发,由于定义用户外模式与模式是相对独立的。因此在定义用户外模式时,可以注重考虑用户的习惯与方便:
(1)使用更符合用户习惯的别名。
(2)可以对不同级别的用户定义不同的视图,以保证系统的安全。
(3)简化用户对系统的使用。
12.3.3物理结构设计
数据库的物理结构设计:为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程。
数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于选定的数据库管理系统。
数据库物理结构设计的步骤(通常分为两步):
1.确定数据库的物理结构:RDBMS中主要指存取方法和存储结构。
2.对物理结构进行评价:时间和空间效率。
如果满足原设计要求则进入到实施阶段,否则需要重新设计,要么修改物理结构,要么返回逻辑设计阶段修改数据模型。
物理结构设计得好,可以使各事务的响应时间短,存储空间利用率高,事务吞吐量大。
通常关系数据库物理设计的内容主要包括:
1.关系模式选择存取方法(建立存取路径)
2.为关系、索引、日志、备份等数据库文件选择物理存储结构。
不同的数据库产品
1.物理环境、存取方法和储结构有很大差别
2.能提供设人员使用的设计赛量、参数范围也很不相同,因此没有通用的物理设计方法可遵循,只能给出一般的设计内容和原则。
设计数据库物理结构的准备工作
1.充分了解应用环境:详细分析要运行的事务,以获得选择物理数据库设计所需参数。
2.充分了解所使用的DBMS的内部特征,特别是系统提供的存取方法和存储结构。
例如:有哪些索引?(B树索引还是ash索引等),如何建立索引?
有哪些存储结构?(行存储、列存储,还是聚簇存储等),如何选择?
数据库物理设计参数:
1.数据库查询事务:查询所涉及的关系、查询条件所涉及的属性、连条件所涉及的属性、查询的投影属性。
2.数据更新事务:被更新的关系、每个关系上的更新操作条件所涉及的属性、修改操作要改变的属性值。
3.考虑每个事务在各关系上运行的频率和性能要求。
数据库上运行的事务会不断变化、增加或减少,要根据应用的变化,及时收集设计信息,调整数据库的物理结构。
12.3.3.1关系模式存取方法的选择
1.索引存取方法
建立索引的目的:提高存取的效率,也就是提高查询、插入、删除、修改等操作的效率。
数据库管理系统提供的索引方法主要有:B+树索引,Hash索引(散列索引)等。如果不指定,默认一般是B+树。
选择索引存取方法的规则:一个(或一组)属性经常在查询条件中出现;经常作为最大值和最小值等聚集函数的参数;经常在连接操作的连接条件中出现。
1.1 B+树索引:
特点:多分平衡树,存取效率高;既能随机查找,又能顺序查找;增删改操作,保持平衡。
B+树结构有两种结点结构:典型的非叶结点结构和典型的叶结点结构。
查找举例:
1.随机查找:查找详细码值eg:查找码值为18的记录。
2.范围查找:在B+树中进行范围查找eg:查找码值大于等子1且小于等于3的记录。
1.2 Hash索引:
选择Hash存取方法的规则是:
如果一个关系的属性主要出现在等值连接条件中或主要出现在等值比较选择条件中
且满足下列两个条件之一:
1.该关系的大小可预知且不变;
2.该关系的大小动态改变,但所选用的数据库管理系统提供了动态Hash存取方法。
额外的开销:
1.维护索引的开销;
2.查找索引的开销;
3.存储索引的开销。
所以关系上定义的索引不是越多越好,在决定是否建立索引时,要权衡数据库的操作。
如果查询多,并且对查询性能要求比较高,则可以考虑建适合的索引;如果数据更改多,并且对更改的效率要求比较高,则应该考虑少建索引。
2.聚簇方法(牺牲了一部分数据安全性)
聚簇:为了提高某个属性(或属性组)的查询速度,把这个(这些)属性上具有相同的元组集中存放在连续的物理块中。
该属性(或属性组)称为聚簇码。
建立聚簇的步骤如下:
(1)使用CREATE CLUSTER语创建聚簇,语法格式为:
C
R
E
A
T
E
C
L
U
S
T
E
R
<
聚簇名
>
(
<
聚簇码
>
)
S
I
Z
E
(
<
大小
>
)
CREATE\quad CLUSTER<聚簇名>\quad (<聚簇码>)\quad SIZE(<大小>)
CREATECLUSTER<聚簇名>(<聚簇码>)SIZE(<大小>)
(2)使用CREATEINDEX语句在聚簇上创建索引,语法格式为:
C
R
E
A
T
E
I
N
D
E
X
<
索引名
>
O
N
C
L
U
S
T
E
R
<
聚簇名
>
;
CREATE\quad INDEX\quad <索引名>\quad ON\quad CLUSTER<聚簇名>;
CREATEINDEX<索引名>ONCLUSTER<聚簇名>;
建立聚簇的主要好处:大大提高按聚簇属性进行查询的效率
适用范围:既适用于单个关系独立聚簇,也适用于多个关系组合聚簇。
优势:当SQL语句中包含与聚簇码有关ORDER BY GROUP BY、UNION、DISTINCT等子句或短语时,使用聚簇特别有利,可以省去或减少对结果集的排序操作
局限性:
1.在一个基本表上最多只能建立一个聚簇索引;
2.聚簇只能提高某些特定应用的性能;
3.建立与维护聚簇的开销相当大;
4.对已有关系建立聚簇,将导致关系中元组的物理存储位置移动,并使此关系上原有的索引无效,必须重建;
5.当一个元组的聚簇码改变时,该元组的存储位置也要相应改变。
适用条件:
很少对基表进行增删操作,很少对其中的变长列进行修改操作。
2.确定数据库的物理结构
确定数据库物理结构:指确定数据的存储安排和存储结构(系、索引、数据库缓建区、日志、备份;和确定内存/磁盘、行存储/列存储、集中/分散存放、顺序/随机/聚簇存放的)。
影响数据存放位置和存储结构的因素:
硬件环境
应用需求:存取时间、存储空问利用率和维护代价。
这三个方面常常是相互矛盾的,必须进行权衡,选择一个折中方案。
确定数据的存放位置的基本原则:
1.根据应用情况和物理环境(磁盘或磁盘阵列的容量、内存的大小);
2.易变部分与稳定部分分开存放;
3.经常存取部分与存取频率较低部公分开存放;
4.日志文件与数据库对象如表、索引等分开存放。
在海量数据和多用户环境下,数据分布存放在不同的磁盘或磁盘阵列上,可以改进系统性能。
确定系统配置:
1.同时使用数据库的用户数
2.同时打开的数据库对象数
3.内存分配参数
4.缓冲区分配参数(使用的缓冲区长度、个数)
5.存储分参数
6.物理块的大小
7.物理块装填因子
7.数据库的大小8.锁的数目等。
3.评价数据库的物理结构
评价物理结构设计的方法:操作开销,即为使用户获得及时、准确的数据所需的开销和计算机资源的开销。
实际上,数据库设计者只能对I/〇和辅助空间进行有效控制,其他方面都是有限的控制或者根本就不能控制。
12.4数据库行为设计
1.功能需求分析
在进行功能需求分析时,实际上进行了两项工作:
1.“数据流”的调查分析;
2.“事务处理过程的调查分析。
数据流的调查分析为数据库的信息结构提供了最原始的依据。
事务处理的调查分析是行为设计的基础。
对行为特性要进行的分析主要包括:
(1)标识所有的查询、报表、事务及动态特性,指出对数据库所要进行的各种处理。
(2)指出对每个实体所进行的操作(增、删、改、查)。
(3)给出每个操作的语义,包括结构约束和操作约束。
(4)针对某一对象(针对某一对象)给出每个操作的频率。
(5)针对某一应用(针对某一应用)给出每个操作的响应时间。
(6)给出该系统总的目标。
2.功能设计
系统目标的实现是通过系统的各功能模块来达到的。由于每个系统功能又可以划分为若干个更具体的功能模块,因此,可以从目标开始,一层一层分解下去,直到每个子功能模块只执行一个具体的任务。
3.事务设计
事务处理是计算机模拟人处理事务的过程,包括:
1.输入设计(减少系统错误的一个重要方面)设计的原则:原始单据的设计格式,制成输入一览表和制作输入数据描述文档。
对于原有的数据,表格要根据新系统的要求重新设计,其设计的原则是:简单明了,便于填写,尽量标准化,便于归档,简化输入工作。
。随后需要将全部功能所用的数据整理成表此外,包括数据的输入频率、数据的有效范围和出错校验都需要制作描述文档。
2.输出设计要考虑如下因素:用途、输出设备选择;输出量和输出格式。是仅显示出来,还是要打印出来或需要永久保存。输出量。输出格式。
小结:
数据库设计的全部过程
数据库设计的特点是行为设计和结构设计相分离
先进行结构设计,再进行行为设计,其中结构设计是关键
结构设计分为概念结构设计,逻辑结构设计,物理结构设计
数据库的行为设计是对系统的功能的设计
数据库设计完成后,就要进行数据库的实施和维护工作
12.5数据库的运行和维护
数据库实施阶段包括两项重要的工作,一项是数据的载入,另一项是应用程序的编码调试。
1.定义数据库结构
用DBMS提供的数据设计语言(DDL)创建数据库结构
创建基本表:
C
R
E
A
T
E
T
A
B
L
E
学生
(
学号
C
H
A
R
(
8
)
.
.
.
.
.
.
.
.
.
.
.
.
)
;
创建基本表:\\CREATE\quad TABLE\quad 学生\\(学号\quad CHAR(8)\\............\\);
创建基本表:CREATETABLE学生(学号CHAR(8)............);
在基本表上定义视图:
C
R
E
A
T
E
V
I
E
W
.
.
.
C
R
E
A
T
E
V
I
E
W
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
在基本表上定义视图:\\CREATE\quad VIEW...\\CREATE\quad VIEW...\\............
在基本表上定义视图:CREATEVIEW...CREATEVIEW...............
在基本表上定义索引:
C
R
E
A
T
E
U
N
I
Q
U
E
I
N
D
E
X
.
.
.
.
.
.
C
R
E
A
T
E
I
N
D
E
X
在基本表上定义索引:\\CREATE\quad UNIQUE\quad INDEX\\......\\CREATE\quad INDEX
在基本表上定义索引:CREATEUNIQUEINDEX......CREATEINDEX
DBMS产生目标模式,生成数据字典。
2.数据装载
组织数据人库是数据库实施阶段最主要的工作。
数据装载——ETL:数据抽取、数据转换和数据载入。
数据装载工作是相当费力、费时的。
3.编制与调试应用程序
数据库应用程序的设计应该与数据库设计并行进行。
在数据库实施阶段,编制与调试数据库的应用程序,调试应用程序时由于数据入库尚未完成,可先使用模拟数据。
4.数据库试运行
数据库的试运行:在原有系统的数据有一小部分已输入数据库后,就可以开始对数据库系统进行联合调试。
主要工作:功能测试:实际运行应用程序,执行对数据库的各种操作,测试应用程序的各种功能。
性能测试:测量系统性能指标,分析是否符合设计目标。
这一阶段要实际运行应用程序,执行对数据库的各种操作,测试应用程序的功能是否满足设计要求;如果不满足、对应用程序部分则要修改调整,直到达到设计要求为止。
数据库试运行时还要对性能指标进行测量:在数据库物理设计阶段,评价数据库结构,估算时间、空间指标时、做于许多简化和假设,必然是近似结果。
数据库试运行则是要实际测量系统的各种性能指标。
如果结果不符合设计目标,则需返物理设段调整物理结构、修改参数:有时甚至需要返回逻辑设计阶段,调整逻辑结构。
试运行后若要修改数据库的设计,特别注意以下两方面内容:
一.数据的分期入库:重新设计物理结构甚至逻辑结构,会导致数据重新入库;
由于数据人库工作量实在太大、所以可以采用分期输人数据的方法:先输入小批量数据供先期联合调试使用,待试运行基本合格后再输入大批量数据,逐步增加数据量,逐步完成运行评价。
二.数据库的转储和恢复:在数据库试运行阶段,系统还不稳定,硬、软件故障随时都可能发生;系统的操作人员对新系统还不熟悉,误操作也不可避免.
因此必须做好数据库的转储和恢复工作,尽量减少对数据库的破坏。
数据库运行和维护
由于应用环境在不断变化,数据库运行过程中物理存储也不断变化,所以数据库的运行和维护是一个长期的任务,也是设计工作的继续和提高。
经常性的维护工作主要是由数据库管理员完成的包括:
一.数据库的转储和恢复:
数据库管理员要针对不同的应用要求制定不同的转储计划,定期对数据库和日志文件进行备份。
一旦发生介质故障,即利用数据库备份及日志文件备份,尽快将数据库恢复到某种一致性状态。
二.数据库的安全性、完整性控制:
1.初始定义:
数据库管理员根据用户的实际需要授予不同的操作权限;
根据应用环境定义不同的完整性约束条件。
2.修改定义:
当应用环境发生变化,对安全性和完整性约束条件的要求也会发生变化,数据库管理员需要根据实际情况修改原有的安全性控制和完整性约束条件,从而满足用户要求。
三.数据库性能的监督、分析和改进:
在数据库运行过程中,数据库管理员必须监督系统运行,对监测数据进行分析,找出改进系统性能的方法:
1.利用监测工具获取系统运行过程中一系列性能参数的值;
2.通过分析这些数据,判断当前系统是否处于最佳运行状态;
3.如果不是,则需要通过调整某些参数来改进数据库性能。
四.数据库的重组织与重构造:
1.数据库的重组织:数据库运行一段时间后,由于记录的不断增、删、改,会使数据库的物理存储变坏,从而降低数据库存储空间的利用率和数据的存取效率,使数据库的性能下降。
2.数据库重组织的主要工作:按原设计要求,进行数据库的重组织,重新安排存储位置,回收垃圾,减少指针链。
数据库的重组织不会改变原设计的数据逻辑结构和物理结构。
数据库管理系统一般都提供了供重组织数据库使用的实用程序,帮助数据库管理员重新组织数据库。