自考00911互联网数据库 精华小抄笔记_第1页
自考00911互联网数据库 精华小抄笔记_第2页
自考00911互联网数据库 精华小抄笔记_第3页
自考00911互联网数据库 精华小抄笔记_第4页
自考00911互联网数据库 精华小抄笔记_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、互联网数据库串讲 学习目的和要求 了解数据管理发展历程 理解数据模型的三要素及常用的三种数据模型 掌握数据库系统的三级模式结构和数据的两层映象 理解数据库管理系统的组成和功能。 往年频繁考点: 数据库基本概念(DB,DBMS,DBS)及其联系 数据管理技术发展的三个阶段及其特点 数据模型的三要素 数据库三级模式结构 二级映像与数据独立性 数据库管理系统的基本功能第一节 数据管理技术的发展 数据、数据库、数据库系统和数据库管理系统的概念 数据:描述事物的符号记录。 数据库:数据库是长期存储在计算机内、有组织、可共享的数据集合。 数据库系统(DBS):是实现有组织地、动态地存储大量关联数据,方便多

2、用户访问的计算机软件、硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。 数据库管理系统(DBMS):是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。DBMS总是基于某种数据模型,可以分为层次型、网状型、关系型、面向对象型DBMS。 数据管理经历的三个阶段 人工管理阶段:数据不保存、数据需要由应用程序自己进行管理、基本上没有文件概念、数据不共享。 文件系统阶段:数据可以长期保存、文件系统管理数据、 文件已经多样化、数据的存取基本上以记录为单位。但数据共享性差,数据冗余度大;数据和程序缺乏独立性。 数据库系统阶段:

3、数据结构化;数据共享性高、冗余度小、易扩充;数据独立性高;统一的数据管理和控制:数据的安全性保护、数据的完整性控制、数据库恢复和并发控制;数据的最小存取单位是数据项。 数据库技术:是一门研究数据库结构、存储、管理和使用的软件学科。 数据库技术的发展 第一代数据库系统,即层次数据库系统和网状数据库系统 第二代数据库系统,即关系数据库系统 第三代数据库系统,即面向对象数据库系统 数据库技术的研究领域 数据库管理系统软件的研制 数据库设计 数据库理论第二节 数据模型 数据模型是现实世界数据特征的抽象。是数据库系统的核心和基础。 数据模型应满足三方面要求: 一是能比较真实地模拟现实世界; 二是容易为人

4、所理解; 三是便于在计算机上实现。 根据模型应用目的分为: 概念模型,也称信息模型,它是按用户的观点对数据和信息建模。 数据模型,主要包括层次模型、网状模型、关系模型和面向对象数据模型,它是按计算机系统的观点对数据建模。 数据模型三个要素: 数据结构描述系统的静态特性 数据操作描述系统的动态特性 数据的约束条件是一组完整性规则的集合 概念模型:用于信息世界的建模,是现实世界到信息世界的第一层抽象 实体(Entity):客观存在并可相互区别的事物 属性(Attribute):实体所具有的某一特性 实体集(Entity Set):性质相同的同类实体的集合 实体型(Entity Type):用实体名

5、及其属性名集合来抽象和刻画同类实体 码(Key)唯一标识实体的属性集(最小)称为码 域(Domain)属性的取值范围称为该属性的域 联系(Relationship)实体(型)内部的联系和实体(型)之间的联系两个实体型之间的联系可以分为三类:一对一联系(11);一对多联系(1n);多对多联系(mn) 概念模型的表示方法 E-R图提供了表示实体型、属性和联系的方法。实体-联系方法(E-R方法)是抽象和描述现实世界的有力工具。 实体型:用矩形表示,矩形框内写明实体名。属性:用椭圆形表示,并用无向边将其与相应的实体连接起来。联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在

6、无向边旁标上联系的类型(11,1n或mn)。 数据模型:层次模型、网状模型、关系模型和面向对象数据模型。其中层次模型和网状模型统称为非关系模型。 层次模型:用树型结构表示实体类型及实体间联系的数据模型 数据结构特征: 只有一个结点没有双亲结点,称之为根结点;根以外的其他结点有且只有一个双亲结点。 优缺点:优点:数据模型简单;若实体间的关系固定,性能优于关系模型;良好的完整性支持。缺点:描述现实世界的非层次性很笨拙;插入和删除操作限制较多;必须通过双亲才能找到子结点;由于结构严密,层次命令趋于程序化。 网状模型:用有向图结构表示实体类型及实体间联系的数据模型。 数据结构特征 (1)允许一个以上的

