就业数据资源平台
当前位置:首页 > 数据库技术
三级数据库第十一章考试要点

     第十一章
一、数据库技术发展阶段(一)第一代数据库系统
第一代数据库系统指层次模型数据库系统和网状模型数据库系统。层次模型中,数据用记录的集合表示,记录组织成树型结构。
层次模型数据库的数据操纵语言由嵌入宿主语言的命令组成。通过使用命令,程序员可以根据给定字段的值从数据库中选取记录,并通过重复取下一记录的命令取出满足条件的所有记录,还可以使用命令去找出某棵树的根的所有子女记录,也可以通过命令去更新数据库。网状模型中,数据用记录的集合表示,记录组织成有向图结构。
层次模型和网状模型数据库的数据操纵语言都是一次一个记录的导航式的过程化语言。使用导航式的语言,用户不仅要指定“做什么”,而且要说明“怎样做”。而且导航式语言通常是嵌入到某种高级语言,导航式的数据操纵语言的优点是存取效率高,对数据库内部结构有清楚了解的应用程序员可以选取一条高效率的存取路径对数据库进行访问。导航式语言的缺点是编程复杂,对应用程序员要求高,并且应用程序的可移植性也较差。
(二)第二代数据库系统
第二代数据库系统指支持关系模型的关系数据库系统。
E.F.Codd于1970年提出了数据库的关系模型,开创了数据库关系方法和关系数据理论的研究,为关系数据库技术奠定了理论基础。关系模型建立在严格的数学概念基础上,概念简单、清晰、易于用户理解和使用,大大减轻了用户的负担,因此受到广大用户的欢迎。
(三)第三代数据库系统
面向对象技术与数据库技术相结合的系统称做第三代数据库系统,或新一代数据库系统。第三代数据库系统的3条原则是:支持更加丰富的对象结构和规则;包含第二代DBMS;对其他子系统(例如工具和多数据库中间件产品)开放。
二、数据库系统体系结构(一)集中式数据库系统
集中式系统是运行在一台计算机上,不与其他计算机系统交互的数据库系统。这样的系统范围很广,既包括运行在个人计算机上的小型数据库系统,也包括运行在大型主机上的高性能数据库系统。
(二)客户/服务器数据库系统
数据库功能可以大致地分为两个部分:前端和后端,后端负责存取结构、查询计算和优化、并发控制以及故障恢复。数据库系统的前端包括表格生成工具、报表书写工具、图形用户界面工具等。前端与后端之间通过SQL或应用程序来接口。客户/服务器体系结构能够在前端和后端之间进行功能划分。由于图形用户界面代码具有更多的处理需求,也由于个人计算机的能力越来越强,所以前端的功能由个人计算机来支持。个人计算机作为服务器系统的客户,服务器中存储大量的数据,并提供后端的功能。客户将事务送给服务器系统,由服务器系统来执行事务并把结果送回给客户,由客户负责数据的显示。
(三)并行数据库系统
并行数据库的研究主要包括以下3个方面:
1.并行数据库物理存储结构的研究
研究如何对数据库中的关系进行划分,并把它们分布到多个处理器或多个磁盘,以使查询处理时间最小化。常用的划分技术有以下3种:(假定数据分布到n个磁盘,D 0, D 1 ,…,D n-1 上)
(1)轮转法。
(2)散列分布。
(3)范围转分布。
2.并行数据操作算法的设计与实现
研究如何实现对数据库数据的并行操作。
3.并行数据库的查询优化
并行查询计算的优化器比串行查询计算的优化器更为复杂,要考虑划分的代价,如何并行地计算一个查询等问题。
(四)分布式数据库系统
分布式数据库的基本原理如下:对于用户来讲,分布式系统必须看起来完全像一个非分布式系统。换句话说,分布式系统的用户的操作与非分布式系统是完全相同的。分布式系统的所有问题是(或应当是)内部的、实现级别的问题,而不是外部的、用户级别的问题。分布式数据库系统所研究的主要问题包括查询处理、目录管理、更新的传播、并发控制、故障恢复等。
三、面向对象技术与数据库技术结合(一)新的数据库应用
(1)计算机辅助设计(CAD)。CAD数据库存储了与一个工程设计相关的数据,包括所设计物品的各个组件、这些组件之间的相互关系以及设计的各个先前版本。
(2)计算机辅助软件工程(CASE)。CASE数据库存储了用于辅助软件开发的一些数据。
(3)多媒体数据库。多媒体数据库包含图像、空间数据、音频数据、{mod}数据以及其他类似的数据。
(4)办公信息系统(OIS)。办公自动化包括基于工作台的文档生成和检索工具、维护日程安排的工具,等等。
(5)超文本数据库。超文本是经过增强的文本,它带有指向其他文档的链。
(二)面向对象基本概念
面向对象方法的基本思想是:从现实世界中客观存在的事物(对象)出发,以尽可能接近人类思维的方式建立模型,对客观事物进行结构模拟和行为模拟。
面向对象的基本概念包括对象、属性、方法、消息、封装、类、继承、多继承等。
1.对象结构与封装性
一个对象由一组属性和对这组属性进行操作的一组方法构成。属性是用来描述对象静态特征的一个数据项。方法是用来描述对象动态特征的一个操作序列。消息是用来描述对象执行某一操作或回答某些信息的要求。封装是一种信息隐蔽技术。对象本身就是一种封装,把一组属性和对这组属性进行的操作结合成一个独立的系统单位,并尽可能隐蔽对象的内部细节。
2.对象类
是具有相同属性和方法的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述。在系统中通常有很多相似的对象,它们具有相同名称和类型的属性,响应相同的消息,使用相同的方法。对每个这样的对象单独进行定义是很浪费的,因此,我们将相似的对象分组形成一个类,每个这样的对象被称为类的一个实例,一个类中的所有对象共享一个公共的定义,尽管它们对属性所赋予的值不同。
3.继承
类构成特殊化层次(ISA联系)。ISA联系中子类的对象拥有其超类的对象的全部属性和方法,称做子类对超类的继承。一个类可以从多个超类中继承属性和方法,这称做多继承。在多继承的情况下,类与子类的关系可以用一个有向无环图来表示,其中一个类可以有多于一个的超类。

