(2)数据一致性级别的概念。所谓并发控制就是要用正确的方式调度并发操作,避免造成数据的不一致性,使一个用户事务的执行不受其它事务的干扰。
4.封锁
封锁(Locking)就是事务T可以向系统发出请求,对某个数据对象(最常用的是记录)加锁。于是事务T对这个数据对象就有一定的控制。例如,其它事务不能更新此数据直到T释放(unlock)它的锁为止。确切的控制由封锁的类型决定。基本的封锁类型有两种:排它锁(Exclu sive locks简记为X锁)和共享锁(Share locks简记为S锁)。若事务T对数据R加上X锁,则只允许T读取和修改R;其它一切事务对R的任何(包括封锁)请求都不成功,直至T释放R上的X锁为止。这就保证了其它事务不能再读取和修改R,直到T释放X锁。若事务T对数据R加上S锁,则其它事务对R的X锁请求不能成功,而对R的共享请求可以得到。这就保证了其它事务以读取R但不能修改R,直至T释放S锁为止。
5.可串行性
定义 当且仅当某组事务的一定交叉调度产生的结果和这些事务的某一串行调度的结果相同,则这个交叉调度是可串行化的。可串行性(Serializability)是并行事务正确性的准则。这个准则规定,一给定的交叉调度,当且仅当它是可串行化的,才认为是正确的。
6.两段锁协议
两段锁协议规定所有的事务应遵守下列规则:
(1)在对任何数据进行读、写操作之前,事务首先要获得对该数据的封锁,而且:
(2)在释放一个封锁之后,事务不再获得任何其它锁。所谓“两段”锁的含义是:事务分为两个阶段。第一阶段是获得封锁,也称为扩展阶段。第二阶段是释放封锁,也称为收缩阶段。定理 若所有事务均遵守两段锁协议,则这些事务的所有交叉调度都是可串行化的(证明略)。为了确保事务并行执行的正确性,许多系统采用两段锁协议。同时系统设有死锁检测机制,发现死锁后按一定的算法解除死锁。
7.恢复
尽管系统中采取了各种保护措施来保证数据库的安全性和完整性不被破坏,保证并行事务的正确执行,但是计算机系统中硬件的故障、软件的错误、操作员的失误以及故意的破坏仍是不可避免的。这些故障轻则造成运行事务非正常地中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中全部或部分数据丢失。因此数据库管理系统必须具有把数扰库从错误状态恢复到某一已知的正确状态(亦称为完整状态或一致状态)的功能,这就是数据库的恢复。恢复子系统是数据库管理系统的一个重要组成部分,而且还相当庞大,常常占整个系统代码的10%以上(如IMS,DB2)。故障恢复是否考虑周到和行之有效,是数据库系统性能的一个重要指标。大型的数据库应用对故障恢复的要求更加强烈。有时甚至采用双工制。来源:www.examda.com
(1)故障的种类数据库系统中可能发生各种各样的故障,大致可以分以下几类:①事务内部的故障;②系统范围内的故障;③介质故障;④计算机病毒。
(2)转储和恢复转储是数据库恢复中经常采用的基本技术。所谓转储即DBA定期地将整个数据库复制到磁带或另一个磁盘上保存起来的过程。这些备用的数据文本为后备副本或后援副本。当数据库遭到破坏后就可以利用后备副本把数据库恢复。这时,数据库只能恢复到转储时的状态,从那以后的所有更新事务必须重新运行才能恢复到现时的正常状态。转储是十分耗费时间和资源的,不能频繁进行。DBA应该根据数据库使用情况确定一个适当的转储周期。转储可分为静态转储和动态转储。静态转储是指转储期间不允许(或不存在)对数据库进行任何存取、修改活动。动态转储是指转储期间允许对数据库进行存取或修改。即转储和用户事务可以并发执行。静态转储简单,但转储必须等待用户事务结束才能进行。同样,新的事务必须等待转储结束才能执行。显然,这会降低数据库的可用性。动态转储可克服静态转储的缺点。但是,转储结束时后援副本上的数据并不能保证正确有效。例如,在转储期间的某时刻t 1 系统把数据A=100转储到了磁带上,而在时刻t 2 ,某一事务对A进行了修改使A=200转储结束,后援副本上的A已是过时的数据了。为此,必须把转储期间事务对数据库的修改活动登记下来,建立日志文件(log file)。这样,后援副本加上日志文件就能把数据库恢复到某一时刻的正确状态。转储还可以分为海量转储和增量转储。海量转储是指每次转储全部数据库。增量转储则指每次只转储上次转储后更新过的数据。如果数据库很大,事务处理又十分频繁,则增量转储方式是很有效的。(3)日志文件日志文件是用来记录对数据库每一次更新活动的文件。在动态转储方式中必须建立日志文件,后援副本和日志文件综合起来才能有效地恢复数据库。在静态转储方式中,也可以建立日志文件。当数据库毁坏后可重新装放后援副本把数据库恢复到转储结束时刻的正确状态,然后利用日志文件,把已完成的事务进行重做处理,对故障发生时尚未完成的事务进行撤消处理。这样不必重新运行那些在转储前已完成的事务程序就可把数据库恢复到故障前某一时刻的正确状态。
八、数据库应用系统的设计
1.数据库应用系统的设计步骤
按规范设计的方法可将数据库设计分为以下六个阶段
(1)需求分析;
(2)概念结构设计;
(3)逻辑结构设计;
(4)数据库物理设计;
(5)数据库实施;
(6)数据库运行和维护。
2.需求分析
需求收集和分析是数据库应用系统设计的第一阶段。明确地把它作为数据库应用系统设计的第一步是十分重要的。这一阶段收集到的基础数据和一组数据流图(Data Flow Diaˉgram———DFD)是下一步设计概念结构的基础。概念结构对整个数据库设计具有深刻影响。而要设计好概念结构,就必须在需求分析阶段用系统的观点来考虑问题、收集和分析数据及其处理。如何分析和表达用户需求呢?在众多的分析方法中,结构化分析(Structured Analysis,简称SA方法)是一个简单实用的方法。SA方法用自顶向下、逐层分解的方式分析系统。用数据流图,数据字典描述系统。然后把一个处理功能的具体内容分解为若干子功能,每个子功能继续分解,直到把系统的工作过程表达清楚为止。在处理功能逐步分解的同时,它们所用的数据也逐级分解。形成若干层次的数据流图。数据流图表达了数据和处理过程的关系。处理过程的处理逻辑常常用判定表或判定树来描述。数据字典(Data Dictionary,简称DD)则是对系统中数据的详尽描述,是各类数据属性的清单。对数据库应用系统设计来讲,数据字典是进行详细的数据收集和数据分析所获得的主要结果。数据字典是各类数据描述的集合,它通常包括以下5个部分:
(1)数据项,是数据最小单位。
(2)数据结构,是若干数据项有意义的集合。来源:www.examda.com
(3)数据流,可以是数据项,也可以是数据结构。表示某一处理过程的输入输出。
(4)数据存储,处理过程中存取的数据。常常是手工凭证、手工文档或计算机文件。
(5)处理过程。
3.概念结构设计
如同软件工程中重视需求分析与规范说明的思想一样,数据库设计中同样十分重视数据分析、抽象与概念结构的设计。概念结构的设计,是整个数据库设计的关键之一。概念结构独立于数据库逻辑结构,独立于支持数据库的DBMS,也独立于具体计算机软件和硬件系统。归纳总结,其主要特点是:
(1)能充分地反映现实世界,包括实体和实体之间的联系,能满足用户对数据处理的要求,是现实世界的一个真实的模型,或接近真实的模型。
(2)易于理解,从而可以和不熟悉计算机的用户交换意见。用户的积极参与是数据库应用系统设计成功与否的关键。
(3)易于更动。当现实世界改变时容易修改和扩充,特别是软件、硬件环境变化时更应如此。
(4)易于向关系、网状或层次等各种数据模型转换。概念结构是各种数据模型的共同基础,它比任意一种数据模型更独立于机器,更抽象,从而更加稳定。描述概念结构的有力工具是E-R模型。P.P.S.Chen把用E-R模型定义的概念结构称为组织模式。设计概念结构的策略有3种:
(1)自顶向下 首先定义全局概念结构的框架,然后逐步细化。
(2)自底向上 首先定义各局部应用的概念结构,然后将它们集成,得到全局概念结构。
(3)混合策略 自顶向下和自底向上相结合的方法。用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。现介绍自底向上设计概念结构的策略。按照这种策略,概念结构的设计可按下面步骤进行。
(1)数据抽象与局部视图设计
E-R模型是对现实世界的一种抽象。一般地讲,所谓抽象是对实际的人、物、事和概念的人为处理。它抽取人们关心的共同特性,忽略非本质的细节,并把这些特性用各种抽象的概念精确地加以描述。这些概念组成了现实世界的一种模型表示。有3种抽象方法形成了抽象机制,来对数据进行组织:①分类(Classification) 定义某一概念作为现实世界中一组对象的类型。这些对象具有某些共同的特性和行为。它抽象了对象值和型之间的“is a member of”的语义。在E-R模型中,实体型就是这种抽象。②聚集(Aggregation) 定义某一类型的组成成分。它抽象了对象内部属性类型和整体与部分之间“is a part of”的语义。在E-R模型中若干属性的聚集组成了实体型,就是这种抽象。③概括(Generalization) 定义类型之间的一种子集联系。它抽象了类型之间的“is a subset of”的语义。概括具有一个很重要的性质:继承性。子类继承超类上定义的所有抽象性质。当然,子类可以增加自己的某些特殊属性。概念结构设计的第一步就是利用上面介绍的抽象机制对需求分析阶段收集到的数据进行组织,形成实体、实体的属性,标识实体的码,确定实体之间的联系类型(1∶1,1∶n,n∶m),设计成部分E-R图。
(2)视图的集成视图集成就是把上一步得到的各个部分E-R图综合成一个总体的E-R图。视图集成可以有两种方式:①多个部分E-R图一次集成。②逐步集成。用累加的方式一次集成两个部分E-R图。无论哪种方式,每次集成可分两步走。第一步是合并,解决各部分E-R图之间的冲突问题,生成初步E-R图。第二步是修改和重构,消除不必要的冗余,生成基本E-R图。
4.逻辑结构设计
逻辑结构设计的任务就是把概念结构转换为选用的DBMS所支持的数据模型的过程。设计逻辑结构按理应选择对某个概念结构的数据模型,然后对支持这种数据模型的各种DBMS进行比较,选出最合适的DBMS。但实际情况常常是已给定了某台机器,设计人员没有选择DBMS的余地。现行的DBMS一般只支持关系、网状或层次三种模型中的某一种,对某一种数据模型,各个机器系统又有许多不同的限制,提供不同的环境与工具。因而我们把设计过程分三步进行。首先把概念结构向一般的关系模型转换,然后向特定的DBMS支持下的数据模型转换,最后进行模型的优化。
(1)E-R图向关系数据模型的转换下面给出把E-R图转换为关系模型的转换规则。
①一个实体转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。
②一个联系转换为一个关系模式,与该联系相连的各实体的码以及联系的属性转换为关系的属性。该关系的码则有三种情况:若联系为1∶1,则每个实体的码均是该关系的候选码。若联系为1∶n,关系的码为n端实体的码。若联系为n∶m,则关系的码为诸实体码的组合。具有相同码的关系模式可合并。形成了一般的数据模型后,下一步就向特定的DBMS规定的模型转换。设计人员必须熟知所用DBMS的功能及限制。这一步转换是依赖于机器的,不能给出一个普遍的规则。转化后的模型必须进行优化。对数据模型进行优化是指调整数据模型的结构,以提高数据库应用系统的性能。性能有动态性能和静态性能两种。静态性能分析容易实现。根据应用要求,选出合适的模型是一项复杂的工作。
(2)规范化理论的应用规范化理论是数据库逻辑设计的指南和工具,具体地讲可应用在下面几个具体的方面:
第一,在数据分析阶段用数据依赖的概念分析和表示各数据项之间的关系。
第二,在设计概念结构阶段,用规范化理论为工具消除初步E-R图中冗余的联系。
第三,由E-R图向数据模型转换过程中用模式分解的概念和算法指导设计。现在,不管选用的DBMS是支持哪种数据模型的,均先把概念结构向关系模型转换。然后,充分运用规范化理论的成果优化关系数据库模式的设计。
5.数据库的物理设计
物理设计的内容主要包括:
(1)确定数据的存储结构 从DBMS所提供的存储结构中选取一种合适的加以实现。确定存储结构的主要因素是存取时间、存储空间利用率和维护代价三个方面。设计者常常要对这些因素进行权衡。一般的DBMS也总是具有一定灵活性供你选择。例如,若引入某些冗余数据,则可能减少物理I/O次数提高检索效率。相反节约存储空间检索代价就会增加。当然应该尽量寻找优化方法,使这三方面的性能都较好。折衷有时是必须的。
(2)存取路径的选择和调整 数据库必须支持多个用户的多种应用,因而必须提供对数据库的多个存取入口,也就是对同一数据存储要提供多条存取路径。物理设计的任务应确定建立哪些存取路径。设计者应该进行定量的分析,根据计算结果确定存取路径。
(3)确定数据存放位置 首先按数据的应用情况划分为不同的组,然后确定存放位置。一般的应把数据的易变部分和稳定部分分开,把经常存取和不常存取的数据分开。经常存取或存取时间要求高的记录应存放在高速存储器上,如硬盘。存取频率小或存取时间要求低的放在低速存储器上,如软盘磁带。对于同一数据文件也可根据情况进行水平划分或垂直划分。
(4)确定存储分配 许多DBMS提供了存储分配的参数供设计者物理优化处理用。例如溢出空间的大小和分布参数,块的长度,块因子的大小,装填因子,缓冲区的大小和个数等等,它们都要在物理设计中确定。这些参数的大小影响存取时间和存储空间的分配。物理设计过程需要对时间、空间效率、维护代价和各种用户要求进行权衡,其结果可以产生多种方案。在实施数据库前对这些方案进行方案进行细致的评价,以选择一个较优的方案是十分必要的。
6.数据库应用系统的实施和维护
对数据库的物理设计初步评价完成后就可建立数据库了。数据库应用系统实施对应于软件工程的编码、调试阶段。设计人员运用DBMS提供的数据定义语言将逻辑设计和物理设计的结果严格地描述出来,成为DBMS可接受的源代码。经过调试产生目标模式。然后组织数据入库。组织数据入库是数据库应用系统实施阶段最主要的工作。
八、数据库应用系统的设计
1.数据库应用系统的设计步骤
按规范设计的方法可将数据库设计分为以下六个阶段
(1)需求分析;
(2)概念结构设计;
(3)逻辑结构设计;
(4)数据库物理设计;
(5)数据库实施;
(6)数据库运行和维护。
2017年全国计算机等级考试四级数据库复习知识4.doc正在阅读:
四川大学强化大学生思想理论教育和价值引领02-23
江西人才人事网:2016新建长堎工业园区管委会面向全市竞聘领导人员08-04
2021年河北保定中级会计职称准考证打印入口已开通(8月30日)08-18
2017七一建党96周年讲话稿01-14
2017年河南濮阳中级会计职称成绩查询时间:10月25日前02-24
山西2017年7月日语四级成绩查询时间:8月23日02-16
安徽巢湖2021年4月自考时间:4月10日-4月11日10-18
防汛安全隐患排查整治情况报告07-15