7、结点无双亲;(2)一个结点可以有多于一个的双亲。 优缺点优点:能够直接描述现实世界;存取效率较高。缺点:数据描述语言极其复杂;数据独立性差。l 关系模型:是由若干个关系模式组成的集合 数据结构特征:是用二维表格结构表达实体集,用外键表示实体间联系。关系模型要求关系必须是规范化的, 优缺点优点:有严格的数学概念作基础;关系模型的概念单一;存取路径对用户透明缺点:查询效率不高第三节 数据库系统的结构 外模式、模式和内模式的概念和涵义 模式:数据库中全体数据的逻辑结构和特征的描述,一个数据库只有一个模式。 外模式:局部数据的逻辑结构和特征的描述,数据库用户的数据视图,外模式是模式的子集。 内模式:数

8、据物理结构和存储方式的描述,数据在数据库内部的表示方法,一个数据库只有一个内模式。 数据独立性 数据独立性是指数据和程序之间的独立。它包括物理独立性和逻辑独立性两个方面。 数据库系统在三级模式之间提供的两层映象: 外模式/模式映象:通常包含在各外模式描述中提供数据的逻辑独立性:当模式改变时,通过改变外模式/模式映象而使外模式保持不变,因此应用程序不变。l 模式/内模式映象:通常包含在模式描述中提供数据的物理独立性:当数据库的存储结构改变了,通过改变模式/内模式映象而使模式保持不变。 两层映象保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。 第四节 数据库管理系统 数据库管理系统的

9、功能 数据定义 数据操纵 数据库运行管理 数据组织、存储和管理 数据库的建立和维护 数据通信接口 数据库管理系统的组成 数据定义语言及其翻译处理程序 数据操纵语言及其编译(或解释)程序 数据库运行控制程序 实用程序 一个设计优良的DBMS: 友好的用户界面 比较完备的功能 较高的运行效率 清晰的系统结构和开放性 应用程序从数据库中读取一个数据通常需要以下步骤 : 应用程序向DBMS发出从数据库中读数据记录的命令; DBMS对该命令进行语法检查、语义检查,并调用该应用程序对应的外模式,检查程序的存取权限,决定是否执行该命令。如果拒绝执行,则向用户返回错误信息; 在决定执行该命令后,DBMS调用模

10、式,依据外模式模式映象的定义,确定应读入模式中的哪些记录; DBMS调用内模式,依据模式内模式映象的定义,决定应从哪个文件、用什么存取方式、读入哪个或哪些物理记录; DBMS向操作系统发出执行读取所需物理记录的命令; 操作系统执行读数据的有关操作; 操作系统将数据从数据库的存储区送至系统缓冲区; DBMS依据外模式模式映象的定义,导出应用程序所要读取的记录格式; DBMS将数据记录从系统缓冲区传送到应用程序的用户工作区; DBMS向应用程序返回命令执行情况的状态信息。第二章 关系数据库简介 学习目的和要求 了解关系模型的基本概念 掌握关系模型的构成 理解关系代数的两类运算 理解关系演算的两类演

11、算语言。 往年频繁考点 关系数据结构的概念、特点;特别是基本关系的特点及关系模式的定义; 关系的三类完整性约束,特别是关系的两个不变性:实体完整性和参照完整性的含义; 关系代数运算的分类、基本运算、含义、关系表达式的写法。还有部分与第三章SQL相结合的练习; 关系演算的含义、分类方法,各类关系演算语言的运算规则、背景等。第一节 关系模型的基本概念 关系模型的组成 关系数据结构、关系操作集合、关系完整性约束 关系数据结构 域:是一组具有相同数据类型的值的集合。在关系中用域表示属性的取值范围。 属性:关系中的每列起一个名字,称为属性。 元组:关系中的每一行,称为一个元组,对应于概念模型的一个实体。

12、 候选码:关系中能唯一地标识一个元组的某一属性或属性组 关系模式:关系的描述。它可以形式化地表示为:R(U, D, DOM, F) 关系数据库的型也称为关系数据库模式,是对关系数据库的描述,是关系模式的集合; 关系数据库的值也称为关系数据库,是关系的集合。 关系可以有三种类型:基本关系(通常又称为基本表或基表)、查询表和视图表 基本关系具有以下六条性质:列是同质的(Homogeneous),即每一列中的分量同一类型的数据,来自同一个域。不同的列可出自同一个域,称其中的每列为一个属性,不同的属性要给予不同的属性名。列的顺序无所谓,即列的次序可以任意交换。任意两个元组不能完全相同。行的顺序无所谓,

13、即行的次序可以任意交换。分量必须取原子值,即每一个分量都必须是不可分的数据项。 关系数据库中的关系与关系模式关系模式是型,是对关系的描述,关系模式是静态的、稳定的 关系是值,是动态的、随时间不断变化的 关系是一张二维表,是元组的集合关系模式指出了这个元组集合的结构 关系操作 关系代数语言 例如ISBL 关系演算语言 元组关系演算语言 例如ALPHA,QUEL 域关系演算语言 例如QBE 关系代数、元组关系演算和域关系演算三种语言在表达能力上是完全等价的。 具有关系代数和关系演算双重特点的语言 例如SQL 关系操作的特点: 一次一集合(set-at-a-time)的操作方式。 存取路径对用户透明