4.对象标识
对象的标识是一种概念上的东西,实际的系统需要一种物理机制来惟一标识对象。面向对象系统提供了一种对象标识符的观念来标识对象。对象标识符是惟一的,也就是说,每个对象具有单一的标识符,并且没有两个对象具有相同的标识符。对象标识符的形式不必一定是人所容易理解的。
5.对象包含
一个(或一些)对象是另一个对象的组成成分(is-part-of联系)称做对象包含。包含其他对象的对象称为复杂对象或复合对象。
(三)面向对象技术与数据库技术相结合的途径
面向对象技术与数据库技术相结合的途径主要有以下两种:
一种途径是以面向对象程序设计语言为基础进行扩展,研究持久的程序设计语言,使之具有数据库功能;或者直接将数据库系统的特性与面向对象程序语言的特性结合起来,研制面向对象的数据库系统(OODB)。代表性的面向对象数据库产品有Gemstone、Objectivity、ObjectˉStore、Ontos、O2、Versant等。面向对象数据库系统的商品化现状远不如20世纪80年代中后期开始研究的面向对象技术与数据库技术相结合时人们预想的高,其原因是多方面的。首先,OODB缺乏标准;其次,OODB产品在安全性、完整性、坚固性、可伸缩性、视图机制、模式演化等许多方面都不如RDB产品;另外,OODB系统的应用开发工具很少,对客户/服务器环境的支持也不够,以上多种原因使得许多预期的用户并没有很快地转向OODB系统。另一种途径是以传统的关系数据库和SQL语言为基础,进行扩展的方法。这种方法早期的典型代表是加州大学Berkeley分校研制的扩展关系数据库系统POSTGRES,它以关系数据库系统Ingres为基础,将它的类型系统开放,允许将新的,用户定义的抽象数据类型(ADT)加进来,用户定义新的ADT时需要实现这个类型,即定义它的表示法和编写它的函数。特别地,它采用了一种“把过程作为数据类型的方法”,并采用了预先计算和查询改写的技术来减轻这种以过程为中心的方法所带来的开销。
(四)对象---关系数据库系统
对象---关系数据库系统通过支持面向对象的建模能力来管理复杂数据,通过支持SQL超集来有效地支持查询。对象---关系数据库系统具有如下的基本特性:
(1)SQL环境中对基本数据类型扩充的支持
(2)SQL环境中对复杂对象的支持
(3)SQL环境中对继承性的支持
(4)对规则系统的支持
四、数据仓库与联机分析处理、数据挖掘(一)从数据库到数据仓库
事务处理环境不适宜DSS应用的原因概括起来主要有以下5条:
(1)事务处理和分析处理的性能特性不同
(2)数据集成问题
(3)数据动态集成问题
(4)历史数据问题
(5)数据的综合问题数据仓库就是一个用来更好地支持企业或组织的决策分析处理的、面向主题的、集成的、相对稳定的、体现历史变化的数据集合。下面着重讨论数据仓库数据的4个基本特征。
1.数据仓库是面向主题的
数据仓库中的数据是面向主题进行组织的。
2.数据仓库的数据是集成的
数据仓库的数据是从原有的分散的数据库数据中抽取来的。
3.数据仓库的数据是相对稳定的
数据仓库的数据主要供企业决策分析之用,所涉及的数据操作主要是数据查询,一般情况下并不进行修改操作。
4.数据仓库数据是反映历史变化的
数据仓库中的数据相对稳定是针对应用来说的,也就是说,数据仓库的用户进行分析处理时是不进行数据更新操作的。
(二)从OLTP到OLAP
OLAP的基本概念包括:
(1)度量属性
度量属性是决策者所关心的具有实际意义的数量。例如,销售量、库存量等。

