数据库原理与实践(Access版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2 数据管理的发展

数据管理包括数据组织、分类、编码、存储、检索和维护。随着硬件、软件技术的发展及计算机应用范围的扩大,数据管理经历了四个阶段。

1.2.1 人工管理阶段

图1.3 人工管理数据

20世纪50年代中期以前,计算机主要用于科学计算。计算机的软硬件均不完善,硬件方面只有卡片、纸带、磁带等,没有可以直接访问、直接存取的外部存取设备。软件方面还没有操作系统,也没有专门管理数据的软件,数据由程序自行携带,数据与程序不能独立,数据不能长期保存,如图1.3所示。

在人工管理阶段,程序员在程序中不仅要规定数据的逻辑结构,还要设计其物理结构,包括存储结构、存取方法、输入输出方式等。当数据的物理组织或存储设备改变时,用户程序就必须重新编制。由于数据的组织是面向应用的,不同的计算程序之间不能共享数据,使得不同的应用之间存在大量重复数据。

1.2.2 文件系统阶段

图1.4 文件系统

20世纪50年代中期至60年代中期,由于计算机大容量存储设备(如硬盘)的出现,推动了软件技术的发展,而操作系统的出现标志着数据管理步入一个新的阶段。在文件系统阶段,数据以文件为单位存储在外存,且由操作系统统一管理。操作系统为用户使用文件提供了友好界面。在这个阶段,程序与数据有了一定的独立性,程序与数据分开,有了程序文件与数据文件的区别。数据文件可以长期保存在外存上多次存取,进行诸如查询、修改、插入、删除等操作。文件的逻辑结构与物理结构脱钩,程序和数据分离,使数据与程序有了一定的独立性。用户的程序与数据可分别存放在外存储器上,各个应用程序可以共享一组数据,实现了以文件为单位的数据共享,如图1.4所示。

但在文件系统阶段,由于数据的组织仍然是面向程序的,所以存在大量的数据冗余。而且数据的逻辑结构不能方便地修改和扩充,数据逻辑结构的微小改变都会影响到应用程序。由于文件之间互相独立,因而它们不能反映现实世界中事物之间的联系,操作系统不负责维护文件之间的联系信息。如果文件之间有内容上的联系,只能由应用程序去处理。

1.2.3 数据库系统阶段

20世纪60年代后,随着计算机在数据管理领域的普遍应用,人们对数据管理技术提出了更高的要求。要求以数据为中心组织数据,减少数据冗余,提供更高的数据共享能力,同时要求程序和数据具有较高的独立性,以降低应用程序研制与维护的费用。数据库技术正是在这样一个应用需求的基础上发展起来的。

在文件系统阶段,人们在信息处理中关注的中心问题是系统功能的设计,因此程序设计占主导地位;而在数据库方式下,数据开始占据了中心位置,数据的结构设计成为信息系统的首要问题。数据库不仅包括数据本身,而且包括数据之间的联系。为了让多种应用程序并发地使用数据库中的共享数据,必须使数据与程序具有较高的独立性,这就需要一个软件系统对数据实行专门管理,提供安全性和完整性等统一控制,方便用户以交互命令或程序方式对数据库进行操作。为数据库的建立、使用和维护而配置的软件就是数据库管理系统DBMS,如图1.5所示。

图1.5 数据库系统阶段

1.2.4 分布式数据库系统阶段

随着数据库应用的不断发展,规模的不断扩大,集中式系统也显现了它的不足之处。如大型DBS的设计和操作都比较复杂,系统显得不灵活并且安全性也较差。因此,采用将数据分散的方法,把数据库分成多个,建立在多台计算机上,这种系统称为分布式系统。

分布式系统是物理上分散逻辑上集中的数据库系统,系统中的数据分布存放在计算机网络的不同场地中,每个场地都有自治处理(即独立处理)能力并能完成局部应用,而每个场地也参与(至少一种)全局应用,程序通过网络通信子系统执行全局应用,如图1.6所示。

图1.6 分布式数据库

分布式系统是用通信网络连接起来的结点(也称为场地)的集合,每个结点都是拥有集中式数据库的计算机系统。

分布式数据库系统主要有三个特点。

① 数据库的数据物理上分布在各个场地,但逻辑上是一个整体。

② 每个场地既可以执行局部应用(访问本地DB),也可以执行全局应用(访问异地DB)。

③ 各地的计算机由数据通信网络相联系。本地计算机不能单独胜任的处理任务,可以通过通信网络取得其他DB和计算机的支持。

1.2.5 数据管理新技术

从20世纪60年代末开始,数据库系统已从第一代的层次数据库、网状数据库,第二代的关系数据库系统,发展到第三代以面向对象模型为主要特征的数据库系统。随着用户应用需求的提高、硬件技术和互联网技术的发展,促进了数据库技术与网络通信技术、人工智能技术、面向对象程序设计技术、并行计算技术等相互渗透,互相结合,形成了数据库新技术。

1.面向对象数据库

关系型数据库系统虽然技术很成熟,但其局限性也显而易见:它能很好地处理所谓的“表格型数据”,却对越来越多的复杂类型的数据无能为力。20世纪90年代以后,人们把大量的精力花在研究“面向对象的数据库系统(Object Oriented Database)”或简称“OO数据库系统”上。

面向对象数据库系统主要有以下两个特点:

① 对象数据模型能完整地描述现实世界的数据结构,能表达数据间嵌套、递归联系;

② 具有面向对象技术的封装性和继承性的特点,提高了软件的可重用性。

面向对象数据库的主要设计思想是用新型数据库系统来取代现有的数据库系统。这对许多已经运用传统数据库系统多年并积累了大量工作数据的客户来说,无法承受新旧数据转换带来的巨大工作量及巨额开支。另外,面向对象的关系型数据库系统所使用的查询语言极其复杂。所以,虽经数年发展,面向对象的关系型数据库系统的市场发展并不理想。

2.多媒体数据库

多媒体是多种媒体形式的有机集成,如数字、字符、文本、图形、图像、声音、视频等。其中数字、字符等称为格式化数据,文本、图形、图像、声音、视频等称为非格式化数据,非格式化数据具有数据量大、处理复杂等特点。多媒体数据库系统(简称MDBS)是结合数据库技术和多媒体技术,能够有效实现对格式化和非格式化的多媒体数据进行存储、管理和操纵等功能的数据库系统。较于传统的数据库,多媒体数据库具有以下特征。

(1)与传统数据库的差异大

多媒体数据库虽然在理论和技术上对传统数据库有很多继承,但其处理的数据对象、数据类型、数据结构、应用对象、处理方式都与传统数据库有较大差异,因此不能简单认为多媒体数据库只是对传统数据库的一种简单扩充或者试图用传统技术来处理多媒体数据。

(2)处理对象的复杂性

多媒体数据库存储和处理的是现实世界中的复杂对象,不仅要处理包括数字、字符等格式化数据,还要处理图像、音频、视频等非格式化数据。

(3)媒体间的独立性

多媒体数据库面临的数据有单一媒体数据和复合媒体数据(多种单一媒体数据的结合)。多媒体数据库从实用性的要求出发,强调多媒体数据库的用户可最大限度地忽略各媒体间差异,从而实现对多媒体数据的管理和操作。

3.主动数据库

主动数据库(Active Database,ADB)是相对于传统数据库的被动性而言的。传统的数据库系统只能根据用户或应用程序的服务请求对数据库进行存储、检索等操作,而不能根据发生的事件或数据库的状态主动作出反应。主动数据库系统(ADBMS)具有主动提供服务功能,并且能以一种统一的机制实现各种主动服务的数据库系统。

一个主动数据库系统在某一事件发生时,引发数据库管理系统去检测数据库当前状态,若满足指定条件,则触发规定执行的动作,我们称之为ECA规则。一个主动数据库系统可表示为:ADBS=DBS+EB+EM。

其中,DBS代表传统数据库系统,用来存储、操作、维护和管理数据;EB代表ECA规则库,用来存储ECA规则,每条规则指明在何种事件发生时,根据给定条件应主动执行什么动作;EM代表事件监测器,一旦检测到某事件发生就主动触发系统,按照EB中指定的规则执行相应的动作。

一个主动数据库系统应该具有以下功能:

① 主动数据库系统应该提供传统数据库系统的所有功能,且不能因为增加了主动性功能而使数据库的性能受到明显影响。

② 主动数据库系统必须给用户和应用提供关于主动特性的说明,且该说明应该为数据库的永久性部分。

③ 主动数据库系统必须能有效地实现主动特性,且能与系统的其他部分有效地集成在一起,包括查询、事务处理、并发控制和权限管理等。

④ 主动数据库系统应能够提供与传统数据库系统类似的数据库设计和调试工具。

4.数据仓库

数据仓库(Data Warehouse,DW)是指为了满足中高层管理人员预测和决策分析的需要,在传统数据库的基础上产生能够满足预测和决策分析需要的数据环境。数据仓库是面向主题的、整合的、稳定的,并且时变地收集数据以支持管理决策的一种数据结构形式。数据仓库的概念包含以下四方面的含义。

① 数据仓库是面向主题的:与传统数据库面向应用进行数据组织的特点相对应,数据仓库中的数据是面向主题进行组织的。主题是一个抽象的概念,对企业信息系统中的数据在较高层次上进行抽象综合归类并进行分析利用。在逻辑意义上,它是相应企业中某一宏观分析领域所涉及的分析对象。

② 数据仓库是集成的:数据仓库的数据主要用于分析,其数据的最大特点在于它不局限于某个具体的操作数据,而是对细节数据的归纳和整理。数据仓库中的综合数据不能从原有数据库系统中直接得到,而需从其中抽取。因此,数据在进入数据仓库之前,必须进行加工与集成,处理原始数据中的所有歧义和矛盾,如单位不统一、字段的同名异义、异名同义等,将原始数据结构进行从面向应用到面向主题的转变。这是数据仓库建设中最关键、最复杂的一步。

③ 数据仓库是稳定的:数据仓库数据反映的是一段相当长的时间内历史数据的内容,是不同时间内数据快照(来自数据库的一个表或表的子集的最新拷贝)的集合,以及基于这些快照进行统计、综合和重组的导出数据,而不是联机处理的数据,不进行实时更新。

④ 数据仓库随时间变化:数据仓库的数据稳定性是针对应用来说的,即用户进行分析处理时不能进行数据更新操作。但并不是说,在数据从集成输入到数据仓库中开始到最终被删除的整个数据生存周期之中所有数据都永久不变。

当前的数据仓库系统中,直接面向用户的部分前端工具主要有两类:联机分析处理(OLAP)的分析查询型工具和数据挖掘(DM)的挖掘型工具。

(1)联机分析处理(OLAP)

OLAP的显著特征是能提供数据的多维概念视图,使最终用户从多角度、多侧面、多层次地考察数据库中的数据,从而深入地理解包含在数据库中的信息和内涵,多维数据分析是决策的主要内容。目前,OLAP工具可分为两大类:基于多维数据库的MOLAP和基于关系数据库的ROLAP。MOLAP利用专有的多维数据库存储OLAP分析所需的数据,数据以多维方式存储并以多维视图方式显示。ROLAP则利用关系表模拟多维数据,将分析的结果经多维处理转化为多维视图展示给用户。

(2)数据挖掘(MD)

数据挖掘(Data Mining,DM)也称为数据库中的知识发现,是指从大量数据中挖掘出隐含的、先前未知的、对决策有潜在作用的知识和规则的过程。它主要以人工智能、机器学习、统计学等技术为基础,高度自动化地分析企业原有数据,作出归纳性推理,从中挖掘出潜在的模式,预测客户行为,帮助企业决策者调整市场策略,减少风险,实现科学决策。