14、关系完整性约束 实体完整性规则:基本关系的主属性不能取空值实体完整性规则是针对基本关系而言的。一个基本表通常对应现实世界的一个实体集。例如学生关系对应于学生的集合。现实世界中的实体是可区分的,即它们具有某种唯一性标识。相应地,关系模型中以码作为唯一性标识。码中的属性即主属性不能取空值。所谓空值就是不知道或无意义的值。 参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的码Ks相对应,则对于R中每个元组在F上的值必须为:空值或者等于S中某个元组在Ks上的值。设F是基本关系R的一个或一组属性,但不是关系R的码。如果F与基本关系S的码Ks相对应,则称F是基本关系R的外码参照完整性

15、规则要求不引用不存在的实体。关系模型中,表与表之间的联系正是通过参照完整性实现的 用户定义完整性规则:由具体应用环境决定,系统提供定义和检验这类完整性的机制。 实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性,应该由关系系统自动支持。 关系代数的运算符 集合运算符、专门的关系运算符、算术比较符、逻辑运算符 传统的集合运算 并:关系R与关系S的并由属于R或属于S的元组组成。 交:关系R与关系S的交由既属于R又属于S的元组组成。 差:关系R与关系S的差由属于R而不属于S的所有元组组成。 广义笛卡尔积:两个分别为n目和m目的关系R和S的广义笛卡尔积是一个(n+m)列

16、的元组的集合。若R有k1个元组,S有k2个元组,则关系R和关系S的广义笛卡尔积有k1k2个元组。 专门的关系运算 选择:在关系中选择满足给定条件的诸元组。 投影:从R中选择出若干属性列组成新的关系。 连接:它是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。 除: 关系代数运算中并、差、笛卡尔积、投影和选择5种运算为基本的运算。 关系演算是以数理逻辑中的谓词演算为基础的,按谓词变元的不同,关系演算可分为元组关系演算和域关系演算。 元组关系演算 元组关系演算以元组变量作为谓词变元的基本对象。 ALPHA语言是E.F.Codd提出的、典型的元组关系演算语言 ALPHA语言是以谓词公式来定义查询

17、要求的。在谓词公式中存在客体变元,这里称为元组变量。 元组变量主要有两方面的用途:简化关系名。操作条件中使用量词时必须用元组变量。 域关系演算 域关系演算以元组变量的分量即域变量作为谓词变元的基本对象。 QBE是1975年由IBM公司的M.Zloof提出的一个很有特色的域关系演算语言,该语言于1978年在IBM370上得以实现。 QBE是Query By Example的缩写,也称为示例查询,它是一种很有特色的屏幕编辑语言,其特点如下:以表格形式进行操作通过例子进行查询查询顺序自由第三章 关系数据库标准语言SQL 学习目的和要求 了解SQL语言的主要特点 掌握SQL语言的数据定义功能和数据操纵

18、功能 理解视图的定义和优点 了解数据控制的功能 了解嵌入式SQL语句的一般形式及其分类 往年频繁考点: SQL语言的特点; 数据定义命令的应用; 数据查询命令的灵活运用; 数据更新命令; 视图的概念、特点及其定义语句; 数据控制概念及相关命令第一节 SQL概述 SQL:Structured Query Language,关系数据库的标准语言 SQL语言集数据操纵、数据定义和数据控制功能于一体。 SQL语言的特点: 综合统一 高度非过程化 面向集合的操作方式 以同一种语法结构提供两种使用方式 语言简洁,易学易用。 SQL对三级模式结构的支持: 外模式视图和部分基本表 模式所有基本表 内模式存储文

19、件 SQL DDL(Data Definition Language)语言 定义和撤消的数据对象 基本表(Table)、索引(Index) 命令动词 Create(创建):建立表和索引 Alter(修改):一般只修改表的定义 Drop(删除):可删除表和索引 定义基本表常见列级完整性约束NOT NULLUNIQUE常见表级完整性约束PRIMARY KEY () 索引 建立索引是加快查询速度的有效手段。 基本表上可以建立一个或多个索引。 建立与删除索引由数据库管理员DBA或表的属主(即建立表的人)负责完成。 系统在存取数据时会自动选择合适的路径。用户不必也不能选择索引。 建立索引 可以建立在该表

20、的一列或多列上,当第一列的值相等时,考虑第二列的次序。 每个后面还可以用指定索引值的排列次序,可选ASC(升序)或DESC(降序),缺省值为ASC。 唯一索引的每一个索引值只对应唯一的数据记录。 聚簇索引是指索引项的顺序与表中记录的物理顺序一致的索引组织,在一个基本表上最多只能建立一个聚簇索引 检索查询 SELECT ALL|DISTINCT 别名, 别名 FROM 别名, 别名 WHERE GROUP BY HAVING ORDER BY ASC|DESC; 的格式 表名. , . .*;*; ( DISTINCT|ALL *),集函数:SUM、AVG、COUNT、MAX、MIN 的格式 q