(2)维
维是人们观察数据的特定角度。
(3)维的层次
人们观察数据的某个特定角度(即某个维)还可以存在细节程度不同的多个描述方面,我们称这多个描述方面为维的层次。一个维往往具有多个层次,例如描述时间维时,可以从日期、月份、季度、年等不同层次来描述,那么日期、月份、季度、年等就是时间维的层次;同样,城市、地区、国家等构成了地理维的多个层次。
(4)维成员
维的一个取值称为该维的一个维成员。如果一个维是多层次的,那么该维的维成员是在不同维层次的取值的组合。
(5)多维数组
一个多维数组可以表示为:(维 1 ,维 2 ,…,维 n ,变量)
(6)数据单元(单元格)
多维数组的取值称为数据单元。当多维数组的各个维都选中一个维成员,这些维成员的组合就惟一确定了度量属性的一个值。那么数据单元就可以表示为:(维 1 维成员,维 2 维成员,…,维 n 维成员,变量的值)。OLAP支持管理决策人员对数据进行深入观察,多维分析。多维分析是指对以多维形式组织起来的数据采取切片、切块、旋转等各种分析动作,以求剖析数据,使分析者、决策者能从多个角度、多侧面地观察数据库中的数据,从而深入地了解包含在数据中的信息、内涵。多维分析方式迎合了人的思维模式,因此,减少了混淆并且降低了出现错误解释的可能性。选定多维数组的一个二维子集的动作叫做切片;选定多维数组的一个三维子集的动作叫做切块;改变一个报告或页面显示的维方向称做旋转。
(三)数据挖掘
一般认为,数据库中的知识发现是识别数据库中以前不知道的、新颖的、潜在有用的和最终可被理解的模式的非平凡过程,而数据挖掘是数据库知识发现过程的一个步骤。在数据库知识发现和数据挖掘过程中,可以从数据库或数据仓库的相关数据集合中抽取知识或规律,并从不同的角度进行分析研究,所发现的知识可以运用到信息管理、查询处理、决策支持、过程控制等许多领域。下面简单介绍比较常用的几种数据挖掘方法。
(1)关联规则挖掘关联规则挖掘的典型问题是,给定一个销售交易的数据库,要求发现数据项之间的重要关联性,即在一个交易中出现某些数据项蕴涵着其他一些数据项也可能会在同一交易中出现。
(2)特征描述数据库中通常存放大量的细节数据,然而,用户常常希望能够得到对于所关心的一类数据的简洁的概貌描述。特征描述是对目标类数据的一般特征或特性进行汇总,并以直观易理解的方式显示给用户。
(3)分类分析分类分析是找出数据集中各组对象的共同特征,并建立分类模型,从而能够将数据集中的其他对象分到不同的组中。分类也称做制导的学习,为了建立分类模型,需要有一个用做训练集的示例数据库E,E中的每个元组都有一个给定的类标识。分类过程是首先分析训练集中的数据,根据每个类中数据的特征为每个类生成分类模型,然后用得到的分类模型对未知类别的数据进行分类。表示分类模型的一种常用方法是决策树。(4)聚类分析若干个相似的数据对象组合在一起称做一个聚簇。聚类分析是将数据集分割为若干个有意义的聚簇的过程。聚类分析也称做无制导的学习,因为聚类分析与分类分析不同,它不依赖于事先确定的类,也没有已具有类标识的训练集。好的聚类分析算法应该使得所得到的聚簇内的相似性很高,而不同的聚簇间的相似性很低。 
就业数据资源平台