当前位置:文档之家› 自考互联网数据库串讲资料Word文档

自考互联网数据库串讲资料Word文档

自考互联网数据库串讲资料Word文档
自考互联网数据库串讲资料Word文档

=自考互联网数据库串讲资料

第一章绪论

【学习要求】

通过本章的学习,考生首先应该了解数据管理发展的历程,并理解数据模型的三要素及常用的三种数据模型,并在此基础上,掌握数据库系统的三级模式结构和数据的两层映像,理解数据库管理系统的组成和功能。

【重点、难点】

(一)数据管理技术发展的三个阶段

(二)数据模型的概念和分类,尤其是关系数据模型

(三)数据库系统的三级模式结构

(四)数据库管理系统的整体概念。

【考核知识点】

(一)数据库技术是随着数据管理的需要而产生的。数据处理的的核心是数据管理。数据管理指的是对数据的分类、组织、编码、储存、检索和维护。

(二)数据管理技术共经历了三个阶段:

人工管理阶段、文件系统阶段、数据库系统阶段

(三)人工管理阶段:

数据不保存、数据需要由应用程序自己进行管理、基本上没有文件概念、数据不共享。

(四)文件系统阶段:

数据可以长期保存、文件系统管理数据、文件已经多样化、数据的存取基本上以记录为单位。

缺点有:数据共享性差,数据冗余度大;数据和程序缺乏独立性

(五)数据库管理阶段:

1、数据结构化。

2、数据共享性高、冗余度小、易扩充。

3、数据独立性高。

4、统一的数据管理和控制:数据的安全性保护、数据的完整性控制、数据库恢复和并发控制。

5、数据的最小存取单位是数据项。

DB:数据库(Database),DB是统一管理的相关数据的集合。

DBMS:数据库管理系统(Database Management System),DBMS是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。DBMS总是基于某种数据模型,可以分为层次型、网状型、关系型、面向对象型DBMS。

DBS:数据库系统(Database System),DBS是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。

数据库技术:是一门研究数据库结构、存储、管理和使用的软件学科。

第一代数据库系统,即层次数据库系统和网状数据库系统

第二代数据库系统,即关系数据库系统

第三代数据库系统,即面向对象数据库系统

数据库学科的研究范围:数据库管理系统软件的研制; 数据库设计; 数据库理论。

(六)数据模型是现实世界数据特征的抽象。是数据库系统的核心和基础。

(七)数据模型应满足三方面要求:一是能比较真实地模拟现实世界;二是容易为人所理解;三是便于在计算机上实现。

(八)根据模型应用目的分为:⑴概念模型,也称信息模型,它是按用户的观点对数据和信息建模。⑵数据模型,主要包括层次模型、网状模型、关系模型和面向对象数据模型,它是按计算机系统的观点对数据建模。

(九)数据模型三个要素:

1、数据结构描述系统的静态特性

2、数据操作描述系统的动态特性

3、数据的约束条件是一组完整性规则的集合

(十)概念模型

数据描述的三个领域:现实世界、信息世界和机器世界

(十一)数据描述的两种形式:物理描述和逻辑描述。前者是指数据在存储设备上的存取方式,后者是指程序员或用户以用以操作的数据形式。

(十二)两个实体型之间的联系可以分为三类:

一对一联系(1∶1);一对多联系(1∶n);多对多联系(m∶n);E-R图提供了表示实体型、属性和联系的方法。实体-联系方法(E-R方法)是抽象和描述现实世界的有力工具。

实体型:用矩形表示,矩形框内写明实体名。

属性:用椭圆形表示,并用无向边将其与相应的实体连接起来。

联系:用菱形表示,菱形框内写明联系名,并用无向边分别志有关实体连接起来,同时在无向边旁标上联系的类型(1∶1,1∶n或m∶n)。

(十三)数据模型

数据模型:层次模型、网状模型、关系模型和面向对象数据模型。其中层次模型和网状模型统称为非关系模型。

层次模型:用树型结构表示实体间联系的数据模型,它有以下两个限制:

⑴只有一个结点没有双亲结点,称之为根结点;

⑵根以外的其他结点有且只有一个双亲结点。

层次数据模型可以直接表示一对多(包括一对一)的联系;层次模型表示多对多联系,必须首先将其分解成一对多联系。分解方法有两种:冗余结点法和虚拟结点法。

网状模型:用有向图结构表示实体类型及实体间联系的数据模型。

(1)允许一个以上的结点无双亲;(2)一个结点可以有多于一个的双亲。