21、 | | ANY/ALL (SELECT语句) NOT BETWEEN | | (SELECT语句) AND | | ANY/ALL (SELECT语句) NOT IN ( ,) | (SELECT语句) NOT LIKE IS NOT NULLNOT EXISTS (SELECT语句) AND|OR AND|OR 更新 INSERT(插入单记录和子查询两种形式) DELETE(通过子查询引入其他数据表) UPDATE(通过子查询引入其他数据表) 更新操作与数据库的一致性增删改操作只能对一个表操作,这会影响数据库的数据一致性(参照完整性)问题,不同的数据库管理系统有不同的解决办法。第四节 视图

22、 视图是从一个或几个基本表(或视图)导出的表,它与基本表不同,是一个虚表。 数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中。 定义和合理地使用视图能带来的好处为: 视图能够简化用户的操作 视图使用户能以多种角度看待同一数据 视图对重构数据库提供了一定程度的逻辑独立性 视图能够对机密数据提供安全保护 为防止用户通过视图对数据进行增、删、改时,无意或故意操作不属于视图范围内的基本表数据,可在定义视图时加上WITH CHECK OPTION子句,这样在视图上增、删、改数据时,DBMS会进一步检查视图定义中的条件,若不满足条件,则拒绝执行该操作。 由于视图是不实际存储

23、数据的虚表,因此对视图的更新,最终要转换为对基本表的更新。 在关系数据库中,因为有些视图的更新不能唯一地有意义地转换成对相应基本表的更新,因此并不是所有的视图都是可更新的。 若一个视图是从单个基本表导出的,并且只是去掉了基本表的某些行和某些列,但保留了码,我们称这类视图为行列子集视图。 一般对所有行列子集视图都可以执行修改和删除元组的操作,如果基本表中所有不允许空值的列都出现在视图中,则也可以对其执行插入操作。 DBMS执行对视图的查询时,首先进行有效性检查,检查查询的表、视图等是否存在。如果存在,则从数据字典中取出视图的定义,把定义中的子查询和用户的查询结合起来,转换成等价的对基本表的查询,

24、然后再执行修正了的查询,这一转换过程称为视图消解第五节 数据控制 数据控制 SQL中数据控制功能包括事务管理功能和数据保护功能,即数据库的恢复、并发控制;数据库的安全性和完整性。 保证数据安全的主要措施是进行存取控制,即规定不同用户对于不同数据对象所允许执行的操作,并控制各用户只能存取他有权存取的数据。 授予权限命令GRANT 收回权限命令REVOKE第四章 关系数据库设计理论 学习目的和要求 了解数据依赖的定义及两种重要的类型 理解各类范式的概念及涵义 掌握相关概念及关系模式规范化的步骤。 往年频繁考点: 函数依赖的定义、性质 部分函数依赖、传递函数依赖概念 码、候选码、主码、主属性、非主属

25、性概念 第二范式;第三范式;BC范式的判断和规范化 关系模式规范化的步骤 判断关系模式的分解与原关系模式等价的标准第一节 数据依赖 数据依赖的涵义 数据依赖是通过一个关系中属性间值的相等与否体现出来的数据间的相互关系,是现实世界属性间相互联系的抽象,是数据内在的性质,是语义的体现。现在人们已经提出了许多种类型的数据依赖,其中最重要的是函数依赖和多值依赖。 函数依赖 设R(U)是一个关系模式,U是R的属性集合,X和Y是U的子集。对于R(U)的任意一个可能的关系r,如果r中不存在两个元组,它们在X上的属性值相同,而在Y上的属性值不同,则称X函数确定Y或Y函数依赖于X,记作XY。 平凡函数依赖;非平

26、凡函数依赖 在关系模式R(U)中,对于U的子集X和Y,如果XY,但YX,则称XY是非平凡的函数依赖。若YX,则称XY是平凡的函数依赖。 完全函数依赖;部分函数依赖 在R(U)中,如果XY,并且对于X的任何一个真子集X,都有XY,则称Y对X完全函数依赖 若XY,但Y不完全依赖于X,则称Y对X部分函数依赖 传递函数依赖 在R(U)中,如果XY,(YX),YX,YZ,则称Z传递函数依赖于X。 数据依赖相关的一些概念 候选码:设K为RU, F中的属性或属性组合,若U完全函数依赖于K,则K为R的候选码 主码:若候选码多于一个,则选定其中的一个为主码 主属性:包含在任何一个候选码中的属性 非主属性:不包含

