《《数据库系统原理教程》复习重点计算机数据库_计算机-数据库.pdf》由会员分享,可在线阅读,更多相关《《数据库系统原理教程》复习重点计算机数据库_计算机-数据库.pdf(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、学习好资料 欢迎下载 数据库系统原理教程 第 1章 绪论 1.1、引言 1、数据:数据是描述事物的符号记录。数据与其语义是不可分的。数据的形式本身并不能完全表达其内容,需要经过语义解释。2、数据库(database,简称 DB):长期存储在计算机内、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度,较高的数据独立性和易扩展性,并可为各种用户共享。3、数据库管理系统(database management system,简称 DBMS):是位于用户与操作系统之间的一层数据管理软件。数据库在建立、运用和维护时由数据库管理系统统一管理、统一控制。数据库管理
2、系统使用户能方便地定义数据和操纵数据,并能够保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复。4、数据库系统(database system,简称 DBS):指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统、应用系统、数据库管理员和用户构成。5、数据库管理员(database administrator,简称 DBA):完成数据库的建立、使用和维护等工作的专业人员。6、数据管理:指如何对数据进行分类、组织、编码、存储、检索和维护,它是数据处理的中心问题。随着计算机硬件和软件的发展,数据管理经历了人工管理、文件系统和数据库系统三个发展阶段。7、人工管理数
3、据的特点:(1)数据不保存。(2)数据需要由应用程序自己管理,没有相应的软件系统负责数据的管理工作。(3)数据不共享。(4)数据不具有独立性,数据的逻辑结构或物理结构发生变化后,必须对应用程序做相应的修改。8、文件系统管理数据的特点:(1)数据可以长期保存。(2)由专门的软件即文件系统进行数据管理,程序和数据之间由软件提供的存取方法进行转换,应用程序与数据之间有了一定的独立性。(3)数据共享性差。(4)数据独立性低。不具有弹性的无结构的数据集。文件记录之间没有联系。9、数据库系统管理数据的特点:(1)数据结构化。(2)数据的共享性好,冗余度低。(3)数据独立性高。(4)数据由 DBMS 统一管
4、理和控制。10、数据的不一致性:指同一数据不同拷贝的值不一样。11、数据的逻辑独立性:数据库系统的一个映像功能是数据的总体逻辑结构与某类应用所涉及的局部逻辑结构之间的映像功能。这一映像功能保证了当数据的总体逻辑结构改变时,通过对映像的相应改变可以保持数据的局部逻辑结构不变,由于应用程序是依赖数据的局部逻辑结构编写的,所以应用程序不必修改。12、数据的物理独立性:数据库系统的另一个映像功能是数据的存储结构与逻辑结构之间的映像或转换功能。这一映像功能保证了当数据的存储结构改变时,通过对映像的相应改变可以保持数据的逻辑结构不变,从而应用程序也不必改变。13、除了管理功能外,DBMS 还提供以下功能:
5、(1)数据的安全性。(2)数据的完整性。(3)并发控制。(4)数据库恢复。学习好资料 欢迎下载 14、数据库技术的研究领域:(1)数据库管理系统软件的研制。(2)数据库设计。(3)数据库理论。1.2、数据模型 1、数据模型:是严格定义的概念的集合。这些概念必须能够精确地描述系统的静态特性、动态特性和完整性约束条件。通常由数据结构、数据操作和完整性约束三个要素组成。2、数据结构:所研究的对象类型的集合。这些对象是数据库的组成成分,包括与数据类型、内容、性质有关的对象和与数据之间联系有关的对象。3、数据操作:指对数据库中各种对象的实例允许执行的操作的集合,包括操作及有关的操作规则。4、数据的约束条
6、件:是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保障数据的正确、有效和相容。5、信息世界涉及的概念:实体、属性、码、域、实体型、实体集、联系。6、两个实体型之间的联系分为:1:1 联系、1:n 联系、m:n 联系。7、ER 图:提供了表示实体型、属性和联系的方法。8、常用数据模型:层次模型、网状模型、关系模型。层次模型和网状模型统称为非关系模型。9、基本层次联系:指两个记录以及它们之间的一对多(包括一对一)的联系。10、层次模型:用树形结构表示各类实体以及实体间的联系。优点:模型简单、实体间联系固定、
7、提供良好的完整性支持。缺点:表示多对多联系时很笨拙、对插入删除操作限制较多、查询子节点必须通过父节点、层次命令趋于程序化。11、邻接法:按照层次树前序遍历的顺序把所有记录值依次邻接存放,即通过物理空间的位置相邻来实现层次顺序。12、链接法:用指引元反映数据之间的层次联系,每个记录设两类指引元,分别指向最左边的子节点和最近的兄弟节点,这种链接方法称为子女兄弟链接法;按树的前序穿越顺序链接各记录值,这种链接方法称为层次序列链接法。13、网状数据模型:是一种比层次模型更具普遍性的结构,去掉了层次模型的两个限制,允许多个结点没有双亲结点,允许结点有多个双亲结点,允许两个结点之间有多种关系,允许插入双亲
8、不明确的子女结点,允许只删除双亲结点值,更新只需更新指定记录。优点:能更为直接的描述现实世界、具有良好的性能和存取效率。缺点:其 DDL 语言极其复杂、数据独立性较差。14、一个关系模型涉及以下概念:关系、元组、属性、主码、域、分量、关系模式、关系名。15、关系数据模型:实体及实体间的联系都用关系表示,它的操纵主要包括查询、插入、删除和更新数据。关系的完整性约束条件包括:实体完整性、参照完整性和用户定义完整性。关系模型优点:建立在严格的数学基础上、概念单一、存取路径对用户透明,具有较好的数据独立性,安全保密性。缺点:由于存取路径对用户透明,查询效率往往不如非关系数据模型。16、网状数据模型的典
9、型代表是 DBTG 系统。1.3、数据库系统结构 数据的形式本身并不能完全表达其内容需要经过语义解释数据库简称长期存储在计算机内有组织的可共享的数据集合数据库中的数据按一定的数据模型组织描述和存储具有较小的冗余度较高的数据独立性和易扩展性并可为各种用户理系统统一管理统一控制数据库管理系统使用户能方便地定义数据和操纵数据并能够保证数据的安全性完整性多用户对数据的并发使用及发生故后的系统恢复数据库系统简称指在计算机系统中引入数据库后的系统构成一般由数据库人员数据管理指如何对数据进行分类组织编码存储检索和维护它是数据处理的中心问题随着计算机硬件和软件的发展数据管理经历了人工管理文件系统和数据库系统三
10、个发展阶段人工管理数据的特点数据不保存数据需要由应用程序学习好资料 欢迎下载 1、模式:也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。它是数据库系统模式结构的中间层,是数据库数据在逻辑级上的视图。一个数据库只有一个模式。2、外模式:也称子模式或用户模式,它是数据库用户(包括应用程序员和最终用户)看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。外模式通常是模式的子集。一个数据库可以有多个外模式。一个应用程序只能使用一个外模式。同一外模式可以被多个应用系统使用。3、内模式:也称存储模式,它是数据物理结构和存储
11、结构的描述,是数据在数据库内部的表示方式。一个数据库只有内模式。4、数据库系统的三级模式结构:是指数据库系统是由外模式、模式和内模式三级构成。5、二级映像功能:外模式/模式映像和模式/内模式映像。正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。6、三级模式和两级映像的作用:(1)对于每个外模式,数据库系统都有一个外模式/模式映像,它定义了该外模式和模式之间的对应关系。当模式改变时,只需对各个外模式/模式的映像作出相应的改变,可以保持外模式不变,从而应用程序不必修改,保证了数据的逻辑独立性。(2)数据库中只有一个模式和内模式,所以模式/内模式映像是唯一的,它定义了数据
12、全局逻辑结构与存储结构之间的对应关系。当数据库的存储结构改变了,只需对模式/内模式映像作出相应的改变,可以使模式保持不变,从而保证了数据的物理独立性。7、数据库系统体系结构包括:(1)单用户数据库系统:是一种早期的最简单的数据库系统。在单用户系统中,整个数据库系统,包括应用程序、DBMS、数据,都装在一台计算机上,由一个用户独占,不同机器之间不能共享数据。(2)主从式结构的数据库系统:是指一个主机带多个终端的多用户结构。在这种结构中,数据库系统,包括应用程序、DBMS、数据,都集中存放在主机上,所有处理任务都由主机来完成,各个用户通过主机的终端并发地存取数据库,共享数据资源。(3)分布式结构的
13、数据库系统:指数据库中的数据在逻辑上是一个整体,但物理地分布在计算机网络的不同结点上。数据存放、管理、维护困难。(4)客户/服务器结构的数据库系统:将 DBMS 和应用功能分开,网络中某些结点上的计算机专门用于执行 DBMS 功能,称为数据库服务器,其他结点上的计算机安装 DBMS 的外围应用开发工具,支持用户的应用,称为客户机。分为集中和分布两种。1.4、数据库管理系统 1、DBMS 的功能主要包括:(1)数据定义,数据定义包括定义各种模式、映射、约束条件。(2)数据操纵,数据操纵包括对数据库数据的检索、插入、修改和删除等基本操作。(3)数据库运行管理,包括对数据库进行并发控制、安全性检查、
14、完整性约束条件检查、数据库内部维护等等。(4)数据组织、存储和管理,DBMS 负责分门别类地组织、存储和管理各种数据,确定文件数据的形式本身并不能完全表达其内容需要经过语义解释数据库简称长期存储在计算机内有组织的可共享的数据集合数据库中的数据按一定的数据模型组织描述和存储具有较小的冗余度较高的数据独立性和易扩展性并可为各种用户理系统统一管理统一控制数据库管理系统使用户能方便地定义数据和操纵数据并能够保证数据的安全性完整性多用户对数据的并发使用及发生故后的系统恢复数据库系统简称指在计算机系统中引入数据库后的系统构成一般由数据库人员数据管理指如何对数据进行分类组织编码存储检索和维护它是数据处理的中
15、心问题随着计算机硬件和软件的发展数据管理经历了人工管理文件系统和数据库系统三个发展阶段人工管理数据的特点数据不保存数据需要由应用程序学习好资料 欢迎下载 结构。(5)数据库的建立和维护,建立数据库包括数据库初始数据的输入和数据转换等,数据库维护包括数据库的转储、恢复、重构、监视等。(6)数据通信接口,DBMS 提供与其他软件系统进行通信的功能。2、DBMS 通常由 4部分组成:(1)数据定义语言及其翻译处理程序,DDL 供用户定义数据库的模式、存储模式、外模式、各级模式之间的映射、有关的约束条件等。(2)数据操纵语言及其编译程序,DML 实现对数据库的检索、插入、修改、删除等基本操作。(3)数
16、据库运行控制程序,DBMS 提供一些系统运行控制程序负责数据库运行过程中的控制与管理。(4)实用程序,DBMS 提供一些实用程序,包括数据初始装入程序、数据转储程序等。3、实现 DBMS 的方法:(1)N 方案:DBMS 模块被用户进程按子程序调用,DBMS 与应用程序融合在一起,N 个用户的系统中只有 N 个进程。(2)2N 方案:每个用户进程均有一个影子进程为之服务,系统中还有若干后台进程。由于系统中进程总数接近于用户数的 2 倍,所以称为 2N 方案。(3)M+N 方案:是 2N 方案的一种改进,在 N 个用户进程的系统中,有 M 个 DBMS 进程为之服务(My,其中 x 是码的真子集
17、,y 是非主属性。2NF 存在的问题包括:插入异常、删除异常、数据冗余度大、修改复杂。3、3NF:如果关系模式 R中不存在候选码 X、属性组 Y 以及非主属性 Z 使得 X 决定 Y,Y 决定 Z 和 Y 不决定 X 成立,则 R 满足 3NF。3NF 存在的问题包括:插入异常、删除异常、数据冗余度大、修改复杂。4、BCNF:在关系模式 R 中,如果每一个决定属性集都包含候选码,则 R 为 BCNF。BCNF是修正的 3NF。BCNF 关系模式具有如下性质:(1)所有非主属性都完全函数依赖于每个候选码。(2)所有主属性都完全函数依赖于每个不包含它的候选码。(3)没有任何属性完全函数依赖于非码的
18、任何一组属性。5、多值依赖:设 R(U)是一个属性集 U 上的关系模式,X,Y 和 Z 是 U 的子集,并且 Z=U-X-Y,多值依赖 X-Y成立当且仅当对 R 的任一关系 r,r 在(X,Z)上的每个值对应一组 Y 的值,这组值仅仅决定于 X 值而与 Z 无关。多值依赖具有下列性质:对称性、传递性、函数依赖是多值依赖的特殊情况、多值依赖的有效性与属性集的范围有关等等。6、4NF:关系模式 R满足 1NF,如果对于 R 的每个非平凡多值依赖 X-Y,X 都含有候选码,则 R 满足 4NF。4NF 就是限制关系模式的属性之间不允许有非平凡函数依赖的多值依赖。4.3、关系模式的规范化 1、关系模式
19、的规范化:一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式集合,这种过程就叫关系模式的规范化。2、关系模式规范化的步骤:(1)对 1NF 关系进行投影,消除原关系中非主属性对码的部分函数依赖,得到一组 2NF 关系。(2)对 2NF 关系进行投影,消除原关系中非主属性对码的传递函数依赖,得到一组 3NF 关系。(3)对 3NF 关系进行投影,消除原关系中主属性对码的部分函数依赖和传递函数依赖,得到一组 BCNF 关系。数据的形式本身并不能完全表达其内容需要经过语义解释数据库简称长期存储在计算机内有组织的可共享的数据集合数据库中的数据按一定的数据模型组织描述和存储具有较
20、小的冗余度较高的数据独立性和易扩展性并可为各种用户理系统统一管理统一控制数据库管理系统使用户能方便地定义数据和操纵数据并能够保证数据的安全性完整性多用户对数据的并发使用及发生故后的系统恢复数据库系统简称指在计算机系统中引入数据库后的系统构成一般由数据库人员数据管理指如何对数据进行分类组织编码存储检索和维护它是数据处理的中心问题随着计算机硬件和软件的发展数据管理经历了人工管理文件系统和数据库系统三个发展阶段人工管理数据的特点数据不保存数据需要由应用程序学习好资料 欢迎下载(4)对 BCNF 关系进行投影,消除原关系中非平凡且非函数依赖的多值依赖,得到一组 4NF关系。(5)对 4NF 关系进行投
21、影,消除原关系中不是由候选码所蕴含的连接依赖,得到一组 5NF 关系。3、无损连接性:关系模式 R 被分解为若干个关系模式 R1、R2、R3 等等,若由分解所得的关系模式自然连接的结果与 R 相等,则称关系模式 R 的这个分解是具有无损连接性的。只有具有无损连接性的分解才能够保证不丢失信息。4、保持函数依赖:对 R,若 F 所逻辑蕴含的函数依赖一定也由分解得到的某个关系模式中的函数依赖 F1 所逻辑蕴涵,则称关系模式 R 的这个分解是保持函数依赖的。第 5章 数据库保护 5.1、安全性 1、数据库的安全性:指保护数据库,防止因用户非法使用数据库造成数据泄露、更改或破坏。数据库安全性控制的一般方
22、法:(1)用户标识和鉴定,由系统提供一定的方式让用户标识自己的名字或身份。系统内部记录所有合法用户的标识,每次用户要求进入系统时,由系统将用户提供的身份标识与系统内部记录的合法用户标识进行核对,通过鉴定后提供机器使用权。(2)存取控制,为了保证用户只能访问他有权存取的数据,必须预先对每个用户定义存取权限。对于通过鉴定获得上机权的用户,系统根据他的存取权限定义他的各种操作请求进行控制,确保他只执行合法操作。(3)定义视图,在关系系统中,为不同的用户定义不同的视图,通过视图机制把要保密的数据对无权存取这些数据的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。(4)审计,使用一个专用文件或数据
23、库,系统自动将用户对数据库的所有操作记录在上面,利用审计追踪的信息,就能重现导致数据库现有状况的一系列事件,以找出非法存取数据的人。(5)数据加密,对于高度敏感的数据,可以利用数据加密技术,以密码形式存储和传输数据。5.2、完整性 1、完整性:指数据的正确性和相容性。完整性是防止合法用户使用数据库时向数据库中加入不合语义的数据。2、完整性约束条件:完整性约束条件是完整性控制机制的核心。完整性约束条件作用的对象可以有列级、元组级和关系级三种粒度。完整性约束条件涉及的这三类对象,其状态可以是静态的,也可以是动态的。完整性约束条件可以分为六类:(1)静态列级约束,就是对一个列的取值域的说明。(2)静
24、态元组约束,就是规定组成一个元组的各个列之间的约束关系。(3)静态关系约束,常见静态关系约束有实体完整性、参照完整性、用户定义完整性、统计约束。(4)动态列级约束,是修改列定义或列值时应满足的约束条件。(5)动态元组约束,是指修改某个元组的值时需要参照其旧值,并且新旧值之间需要满足某数据的形式本身并不能完全表达其内容需要经过语义解释数据库简称长期存储在计算机内有组织的可共享的数据集合数据库中的数据按一定的数据模型组织描述和存储具有较小的冗余度较高的数据独立性和易扩展性并可为各种用户理系统统一管理统一控制数据库管理系统使用户能方便地定义数据和操纵数据并能够保证数据的安全性完整性多用户对数据的并发
25、使用及发生故后的系统恢复数据库系统简称指在计算机系统中引入数据库后的系统构成一般由数据库人员数据管理指如何对数据进行分类组织编码存储检索和维护它是数据处理的中心问题随着计算机硬件和软件的发展数据管理经历了人工管理文件系统和数据库系统三个发展阶段人工管理数据的特点数据不保存数据需要由应用程序学习好资料 欢迎下载 种约束条件。(6)动态关系约束,就是加在关系变化前后状态上的限制条件。3、DBMS 的完整性控制机制的三个方面的功能:(1)定义功能,即提供定义完整性约束条件的机制。(2)检查功能,即检查用户发出的操作请求是否违背了完整性约束条件。(3)如果发现用户的操作请求使数据违背了完整性约束条件,
26、则采取一定的动作来保证数据的完整性。检查是否违背完整性约束的时机通常是一条语句执行完后立即检查,这类约束为立即执行的约束。在某些情况下,完整性检查需要延迟到整个事务执行结束后再进行,这类约束称为延迟执行的约束。4、实现 DBMS 参照完整性时需要考虑:(1)外码是否可以接受空值,外码是否能够取空值是依赖于应用环境的语义的。(2)删除被参照关系的元组时的考虑,有时需要删除被参照关系的某个元组,而参照关系又有若干元组的外码值与被删除的被参照关系的主码值相对应。这时可能采取的操作包括级联删除、受限删除、置空值删除。(3)修改被参照关系中主码的考虑,有时要修改被参照关系中某些元组的主码值,而参照关系中
27、有些元组的外码值正好等于被参照关系要修改的主码值。这时可能采取的操作包括:级联修改、受限修改、置空值修改。5、触发器:一类靠事件驱动的特殊过程,一旦由某个用户定义,任何用户对该数据库的增删改操作均由服务器自动激活相应的触发子,在核心层进行集中的完整性控制。定义数据库触发器的语句是 CREATE TRIGGER。5.3、并发控制 1、回滚:即在事务运行的过程中发生了某种故障,事务不能继续执行,系统将事务中对数据库的所有已完成的更新操作全部撤销,回滚到事务开始时的状态。2、事务:是数据库的逻辑工作单位,它是用户定义的一组操作序列。事务具有 4 个属性:原子性、一致性、隔离性和持续性。原子性是指一个
28、事务是一个不可分割的工作单位,事务中的操作要么都做要么都不做。一致性是指事务必须是使数据库从一个一致性状态变到另一个一致性状态。隔离性是指一个事务的执行不能被其他事务干扰。持续性是指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。2、并发操作带来的数据不一致性:并发操作带来的数据不一致性包括三类:丢失修改、不可重复读、读脏数据。(1)丢失修改,指事务 1 与事务 2 从数据库中读入同一数据并修改,事务 2 的提交结果破坏了事务 1 提交的结果,导致事务 1 的修改被丢失。(2)不可重复读,指事务 1 读取数据后,事务 2 执行更新(修改、删除、插入)操作,使事务 1 无法再现前一次读
29、取结果,分别导致事务 1 发现数据(改变、消失、新增)。(3)读“脏”数据,是指事务 1 修改某一数据,并将其写回磁盘,事务 2 读取同一数据后,事务 1 由于某种原因被撤销,这时事务 1 已修改过的数据恢复原值,事务 2 读到的数据就与数据库中的不一致,不是正确的数据,又称为脏数据。数据的形式本身并不能完全表达其内容需要经过语义解释数据库简称长期存储在计算机内有组织的可共享的数据集合数据库中的数据按一定的数据模型组织描述和存储具有较小的冗余度较高的数据独立性和易扩展性并可为各种用户理系统统一管理统一控制数据库管理系统使用户能方便地定义数据和操纵数据并能够保证数据的安全性完整性多用户对数据的并
30、发使用及发生故后的系统恢复数据库系统简称指在计算机系统中引入数据库后的系统构成一般由数据库人员数据管理指如何对数据进行分类组织编码存储检索和维护它是数据处理的中心问题随着计算机硬件和软件的发展数据管理经历了人工管理文件系统和数据库系统三个发展阶段人工管理数据的特点数据不保存数据需要由应用程序学习好资料 欢迎下载 产生上述三类数据不一致性的主要原因是并发操作破坏了事务的隔离性。3、可串行化:几个事务的并行执行是正确的,当且仅当其结果与按某一次序串行地执行它们时的结果相同,我们称这种并行调度策略为可串行化的调度。可串行是并行事务正确性的唯一准则。4、封锁:事务 T 在对某个数据对象操作之前,先向系
31、统发出请求,对其加锁。加锁后事务 T就对该数据对象有了一定的控制,在事务 T 释放它的锁之前,其他的事务不能更新此数据对象。基本的封锁类型有排它锁(X 锁)和共享锁(S 锁)。排它锁又称为写锁。若事务 T 对数据对象加上 X锁,则只允许 T 读取和修改 A,其他任何事务都不能再对 A 加任何类型的锁,直到 T 释放 A 上的锁。共享锁又称为读锁。若事务 T 对数据对象 A 加上 S 锁,则其他事务只能再对 A 加 S 锁,而不能加 X 锁,直到 T 释放 A 上的 S 锁。5、封锁的粒度:封锁对象的大小。封锁粒度与系统的并发度和并发控制的开销密切相关。封锁的粒度越大,系统中能够被封锁的对象就越
32、少,并发度也就越小,但同时系统开销也越小;相反,封锁的粒度越小,并发度越高,但系统开销也就越大。6、封锁协议:在运用 X 锁和 S 锁这两种基本封锁,对一定粒度的数据对象加锁时,还需要约定一些规则,例如何时申请 X 锁或 S 锁、持锁时间、何时释放等,我们称这些规则为封锁协议。7、三级封锁协议:(1)一级封锁协议,事务 T 在修改数据 R 之前必须先对其加 X 锁,直到事务结束才释放。事务结束包括正常结束和非正常结束。一级封锁协议可以防止丢失修改,并保证事务 T 是可恢复的。(2)二级封锁协议,在一级封锁协议的基础上,事务 T 在读取数据 R 之前必须先对其加 S 锁,读完后即可释放 S 锁。
33、二级封锁协议除了防止修改丢失,还可以进一步防止读“脏”数据。(3)三级封锁协议,在一级封锁协议的基础上,加上事务 T 在读取数据 R 之前必须先对其加S 锁,直到事务结束才释放。三级封锁协议防止丢失修改、读“脏”数据、不可重复读。8、两段锁协议:它是为了保证并行调度可串行性而提供的封锁协议。两段锁协议规定,在对任何数据进行读、写操作之前,事务首先要获得对该数据的封锁,而且在释放一个封锁之后,事务不再获得任何其他封锁。所谓“两段”锁的含义是,事务分为两个阶段,第一阶段是获得封锁,也称为扩展阶段,第二阶段是释放封锁,也称为收缩阶段。9、死锁的预防:防止死锁的发生,其实就是要破坏死锁产生的条件,预防
34、死锁通常有两种办法。(1)一次封锁法 一次封锁法要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行。一次封锁发虽然能有效地防止死锁的发生,但也存在问题。第一,一次就将以后要用到的全部数据加锁,势必扩大了封锁的范围,从而降低了系统的并发度。第二,数据库中数据是不断变化的,原来不要求封锁的数据,在执行过程中可能会变成封锁对象,所以很难事先确定每个事务所要封锁的数据对象,只能采取扩大封锁范围,将事务在执行过程中可能要封锁的数据对象全部加锁,这就进一步降低了并发度。(2)顺序封锁法 顺序封锁法是预先对数据对象规定一个封锁顺序,所有事务都按这个顺序实行封锁。顺序封锁法同样可以有效地防止死
35、锁,但也同样存在问题。第一,数据库系统中可封锁的数据对象及其众多,并且随数据库的插入、删除等操作而不断变化,要维护这样极多而且变化的资源的封锁顺序非常困数据的形式本身并不能完全表达其内容需要经过语义解释数据库简称长期存储在计算机内有组织的可共享的数据集合数据库中的数据按一定的数据模型组织描述和存储具有较小的冗余度较高的数据独立性和易扩展性并可为各种用户理系统统一管理统一控制数据库管理系统使用户能方便地定义数据和操纵数据并能够保证数据的安全性完整性多用户对数据的并发使用及发生故后的系统恢复数据库系统简称指在计算机系统中引入数据库后的系统构成一般由数据库人员数据管理指如何对数据进行分类组织编码存储
36、检索和维护它是数据处理的中心问题随着计算机硬件和软件的发展数据管理经历了人工管理文件系统和数据库系统三个发展阶段人工管理数据的特点数据不保存数据需要由应用程序学习好资料 欢迎下载 难,成本很高。第二,事务的封锁请求可以随着事务的执行而动态地决定,很难事先确定每一个事务要封锁的对象,因此也就很难按规定的顺序去施加封锁。可见,在操作系统中广为采用的预防死锁的策略并不很适合数据库的特点。5.4、恢复 1、数据库故障:数据库运行过程中可能发生的故障主要有三类:事务故障、系统故障和介质故障。不同的故障其恢复方法也不一样。事务故障,指事务在运行过程中由于输入数据的错误、运算溢出、违反了某些完整性限制、某些
37、应用程序的错误以及并行事务发生死锁等原因,使得事务未运行至正常终点就夭折了。事务故障的恢复需要强行回滚该事务,清除该事务对数据库的所有修改,使得这个事务像根本没有启动过一样,即事务撤销(UNDO)。系统故障,是指系统在运行过程中,由于某种原因,如操作系统或 DBMS 代码错误、操作员操作失误、特定类型的硬件错误、停电等造成系统停止运行,致使所有正在运行的事务都以非正常方式终止。内存中数据库缓冲区的信息全部丢失,但外存数据不受影响。由于无法确定哪些事务已经更新过数据库,所以在系统重启后,恢复程序要强行撤销所有未完成的事务。另外,有些已完成的事务可能没有写回到磁盘的物理数据库中,因此要重做所有已经
38、提交的事务,将数据库恢复到一致状态。介质故障,指在系统运行过程中,由于某种硬件故障,如磁盘损坏、磁头碰撞,或操作系统的某种潜在错误,瞬时强磁场干扰等,使存储在外存中的数据丢失。这种故障可能性小,但破坏性大。故障发生后,需要装入数据库发生介质故障前的某个时刻的数据副本,并重做自此时始的所有成功事务,将这些事务已提交的结果重新记入数据库。5、恢复:利用存储在系统其他地方的冗余数据来修复数据库中被破坏的或不正确的数据。建立冗余数据的常用技术是数据转储和登录日志文件。6、转储:指 DBA 将整个数据库复制到磁带或另一个磁盘上保存起来的过程。数据转储操作可以动态进行,也可以静态进行。静态转储是在系统中无
39、运行事务时进行的转储操作。动态转储是指转储操作与用户事务并发进行,转储期间允许对数据库进行存取或修改。数据转储分为两种方式,海量转储和增量转储。海量转储是指每次转储全部数据库。增量转储是指只转储上次转储后更新过的数据。7、日志文件:是用来记录事务对数据库的更新操作的文件。日志文件主要有两种,以记录为单位的日志文件和以数据块为单位的日志文件。日志文件在数据库恢复中起着非常重要的作用。可以用来进行事务故障恢复和系统故障恢复,并协助后备副本进行介质故障恢复。登记日志文件必须遵循(1)登记的次序严格按并行事务执行的时间次序。(2)必须先写日志文件,后写数据库。5.5、数据库复制与数据库镜像 1、数据库
40、复制:复制是使数据库更具容错性的方法,主要用于分布式结构的数据库中。它在多个场地保留多个数据库备份,这些备份可以是整个数据库的副本,也可以是部分数据库的副本。各个场地的用户可以并发地存取不同的数据库副本。通常有三种方式:对等复制、主/从复制和级联复制。数据的形式本身并不能完全表达其内容需要经过语义解释数据库简称长期存储在计算机内有组织的可共享的数据集合数据库中的数据按一定的数据模型组织描述和存储具有较小的冗余度较高的数据独立性和易扩展性并可为各种用户理系统统一管理统一控制数据库管理系统使用户能方便地定义数据和操纵数据并能够保证数据的安全性完整性多用户对数据的并发使用及发生故后的系统恢复数据库系
41、统简称指在计算机系统中引入数据库后的系统构成一般由数据库人员数据管理指如何对数据进行分类组织编码存储检索和维护它是数据处理的中心问题随着计算机硬件和软件的发展数据管理经历了人工管理文件系统和数据库系统三个发展阶段人工管理数据的特点数据不保存数据需要由应用程序学习好资料 欢迎下载 对等复制,各个场地的数据库地位平等,可以相互复制数据。用户可以在任何场地读取和更新公共数据集,在某一场地更新公共数据集时,DBMS 会立即将数据传送到所有其他副本。主/从复制,数据库只能从主数据库中复制到从数据库中。更新数据只能在主场地上进行,从场地供用户读取数据。级联复制,指从主场地复制过来的数据又从该场地再次复制到
42、其他场地。级联复制平衡了当前各种数据需求对网络交通的压力。2、DBMS 在使用复制技术时必须做到以下几点:(1)数据库复制必须对用户透明。(2)主数据库和各个复制数据库在任何时候都必须保持事务的完整性。(3)对于对异步的可在任何地方更新的复制方式,当两个应用在两个场地同时更新同一记录,一个场地的更新事务尚未复制到另一个场地时,第二个场地已开始更新,这时就可能引起冲突。DBMS 必须提供控制冲突的方法,包括各种形式的自动解决方法及人工干预方法。3、镜像:即根据 DBA 的要求,自动把整个数据库或其中的关键数据复制到另一个磁盘上,每当主数据库更新时,DBMS 会自动把更新后的数据复制过去,即 DB
43、MS 自动保证镜像数据与主数据的一致性。一旦介质出现故障,可由镜像磁盘继续提供数据库的可用性,同时 DBMS 自动利用镜像磁盘进行数据库的恢复,不需要关闭系统和重装数据库副本。在没有故障时,数据库镜像还可以用于并发操作。第 6章 数据库设计 6.1、数据库设计的步骤 1、逻辑数据库设计:是根据用户要求和特定数据库管理系统的具体特点,以数据库设计理论为依据,设计数据库的全局逻辑结构和每个用户的局部逻辑结构。2、物理数据库设计:是在逻辑结构确定之后,设计数据库的存储结构及其他实现细节。3、数据库设计步骤:(1)需求分析阶段,进行数据库设计首先必须准确了解与分析用户需求,包括数据与处理。(2)概念结
44、构设计阶段,通过对用户需求进行综合、归纳与抽象,形成一个独立于具体 DBMS的概念模型。(3)逻辑结构设计阶段,将概念结构转换为某个 DBMS 所支持的数据模型,并对其进行优化。(4)数据库物理设计阶段,为逻辑数据模型选取一个最适合应用环境的物理结构。(5)数据库实施阶段,建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。(6)数据库运行和维护阶段,不断地对数据库进行评价、调整和修改。4、需求分析:分析用户的需求与要求。需求分析是数据库设计的起点,需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。需求分析的重点是调查、收集与
45、分析用户在数据管理中的信息要求、处理要求、安全性与完整性要求。信息要求是指用户需要从数据库中获得信息的内容与性质。处理要求是指用户要求完成什么处理功能,对处理的响应时间有什么要求,处理方式是批处理还是联机处理。5、调查与初步分析用户需求通常需要四步:调查与初步分析用户需求通常需要四步:数据的形式本身并不能完全表达其内容需要经过语义解释数据库简称长期存储在计算机内有组织的可共享的数据集合数据库中的数据按一定的数据模型组织描述和存储具有较小的冗余度较高的数据独立性和易扩展性并可为各种用户理系统统一管理统一控制数据库管理系统使用户能方便地定义数据和操纵数据并能够保证数据的安全性完整性多用户对数据的并
46、发使用及发生故后的系统恢复数据库系统简称指在计算机系统中引入数据库后的系统构成一般由数据库人员数据管理指如何对数据进行分类组织编码存储检索和维护它是数据处理的中心问题随着计算机硬件和软件的发展数据管理经历了人工管理文件系统和数据库系统三个发展阶段人工管理数据的特点数据不保存数据需要由应用程序学习好资料 欢迎下载(1)首先调查组织机构情况。包括了解该组织的部门组成情况,各部门的职责等等。(2)调查各部门的业务活动情况。包括了解各部门输入和使用什么数据,输出什么信息,输出到什么部门等等。(3)协助用户明确对新系统的各种要求,包括信息要求、处理要求、安全性与完整性要求等等。(4)对前面的调查结果进行
47、初步分析,确定新系统的边界,确定哪些功能由计算机完成,哪些活动由人工完成等等。在调查过程中,可以根据不同的问题和条件,使用不同的调查方法。常用的调查方法有以下几种:跟班作业、开调查会、请专人介绍、询问、设计调查表请用户填写、查阅记录。需求调查时,往往需要同时采用上述多种方法。6.2、需求分析 1、数据字典:是各类数据描述的集合。对数据库设计来讲,数据字典是进行详细的数据收集和数据分析所获得的主要结果。数据字典通常包括数据项、数据结构、数据流、数据存储、处理过程 5 个部分。数据项是不可再分的数据单位。数据结构反映了数据之间的组合关系。数据流是数据结构在系统内传输的路径。数据存储是数据结构停留或
48、保存的地方,也是数据流的来源和去向之一。处理过程的具体处理逻辑一般用判定表或判定树来描述。6.3、概念结构设计 1、概念结构设计:将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。设计概念结构通常有四类方法:(1)自顶向下,首先定义全局概念结构的框架,然后逐步细化。(2)自底向上,首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构。(3)逐步扩张,首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构。(4)混合策略,将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略
49、中设计的各局部概念结构。2、ER 图之间的冲突:属性冲突、命名冲突、结构冲突。属性冲突:属性域冲突,即属性值的类型、取值范围或取值集合不同;属性取值单位冲突。命名冲突:同名异义、异名同义。结构冲突,同一对象在不同应用中具有不同的抽象;同一实体在不同局部视图中所包含的属性不完全相同;实体之间的联系在不同局部视图中呈现不同的类型。3、概念结构:是对现实世界的一种抽象,即对实际的人、物、事和概念进行人为处理,抽取人们关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确地加以描述。4、ER 图的设计步骤:(1)选择局部应用。根据系统的具体情况,在多层的数据流图中选择一个适当层次的数据流图,让这
50、组图中每一部分对应一个局部应用,即可以这一层次的数据流图为出发点,设计分 ER 图。(2)逐一设计分 ER 图。每个局部应用都对应了一组数据流图,局部应用设计的数据都已经收集在数据字典中了。现在将这些数据从数据字典中抽取出来,参照数据流图,标定局部应用中的数据的形式本身并不能完全表达其内容需要经过语义解释数据库简称长期存储在计算机内有组织的可共享的数据集合数据库中的数据按一定的数据模型组织描述和存储具有较小的冗余度较高的数据独立性和易扩展性并可为各种用户理系统统一管理统一控制数据库管理系统使用户能方便地定义数据和操纵数据并能够保证数据的安全性完整性多用户对数据的并发使用及发生故后的系统恢复数据