关系模型:是由若干个关系模式组成的集合,其主要特征是用二维表格结构表达实体集,用外鍵表示实体间联系。

关系模型要求关系必须是规范化的,即要求关系模式必须满足一定的规范条件,这些规范条件中最基本的一条就是,关系的每一个分量必须是一个不可分的数据项,也就是说,不允许表中还有表。

(十四)数据系统的三级模式结构:外模式(物理模式)、模式(逻辑模式)和内模式。

(十五)两级映象:

外模式/模式映象,一般在外模式中描述。

模式/内模式映象,一般在内模式中描述。

两层映象保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。

(十六)数据库管理系统的功能:

⑴数据定义

⑵数据操纵

⑶数据库运行管理

⑷数据组织、存储和管理

⑸数据库的建立和维护

⑹数据通信接口

(十七)数据库管理系统组成:

⑴数据定义语言及其翻译处理程序

⑵数据操纵语言及其编译(或解释)程序

⑶数据库运行控制程序

⑷实用程序

(十八)一个设计优良的DBMS:

⑴友好的用户界面

⑵比较完备的功能

⑶较高的运行效率

⑷清晰的系统结构和开放性

第二章关系数据库简介

【学习要求】

通过本章的学习,考生应了解关系模型的概念,掌握关系模型的构成,理解关系代数的两类运算以及关系演算的两类演算语言。

【重点、难点】

(一)关系数据结构和关系完整性

(二)集合运算

(三)关系演算语言

【考核知识点】

(一)关系数据库系统与非关系数据库系统的区别是:关系系统只有"表"这一种数据结构;而非关系数据库系统还有其他数据结构,对这些数据结构有其他的操作。

(二)关系模型的组成:关系数据结构、关系操作集合、关系完整性约束、关系数据语言。

(三)关系的三类完整性约束:实体完整性、参照完整性和用户定义的完整性。

实体完整性规则:要求关系中组成主键的属性上不能有空值。

参照完整性规则:要求不引用不存在的实体。

用户定义完整性规则:由具体应用环境决定,系统提供定义和检验这类完整性的机制。

(四)关系数据语言的共同特点是:语言具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。

基本关系具有以下六条性质:

①列是同质的(Homogeneous),即每一列中的分量同一类型的数据,来自同一个域。

②不同的列可出自同一个域,称其中的每列为一个属性,不同的属性要给予不同的属性名。

③列的顺序无所谓,即列的次序可以任意交换。

④任意两个元组不能完全相同。

⑤行的顺序无所谓,即行的次序可以任意交换。

⑥分量必须取原子值,即每一个分量都必须是不可分的数据项。

关系模型要求关系必须是规范化的,即要求关系模式必须满足一定的规范条件。这些规范条件中最基本的一条就是,关系的每一个分量必须是一个不可分的数据项。

(五)关系是关系模式在某一个时刻的状态或内容。关系模式是静态的,稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据。但在实际当中,人们常常把关系模式和关系都称为关系。

实体完整性规则说明如下:

(1)实体完整性规则是针对基本关系而言的。一个基本表通常对应现实世界的一个实体集。例如学生关系对应于学生的集合。

(2)现实世界中的实体是可区分的,即它们具有某种唯一性标识。

(3)相应地,关系模型中以主码作为唯一性标识。

(4)主码中的属性即主属性不能取空值。所谓空值就是"不知道"或"无意义"的值。

关系可以有三种类型:基本关系(通常又称为基本表或基表)、查询表和视图表。

(六)元组变量主要有两方面的用途:

①简化关系名。

②操作条件中使用量词时必须用元组变量

(七)关系代数和关系演算

关系式一种抽象的查询语言,是关系数据操纵语言的一种传统表达方式,它是用对关系的运算来表达查询的。

任何一种运算都是将一定的运算符作用于一定的运算对象上,得到预期的运算结果。所以运算对象、运算符、运算结果是运算的三大要素。

关系代数的运算对象是关系,运算结果也为关系。

(八)元祖关系演算和域关系演算

元祖关系演算以元祖变量作为谓词变元的基本对象。

域关系演算以元祖变量的分量即域变量作为谓词变元的基本对象。

(九)域关系演算语言

数关系演算的另一种形式是域关系演算。域关系演算以元祖变量的分量即域变量作为谓词变元的基本对象。1975年由IBM公司的M.Zloof提出的QBE(Query By Example)就是一个很有特色的域关系演算语言,该语言于1978年在IBM370上得以实现。QBE也指此关系数据库管理系统。