27、在任何码中的属性称作非主属性 外部码:关系模式R中属性或属性组X并非R的码,但X是另一个关系模式的码,则称X是R的外部码,也称外码第二节 范式 范式(Normal Form)是符合某一种级别的关系模式的集合,是衡量关系模式规范化程度的标准 根据规范化程度的不同,数据库范式从低到高有第一范式、第二范式、第三范式、BC范式、第四范式、第五范式。对于各范式之间的联系有: 5NF4NFBCNF3NF2NF1NF成立 1NF 如果一个关系模式R的所有属性都是不可分的基本数据项,则R1NF。 仅满足1NF的关系模式有插入异常、删除异常、冗余过大和修改复杂。 2NF 若R1NF,且每一个非主属性完全依赖于R

28、的任何码,则R2NF 判断的方法:先找出所有的候选码,从而找出非主属性和主属性。如果不存在非主属性对码的部分函数依赖,则该关系属于2NF;否则不属于2NF。 3NF 关系模式RU,F2NF,且每一个非主属性都不传递函数依赖于码,则称RU,F3NF。 判断的方法:先判断2NF,然后检查有无非主属性对码的传递函数依赖 BCNF 设关系模式RU,F1NF,若XY且YX时X必含有码,则RU,FBCNF BCNF的关系模式都具有如下3个性质:所有非主属性都完全函数依赖于每个候选码。所有主属性都完全函数依赖于每个不包含它的候选码。没有任何属性完全函数依赖于非码的任何一组属性。 判断的方法:只需检查所有的函

29、数依赖的决定因素是否包含码 如果一个关系数据库中的所有关系模式都属于BCNF,那么在函数依赖范畴内,它已实现了模式的彻底分解,达到了最高的规范化程度,消除了插入异常和删除异常。 多值依赖 设R(U)是一个关系模式,X,Y和Z是U的子集,并且Z=U-X-Y,多值依赖XY成立当且仅当对R的任一关系r,r在(X,Z)上的每个值对应一组Y的值,这组值仅仅决定于X值而与Z值无关。 4NF 关系模式RU,F1NF,如果对于R的每个非平凡多值依赖XY(YX),X都含有候选码,则R4NF。 判断的方法:先判断BCNF,然后,看所有非平凡的多值依赖是否是函数依赖。 规范化 一个低一级的关系模式,通过模式分解可以

30、转换为若干个高一级范式的关系模式的集合,这种过程就叫做规范化。规范化实质上是概念的单一化。 关系模式规范化时一般应遵循以下原则: 1)关系模式进行无损连接分解。 2)合理选择规范化程度。 3)正确性与可实现性原则。 关系模式规范化的基本步骤: 对1NF关系进行投影,消除原关系中非主属性对码的部分函数依赖,将1NF关系转换为若干个2NF关系。 对2NF关系进行投影,消除原关系中非主属性对码的传递函数依赖,从而产生一组3NF关系。 对3NF关系进行投影,消除原关系中主属性对码的部分函数依赖和传递函数依赖,得到一组BCNF关系。 对BCNF关系进行投影,消除原关系中非平凡且非函数依赖的多值依赖,从而

31、产生一组4NF关系。 对4NF关系进行投影,消除原关系中不是由候选码所蕴含的连接依赖,即可得到一组5NF关系。 5NF是最终范式 无损连接性 设关系模式RU,F被分解为若干个关系模式R1U1,F1,R2U2,F2,RnUn,Fn(其中U=U1U2Un,且不存在UiUj,Fj为F在Ui上的投影),若R与R1,R2,Rn自然连接的结果相等,则称关系模式R的这个分解具有无损连接性。 只有具有无损连接性的分解才能够保证不丢失信息。 多值依赖是分解无损的充要条件。 函数依赖保持性 设关系模式RU,F被分解为若干个关系模式R1U1,F1,R2U2,F2,RnUn,Fn(其中U=U1U2Un,且不存在UiU

32、j,Fi为F在Ui上的投影),若F所逻辑蕴含的函数依赖一定也由分解得到的某个关系模式中的函数依赖Fi所逻辑蕴含,则称关系模式R的这个分解是保持函数依赖的。 如果一个分解保持了函数依赖,则它可以减轻或解决各种异常情况。 分解具有无损连接性和分解保持函数依赖是两个互相独立的标准。 判断对关系模式的一个分解是否与原关系模式等价可以有三种不同的标准: 1)分解具有无损连接性; 2)分解要保持函数依赖; 3)分解既要保持函数依赖,又要具有无损连接性。 规范化理论提供了一套完整的模式分解算法,按照这套算法可以做到: 若要求分解具有无损连接性,那么模式分解一定能够达到4NF。 若要求分解保持函数依赖,那么模

33、式分解一定能够达到3NF,但不一定能够达到BCNF。 若要求分解既具有无损连接性,又保持函数依赖,则模式分解一定能够达到3NF,但不一定能够达到BCNF 第五章 数据库保护 学习目的和要求 了解数据库安全性控制的措施 理解完整性约束条件和控制机制 理解并发控制的原则和方法 了解恢复的原理及实现技术 往年频繁考点: 数据库安全性的概念 安全性控制的一般方法:用户标识和鉴定、存取控制、定义视图、审计和密码存储。 完整性的概念及其与安全性的区别 完整性约束条件的分类 数据库管理系统完整性控制机制具有的功能:定义功能、检查功能和保证功能 实现参照完整性应注意的问题 并发控制的单位事务的概念及特征:原子

34、性、一致性、隔离性和持续性 封锁的概念及类型 死锁与活锁的含义与解决方法 故障的种类:事务故障、系统故障、介质故障、计算机病毒。 数据转储的方法及分类; 登记日志文件的登记内容和登记的原则。第一节 安全性 数据库的安全性主要是指保护数据库,防止由于非法使用数据库造成数据泄露、更改或破坏。 安全性控制的一般方法: 用户标识和鉴别 存取控制 定义视图 审计 密码存储 好的安全措施:使得那些试图破坏安全的人所花费的代价远远超过他们所得到的利益。 实现数据库系统安全性的技术和方法有多种,最重要的是存取控制技术和审计技术。 第二节 完整性 数据库的完整性是指数据的正确性、有效性和相容性。 数据库是否具备

35、完整性关系到数据库系统能否真实地反映现实世界 数据的完整性与安全性是数据库保护的两个不同的方面。安全性是防止用户非法使用数据库。完整性则是防止合法用户使用数据库时向数据库中加入不合语义的数据。 完整性约束条件的分类: 静态列级约束 静态元组约束 静态关系约束 动态列级约束 动态元组约束 动态关系约束第二节 完整性 数据库管理系统完整性控制机制具有的功能: 定义功能: 提供定义完整性约束条件的机制 检查功能: 检查操作请求是否违背了完整性约束条件的机制 保证功能: 一旦发生违背完整性约束条件的操作, 要采取措施保证数据的完整性 实现完整性需要考虑的问题: 外码能否接收空值 在被参照关系中删除元组

36、,包括:级联删除、受限删除、置空值删除。 修改被参照关系中主码,包括:级联修改、受限修改、置空值修改。第三节 并发控制 事务 并发控制的单位,是用户定义的一组数据库操作序列。 事务的特性(ACID)原子性:事务是原子的, 要么都做, 要么都不做一致性:事务保证了数据库的一致性隔离性:事务相互隔离. 并发执行的事务之间不能互相干扰持续性:事务一旦提交, 它对数据库数据的改变是永久的 并发操作带来的数据不一致 丢失修改 读“脏”数据 不可重复读 并发控制的主要技术是采用封锁机制。 封锁就是事务T可以向系统发出请求,对某个数据对象(最常用的是记录)加锁。于是事务T对这个数据对象就有一定的控制。 两种

37、封锁类型 排它锁:简称X锁, 又称写锁。若事务T在数据对象A上有X锁, 则其它任何事务都不能再对A加任何类型的锁, 直到T释放A上的锁。 共享锁:简称S锁, 又称读锁。若事务T对数据对象A加上S锁,则其它事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。 保证数据一致性的封锁协议 一级封锁协议:事务T在修改数据R之前必须加X锁, 直到事务结束。可防止丢失修改。不能保证可重复读和不读“脏”数据 二级封锁协议: 1级封锁协议加上事务T在读取数据R之前必须加S锁, 读完后即可释放。可防止丢失修改和读“脏”数据,不能保证可重复读 三级封锁协议: 1级封锁协议加上事务T在读取数据R之前必须加S锁

38、,直到事务结束才释放。可防止丢失修改和读“脏”数据,而且可以保证可重复读 和操作系统一样,封锁的方法可能引起活锁和死锁。 活锁是指当若干事务要对同一数据项加锁时,造成一些事务的永远等待,得不到控制权的现象 避免活锁的方法:采取先来先服务的策略 死锁是指两个以上事务集合中的每个事务都在等待加锁当前已被另一事务加锁的数据项,从而造成相互等待的现象。 数据库中解决死锁的常用方法有: 要求每个事务一次就将所有要使用的数据全部加锁,否则就不能执行。 采用按序加锁法。 不采取任何措施来预防死锁的发生,而是周期性的检查系统中是否有死锁。 可串行化的调度:如果几个事务并行(交错)执行的结果和按次序串行执行的结