QBE是通过例子进行查询的简称,其罪突出的特点是它的操作方式。它是一种高度非过程化的基于屏幕表格的查询语言,用户通过终端屏幕编辑程序以填写表格的方式构造查询要求,而查询结果也是以表格形式显示,因此非常直观,易学易用。QBE中用示例元素来表示查询结果可能的例子,示例元素实质上就是域变量。

(1)检索操作

QBE的检索操作分为简单查询、条件查询和使用集函数。

(2)更新操作

QBE是更新操作包括修改操作、插入操作和删除操作。

第三章关系数据库标准语言SQL

【学习要求】

通过本章的学习,考生应了解SQL语言的主要特点,掌握SQL语言的数据定义功能和数据操纵功能,理解视图的定义和优点,了解数据控制的功能,了解嵌入式SQL语句的一般形式及其分类。

【重点、难点】

一、 SQL语言的产生及其主要特点

二、 SQL语言的检索功能

三、数据控制的概念

【考核知识点】

(一)SQL语言的主要特点【简答】

SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体。

特点包括:①综合统一、②高度非过程化、③面向集合的操作方式、④以同一种语法结构提供两种使用方式、⑤语言简洁,易学易用。

(二)定义基本表

建立数据库最重要的一部就是定义一些基本表。SQL语言使用CREATE TABLE 语句定义基本表,其一般格式如下:

CREATE TABLE<表名>(<列名><数据类型>[列级完整性约束条件]

[,<列名><数据类型>[列级弯成型约束条件]…]

[,<表级完整性约束条件>]

其中<表名>是所要定义的基本表的名字,它可以由一个或多个属性(列)组成。建表的同时通常还可以定义与该表有关的完整性约束条件,这些完整次那个约束条件呗存入系统的数据字典中,当用户操作表中数据时由DBMS自动检查该数据是否违背这些完整性约束条件。如果完整性约束条件涉及到该表的多个属性,则必须定义在表级上,否则既可以定义在列级,也可以定义在表级。

定义表的各个属性时需要指明其数据类型及长度。不同的数据库系统支持的数据类型不完全相同。具体的数据类型定义参照相应的数据库管理系统说明。

(三)简单查询、连接查询、嵌套查询、集合查询

数据库查询时数据库的核心。

(1)简单查询:简单查询仅涉及数据库中的一个表。

①查询表中的若干列

②取消取值重复的行

③条件查询

④对查询结果排序

⑤使用集函数

⑥对查询结果分组,如GROUP BY子句将查询结果表按某一列或多列值分组,值相等的为一组。

(2)连接查询

若查询同时涉及两个以上的表,则称之为连接查询。连接查询时关系数据库最主要的查询,包括等值连接、自然连接、非等值连接、自身连接、外连接和复合条件连接查询。

(3)嵌套查询

嵌套查询亦称为子查询,嵌套查询时指一个SE-LECT FROM WHERE查询块可以嵌入另一个查询块之中。

(四)修改、删除

1、修改(UPDATE)(亦称为更新)

修改操作语句的一般格式为:

UPDATE<表名>

SET<列名>=<表达式>[,<列名>=<表达式>]…

[WHERE谓词]

2、删除(DELETE)

删除语句的一般格式为:

DELETE

FROM表名

[WHERE谓词]

(五)视图的定义

试图是从一个或几个基本表(或视图)导出的表,它与基本表不同,是一个虚表。数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中。

(六)查询视图、更新视图

查询视图:视图定义后每用户就可以像对基本表进行查询一样对视图进行查询了,对基本的各种查询操作一般都可以作用于视图。

更新视图:更新视图包括插入(INSERT)、删除(DELETE)和修改(UPDATE)三类操作。

由于视图时不实际存储数据的虚表,因此对视图的更新,最终要转换为对基本表的更新。

为防止用户通过视图对数据进行增、删、改时,无意或故意造作不属于视图范围内的基本表数据,可在定义视图时加上WITH CHECK OPTION子句,这样在视图上增、删、改数据时,DBMS会进一步检查视图定义中的条件,若不满足条件,则拒绝执行该操作。

(七)定义和合理地使用视图能带来的好处为:【简答】

⑴、视图能够简化用户的操作

⑵、视图使用户能以多种角度看待同一数据

⑶、视图对重构数据库提供了一定程度的逻辑独立性

⑷、视图能够对机密数据提供安全保护

(八)视图更新操作规则的限制:

如果视图是从多个基本表使用联接操作导出的,则不允许更新。

如果导出的视图使用了分组和聚合操作,也不允许更新。

如果视图是从单个基本表使用选择和投影操作导出的,并且包括了基本表的主键或某个候选键,则可以执行操作。

(九)SQL中数据控制功能包括事务管理功能和数据保护功能,即数据库的恢复、并发控制;数据库的安全性和完整性。(填空、选择)

第四章关系数据库设计理论

【学习要求】

通过本章的学习,考生应了解数据依赖的定义及两种重要的类型,理解各类范式的概念及涵义,并掌握相关概念及关系模式规范化的步骤。

【重点、难点】

(一)数据依赖的两种类型

(二)各类范式的概念及含义

(三)关系模式的分解及判断与远关系模式等价的三个标准

【考核知识点】

(一)数据依赖的含义

数据依赖是通过一个关系中属性间值的相等与否体现出来的数据间的相互关系,是现实世界属性间相互联系的抽象,是数据内在的性质,是语义的体现。现在人们已经提出了许多种类型的数据依赖,其中最重要的是函数依赖和多值依赖。

(二)相关概念

1、函数依赖

设R(U)是一个关系模式,U是R的属性集合,X和Y式U的子集。对于R(U)的任意一个可能的关系,如果r中不存在两个元祖,它们在X上的属性值相同,而在Y上的属性值不同,则称“X 函数确定Y”或“Y函数依赖于X”,记作X-Y。

2、平凡函数依赖于非平凡函数依赖

在关系模式R(U)中,对于U的子集X和Y,如果X→Y,但Y X,则X→Y是非平凡函数依赖,若Y X,则称X→Y为平凡函数依赖。

3、传递函数依赖

在关系函数R(U)中,如果X→Y,Y→Z,且Y X,Y→X,则称Z传递函数依赖于X。

(三)关系模式规范化时一般应遵循以下原则:

(1)关系模式进行无损连接分解。

(2)合理选择规范化程度。

(3)正确性与可实现性原则。

(四)关系模式规范化的基本步骤如图所示。

①对1NF关系进行投影,消除原关系中非主属性对码的函数依赖,将1NF关系转换为若干个2NF 关系。

②对2NF关系进行投影,消除原关系中非主属性对码的传递函数依赖,从而产生一组3NF关系。

③对3NF关系进行投影,消除原关系中主属性对码的部分函数依赖和传递函数依赖(也就是说,使决定属性都成为投影的候选码),得到一组BCNF关系。

消除决定属性集非码的非平凡函数依赖

1NF

消除非主属性对码的部分函数依赖

2NF

消除非主属性对码的传递函数依赖

3NF

消除主属性对码的部分和传递函数依赖

BCNF

消除非平凡且非函数依赖的多值依赖

4NF 消除不是由候选码所蕴含的连接依赖

5NF

以上三步也可以合并为一步:对原关系进行投影,消除决定属性不是候选码的任何函数依赖。

④对BCNF关系进行投影,消除原关系中非平凡且非函数依赖的多值依赖,从而产生一组4NF关系。

⑤对4NF关系进行投影,消除原关系中不是由候选码所蕴含的连接依赖,即可得到一组5NF关系。5NF是最终范式。

1NF/2NF/3NF存在的问题: ①插入异常②删除异常③数据冗余度大④修改复杂。

BCNF问题:①数据冗余度大②增加操作复杂③删除操作复杂④修改操作复杂。

(五)关系模式分解的三个定义(判断对关系模式的一个分解是否与原关系模式等价可以有三种不同的标准):(填空、选择)

(1)分解具有"无损连接性"。

(2)分解要"保持函数依赖"。

(3)分解既要"保持函数依赖",又要具有"无损连接性"。

(六)规范化理论提供了一套完整的模式分解算法,按照这套算法可以做到:

①若要求分解具有无损连接性,那么模式分解一定能够达到4NF。

②若要求分解保持函数依赖,那么模式分解一定能够达到3NF,但不一定能够达到BCNF。

③若要求分解既具有无损连接性,又保持函数依赖,则模式分解一定能够达到3NF,但不一定能够达到BCNF。

(七)BCNF的关系模式都具有如下3个性质:

①所有非主属性都完全函数依赖于每个候选码。

②所有主属性都完全函数依赖于每个不包含它的候选码。

③没有任何属性完全函数依赖于非码的任何一组属性。

(八)分解具有无损连接性和分解保持函数依赖是两个互相独立的标准。(选择)

第五章数据库保护

【学习要求】

通过本章的学习,考生应了解数据库安全性控制的措施,理解完整性约束条件和控制机制,理解并发控制的原则和方法,了解恢复的原理及实现技术。

【重点、难点】

(一)数据库安全性控制的一般方法

(二)数据库完整性约束条件的分类

(三)并发控制的两类锁协议

(四)数据库运行故障恢复的原理和策略

【考核知识点】

(一)数据库的被破坏主要有以下几个方面:

(1)系统的软、硬件故障,造成数据被破坏。

(2)数据库的并发操作引起数据的不一致性。

(3)自然的或人为的破坏。

(4)对数据库数据的更新操作有误。

针对上述问题,数据库管理系统提供相应的功能:

(1)数据库恢复:在系统失效后的数据库恢复,配合定时备份数据库,使数据库不丢失数据。

(2)并发控制:保证多用户能共享数据库,并维护数据的一致性。

(3)安全性保护:防止对数据库的非法使用,以避免数据的泄露、纂改或破坏。

(4)完整性保护:保证数据的正确性和一致性。

(二)数据库安全控制的一般方法:

①用户标识和鉴定;②存取控制;③定义视图;④审计;⑤数据加密。

(三)数据的安全性、完整性

数据库的安全性主要是指保护数据库,防止由于非法使用数据库造成数据泄露、更改或破坏。(填空、选择)

数据库的完整性:数据的正确性、一致性和相容性。(填空、选择)

数据的完整性与安全性是数据库保护的两个不同的方面。安全性是防止用户非法使用数据库。完整性则是防止合法用户使用数据库时向数据库中加入不合语义的数据。也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。(简答)

(四)完整性约束条件

完整性约束条件作用的对象可以有列级、元组级和关系级三种粒度。(填空、选择)

1、静态列级约束。是对一个列的取值域的说明,包括以下几个方面

2、静态元组约束。一个元组是由若干个列值组成的,静态元组约束就是规定组成的一个元组

的各个列之间的约束关系。

3、静态关系约束。在一个关系的各个元组之间或者若干关系之间常常存在各种联系或约束。

4、动态列级约束。动态列级约束是修改列定义或列植时应满足的约束条件。

5、动态元组约束。动态元组约束是指修改某个元组的值时需要参照其旧值,并且新旧值之间

需要满足某种约束条件。

6、动态关系约束。动态关系约束是加在关系变化前后状态上的限制条件,例如,事务一致性,

原子性等约束条件。

(五)DBMS的完整性控制机制应具有三个方面功能(简答)

(1)定义功能,即提供定义完整性约束条件的机制。

(2)检查功能,即检查用户发出的操作请求是否违背了完整性约束条件。

(3)如果发现了用户的操作请求使数据违背了完整性的约束条件,则采取一定的动作来保证数据的完整性。

(六)在实现参照完整性时需要考虑以下几方面:

(1)外码是否可以接受空值

(2)在被参照关系中删除元组时的考虑

(3)修改被参照关系中主码时的考虑

(七)事物的概念和特征

事务:并发控制的单位,是用户定义的一组数据库操作序列。

特征:原子性、一致性、隔离性、持久性。(简答)

(八)并发控制的主要技术是采用封锁机制。(选择)

(九)封锁

封锁就是事务T可以向系统发出请求,对某个数据对象(最常用的是记录)加锁。于是事务T 对这个数据对象就有一定的控制。基本的封锁类型有两种:排它锁(X锁)和共享锁(S锁)。

(十)活锁和死锁

和操作系统一样,封锁的方法可能引起活锁和死锁。

活锁是指当若干事务要对同一数据项加锁时,造成一些事务的永远等待,得不到控制权的现象;死锁是指两个以上事务集合中的每个事务都在等待加锁当前已被另一事务加锁的数据项,从而造成相互等待的现象。

(十一)数据库中解决死锁的常用方法有:

⑴要求每个事务一次就将所有要使用的数据全部加锁,否则就不能执行。

⑵采用按序加锁法。

⑶不采取任何措施来预防死锁的发生,而是周期性的检查系统中是否有死锁。

(十二)可串行性

可串行化的调度:如果几个事务并行(交错)执行的结果和按次序串行执行的结果相同,则称该并行执行结果是正确的。这样的调度称为可串行化的调度。

两段锁协议是指所有事务必须分两个阶段对数据库项加锁和解锁。

(十三)两段锁协议规定所有的事务应遵守下列规则:

相关主题
文本预览
相关文档 最新文档