39、果相同,则称该并行执行结果是正确的。这样的调度称为可串行化的调度。 可串行化是并行事务正确性的准则 保证并行调度可串行性的封锁协议 两段锁协议:指所有事务必须分两个阶段对数据库项加锁和解锁。 所谓“两段”锁含义是:事务分为两个阶段。第一阶段是获得封锁,也称为扩展阶段。在该阶段,事务可以申请获得任何数据项上的任何类型的锁,但是不能释放任何锁。第二阶段是释放封锁,也称为收缩阶段。在该阶段,事务可以释放任何数据项上的任何类型的锁,但是不能再申请任何锁 两段锁协议规定所有的事务应遵守下列规则: 在对任何数据进行读、写操作之前,事务首先要获得对该数据的封锁。 在释放一个封锁之后,事务不再获得任何其他封锁

40、。第四节 恢复 数据库系统故障: 事务内部的故障 系统故障 介质故障 计算机病毒 恢复的基本原理: 制造冗余 建立冗余数据的常用技术 数据转储 登记日志文件 转储: DBA定期地将整个数据库复制到磁带或另一个磁盘上保存起来的过程。 静态转储(转储期间不允许对数据库进行任何存取、修改活动) 动态转储(转储期间允许对数据进行存取或修改) 海量转储(每次转储全部数据库) 增量转储(每次只转储上次转储后更新过的数据) 日志文件是用来记录对数据库每一次更新活动的文件。在转储中必须建立日志文件,后援副本和日志文件综合起来才能有效地恢复数据库。 日志文件内容事务对数据库的更新操作 BEGIN TRANSAC

41、TION 标记 COMMIT 或 ROLLBACK 标记 所有更新操作:事务标识, 操作的类型, 操作对象, 更新前后数据的旧值和新值 日志文件作用 用于事务故障和系统故障的恢复 数据转储的副本和日志文件结合起来才能有效地恢复数据库 登记日志的原则: 登记的次序严格按并发事务执行的时间次序 先写日志文件,后写数据库 利用日志文件恢复事务的过程: 从头扫描日志文件,找出哪些事务在故障发生时已经结束,哪些事务尚未结束; 对尚未结束的事务进行撤销处理 对已经结束的事务进行重做处理。 硬件故障、病毒破坏:当数据库本身被破坏时,可重装转储数据库的后备副本,然后运行日志文件,执行事务恢复,这样就可以重建数

42、据库。 发生事务故障、系统故障:当数据库本身没被破坏,但内容已经不可靠时,可利用日志文件恢复事务,从而使数据库回到某一正确状态,这时不必重装后备副本。 第六章 数据库设计 学习目的和要求 了解数据库设计的步骤 理解并掌握需求分析、概念结构设计、逻辑结构设计、数据库物理设计以及数据库实施的方法 了解数据库运行与维护的内容 往年频繁考点: 数据库设计的步骤 需求分析的方法;数据字典的概念和组成 概念结构设计的特点、步骤;数据抽象;E-R图的设计步骤;视图的集成 逻辑结构设计的任务;逻辑结构设计的步骤;E-R图向数据模型的转换的方法 数据库物理设计的步骤;数据库物理设计的内容;确定、评价数据库的物理

43、结构 数据库维护的主要内容;数据库的重组织和重构造 根据数据库设计的基本步骤,能够设计一个简单的数据库应用系统第一节 数据库设计概述 数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求 在数据库领域内,使用数据库的各类系统通常被称为数据库应用系统。 信息系统是提供信息、辅助人们对环境进行控制和进行决策的系统。数据库是信息系统的核心和基础。 数据库设计内容: 结构(数据)设计:逻辑数据库设计、物理数据库设计 行为(处理)设计:数据的装载、应用程序设计 新奥尔良(New Orleans)方法 需求分析(分析用户要求)

44、概念设计(信息分析和定义) 逻辑设计(设计实现) 物理设计(物理数据库设计) 数据库设计分为以下六个阶段: 系统需求分析需求收集和分析,结果得到数据字典描述的数据需求和数据流图描述的处理需求 概念结构设计通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,可以用E-R图表示 逻辑结构设计将概念结构转换为某个DBMS所支持的数据模型(例如关系模型),并对其进行优化。 数据库物理设计为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。 数据库实施运用DBMS提供的数据语言(例如SQL)及其宿主语言(例如VB),根据逻辑设计和物理设计的结果建立数据库,编制

45、与调试应用程序,组织数据入库,并进行试运行。 数据库运行维护数据库应用系统经过试运行后即可投入正式运行。在数据库系统运行过程中必须不断地对其进行评价、调整与修改。 参加设计的人员: 系统分析人员、数据库设计人员系统分析和数据库设计人员是数据库设计的核心人员,他们将自始至终参与数据库设计,他们的水平决定了数据库系统的质量。 程序员程序员则在系统实施阶段参与进来,分别负责编制程序和准备软硬件环境。 用户、数据库管理员用户和数据库管理员主要参加需求分析和数据库的运行、维护,他们的积极参与不但能加速数据库设计,而且也是决定数据库设计的质量的重要因素。 数据库设计过程中注意的问题: 数据库设计过程中要充

46、分调动用户的积极性。 应用环境的改变、新技术的出现等都会导致应用需求的变化,因此在设计数据库时必须充分考虑到系统的可扩性。 在设计数据库应用的过程中,必须充分考虑到已有应用,尽量使用户能够平稳地从旧系统迁移到新系统。 需求分析的任务 详细调查应用领域要处理的对象 充分了解原系统的工作概况 明确用户的各种要求(1) 信息要求:指用户需要从数据库中获得信息的内容与性质。由信息要求可以导出数据要求,即在数据库中需要存储哪些数据。 (2) 处理要求:指用户要完成什么处理功能,对处理的响应时间有什么要求,处理方式是批处理还是联机处理。 (3) 安全性和完整性要求 确定新系统的功能 考虑今后的扩充性 调查

47、用户需求的方法: 跟班作业 开调查会 请专人介绍 询问 请用户填写调查表 查阅记录数据字典 是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。 包括:数据项、数据结构、数据流、数据存储、处理过程。数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。 在需求分析阶段需要注意的是: 设计人员应充分考虑到可能的扩充和改变,使设计易于更改,系统易于扩充,这是第一点。 必须强调用户的参与,这是数据库应用系统设计的特点。第三节 概念结构设计 概念结构设计就是将需求分析得到的用户需求抽象为信息结构概念模

48、型的过程。 概念结构的特点: (1)能充分地反映现实世界; (2)易于理解; (3)易于更改; (4)易于向关系、网状或层次等各种数据模型转换。 概念结构设计的四种方法 自顶向下:先全局,后细化 自底向上:先局部,后集成 由里向外:先核心,后扩充 混合策略:自顶向下+自底向上 数据抽象:对实际的人、物、事和概念进行人为处理,抽取所关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确地加以描述,这些概念组成了某种模型。 分类(Classification):定义某一类概念作为一组对象的类型,抽象了对象值和型之间的is member of的语义。 聚集(Aggregation):定义某一类

49、型的组成成分,抽象了对象内部类型和成分之间is part of的语义。 概括(Generalization): 定义类型之间的一种子集联系。它抽象了类型之间的is subset of的语义。 (自底向上)概念结构设计的步骤 抽象数据,设计局部视图选择局部应用:在多层的数据流图中选择一个适当层次的数据流图,作为设计分E-R图的出发点。 逐一设计分E-R图:先从自然划分出发定义E-R图,然后再进行必要的调整。 集成局部视图 ,得到全局的概念结构合并解决各分图之间的冲突,生成初步E-R图修改和重构消除不必要的冗余,生成基本E-R图第三节 概念结构设计 分E-R图调整原则: 能作为属性对待的,尽量作为

50、属性对待。 作为属性,不能再具有需要描述的性质。 属性不能与其他实体具有联系。即E-R图中所表示的联系是实体之间的联系。 实体或联系和其属性值之间保持1:1或n:1的关系 分E-R图合并时的的冲突主要有 属性冲突 命名冲突 结构冲突 概念结构独立于数据库逻辑结构,也独立于支持数据库的DBMS。第四节 逻辑结构设计 逻辑结构设计的任务是把概念结构设计阶段设计好的基本E-R图转换为与选用的DBMS产品所支持的数据结构相符合的逻辑结构。 逻辑结构设计的步骤: (1)把概念结构向一般的关系、网状模型转换; (2)向特定的DBMS支持下的数据模型转换; (3)对数据模型进行优化。第四节 逻辑结构设计 E

51、-R图向关系模型的转换: (1)一个实体型转换为一个关系模式; (2)一个m:n联系转换为一个关系模式; (3)一个1:n联系转换为一个独立的关系模式,也可以与n端对应的关系模式合并。 ; (4)一个1:1联系转换为一个独立的关系模式也可与任意一端对应的关系模式合并; (5)三个或三个以上实体间的一个多元联系转换为一个关系模式; (6)同一实体集的实体间联系; (7)具有相同码的关系模式可合并。第四节 逻辑结构设计 数据模型的优化方法: (1)确定数据依赖; (2)对数据依赖进行极小化处理,消除冗余联系; (3)按照数据依赖的理论对关系模式逐一进行分析,确定分别属于第几范式; (4)分析关系模式是否适应应用环境,确定是否进行合并或分解; (5)对关系模式进行必要的分解或合并。第五节 数据库物理设计 数据库物理设计的步骤: (1)确定数据库的物理结构(确定数据的存储结构;存取路径的选择和调整;确定数据存放位置;确定存储分配); (2)评价物理结构,评价的重点是时间和空间效率。 数据库物理设计的主要内容: (1)为关系模式选择存取方法(包括索引存取方法、聚簇方法和HASH方法); (2)设计关系、索引等数据库文件的物理存储结构(确定数据的存放位置和确定系统配置)。 第五节 数据库物理设计 设计人员设计数据库的物理结构时主

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论