频道栏目
读书频道 > 数据库 > Oracle > Oracle 11g数据库基础与应用教程
1.1.1 数据管理的发展
2013-03-09 09:57:54     我来说两句
收藏   我要投稿
Oracle是数据库领域最优秀的数据库系统之一,本书以Oracle 11g为蓝本,系统地讲述了数据库的原理、Oracle 11g的功能和应用。全书共分11章,在讲述数据库原理的基础知识和数据库结构化查询语言SQL的同时,详细地...  立即去当当网订购

1.1  数据库的基本概念

数据库技术是计算机技术中发展最为迅速的领域之一,已成为人们存储数据、管理信息和共享资源的最常用、最先进的技术。数据库技术已经在科学、技术、经济、文化和军事等各个领域发挥着重要的作用。

1.1.1  数据管理的发展

自计算机产生以来,人类社会进入了信息时代,对数据处理速度及规模的需求远远超出了过去人工或机械方式的能力范围,计算机以其快速准确的计算能力和海量的数据存储能力在数据处理领域得到了广泛的应用。随着数据处理的工作量呈几何方式的不断增加,数据管理技术应运而生,其演变过程随着计算机硬件或软件的发展速度以及计算机应用领域的不断拓宽而不断变化。总地来说,数据管理的发展经历了人工管理、文件管理和数据库管理3个阶段。

1.人工管理阶段

在计算机没有应用到数据管理领域之前,数据管理的工作是由人工完成的。这种数据处理经历了很长一段时间。

20世纪50年代中期以前,计算机主要用于科学计算。当时外存的状况是只有纸带、卡片、磁带等设备,并没有磁盘等直接存取的存储设备;而计算机系统软件的状况是没有操作系统,没有管理数据的软件,在这种情况下的数据管理方式为人工管理数据。人工管理数据具有如下特点。

(1) 数据不被保存

由于当时计算机主要用于科学计算,一般不需要将数据长期保存,只是在计算某一课题时将数据输入,用完就撤走。

(2) 应用程序管理数据

数据需要由应用程序自己管理,没有相应的软件系统负责数据的管理工作。应用程序中不仅要规定数据的逻辑结构,而且要设计物理结构,包括存储结构、存取方法、输入方式等,因此程序员负担很重。

(3) 数据不能共享

数据是面向应用的,一组数据只能对应一个程序。当多个应用程序涉及某些相同的数据时,由于必须各自定义,无法互相利用、互相参照,因此程序与程序之间有大量的冗余数据,如图1.1所示。


 

(4) 数据不具有独立性

数据的逻辑结构或物理结构改变后,必须对应用程序做相应的修改,这就进一步加重了程序员的负担。

在人工管理阶段,程序与数据之间的一一对应关系如图1.2所示。


 

2.文件系统阶段

到了20世纪50年代后期,及60年代中期,这时已有了磁盘、磁鼓等直接存储设备;而在计算机系统方面,不同类型的操作系统的出现极大地增强了计算机系统的功能。操作系统中用来进行数据管理的部分是文件系统。这时可以把相关的数据组织成一个文件存放在计算机中,在需要的时候只要提供文件名,计算机就能从文件系统中找出所要的文件,把文件中存储的数据提供给用户进行处理。但是,由于这时数据的组织仍然是面向程序,所以存在大量的数据冗余,无法有效地进行数据共享。

(1) 文件系统管理数据具有如下优点。

数据可以长期保存:数据可以组织成文件长期保存在计算机中反复使用。

由文件系统管理数据:文件系统把数据组织成内部有结构的记录,实现“按文件名访问,按记录进行存取”的管理技术。

文件系统使应用程序与数据之间有了初步的独立性,程序员不必过多地考虑数据存储的物理细节。例如,文件系统中可以有顺序结构文件、索引结构文件、Hash等。数据在存储上的不同不会影响程序的处理逻辑。如果数据的存储结构发生改变,应用程序的改变很小,节省了程序的维护工作量。

(2) 但是,文件系统仍存在以下缺点。

数据共享性差,冗余度大:在文件系统中,一个(或一组)文件基本上对应于一个应用(程序),即文件是面向应用的。当不同的应用(程序)使用部分相同的数据时,也必须建立各自的文件,而不能共享相同的数据。因此数据的冗余度大,浪费存储空间。同时由于相同数据的重复存储、各自管理,容易造成数据的不一致性,给数据的修改和维护带来了困难。

数据独立性差:文件系统中的文件是为某一特定应用服务的,文件的逻辑结构对该应用来说是优化的,因此要相对现有的数据再增加一些新的应用会很困难,系统不容易扩充。一旦数据的逻辑结构发生改变,就必须修改应用程序,修改文件结构的定义。因此数据与程序之间仍缺乏独立性。文件系统阶段程序与数据之间的关系如图1.3所示。


 

3.数据库系统阶段

20世纪60年代后期,计算机用于管理的规模越来越大,应用越来越广泛,数据量急剧增长,同时多种应用、多种语言互相覆盖的共享数据集合的要求也越来越强烈。

这时已有大容量磁盘,硬件价格下降,软件价格则上升,为编制和维护系统软件及应用程序所需的成本相对增加。在这种背景下,以文件系统作为数据管理手段已经不能满足应用的需求,于是为解决多用户、多应用共享数据的需求,使数据为尽可能多的应用服务,数据库技术便应运而生,出现了统一管理数据的专用软件系统——数据库管理系统。

用数据库系统来管理数据比文件系统具有明显的优点,从文件系统到数据库系统,标志着数据管理技术的飞跃。

在数据库系统阶段,应用程序与数据之间的对应关系如图1.4所示。


 

由于数据库是以数据为中心组织数据、减少了数据的冗余,可提供更高的数据共享能力,同时要求程序和数据具有较高的独立性,当数据的逻辑结构改变时,不涉及数据的物理结构,也不影响应用程序,这样就降低了应用程序研制与维护的费用。

随着计算机应用的进一步发展和网络的出现,有人提出数据管理的高级数据库阶段,这一段的主要标志是20世纪80年代的分布式数据库系统、90年代的对象数据库系统和21世纪初的网络数据库系统的出现。

(1) 分布式数据库系统

在这一阶段以前的数据库系统是集中式的。在文件系统阶段,数据分散在各个文件中,文件之间缺乏联系。集中式数据库把数据库集中在一个数据库中进行管理,减少了数据冗余的不一致性,而且数据联系比文件系统强得多。但集中式系统也有弱点:一是随着数据量增加,系统相当庞大,操作复杂,开销大;二是数据集中存储,大量的通信都要通过主机,造成拥挤现象。随着小型计算机和微型计算机的普及,以及计算机网络软件和远程通信的发展,分布式数据库系统崛起了。

分布式数据库系统主要有以下3个特点:

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

各个场地既可执行局部应用(访问本地DB),又可执行全局应用(访问异地DB)。

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

分布式数据库系统兼顾了集中管理和分布处理两个方面,因而有良好的性能。

(2) 对象数据库系统

在数据处理领域,关系数据库的使用已相当普遍、相当出色。但是现实世界存在着许多具有更复杂数据结构的实际应用领域,已有的层次、网状、关系三种数据模型对这些应用领域都显得力不从心。例如多媒体数据、多维表格数据、CAD数据等应用问题,需要更高级的数据库技术来表达,以便于管理、构造与维护大容量的持久数据,并使它们能与大型复杂程序紧密结合。对象数据库正是适应这种形势发展起来的,它是面向对象的程序设计技术与数据技术结合的产物。

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

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

具有面向对象技术的封装性(把数据与操作定义在一起)和继承性(继承数据结构和操作)的特点,提高了软件的可重用性。

(3) 网络数据库系统

随着C/S(客户机/服务器)结构的出现,人们可以最有效地使用计算机资源。但在网络环境中,如果要隐藏各种复杂性,就要使用中间件。中间件是网络环境中保证不同的操作系统、通信协议和DBMS之间进行对话、互操作的软件系统。其中涉及数据访问的中间件,就是20世纪90年代提出的ODBC技术和JDBC技术。

现在,计算机网络已成为信息化社会中十分重要的一类基础设施。随着广域网(WAN)的发展,信息高速公路已发展成为采用通信手段将地理位置分散的、各自具备自主功能的若干台计算机和数据库系统有机地连接起来,组成因特网(Internet),用于实现通信交往、资源共享或协调工作等目标。这个目标在20世纪末已经实现,正在对社会的发展起着极大的推进作用。

上述三个阶段可以做一比较,如表1.1所示。

表1.1  数据管理三个阶段的比较

 

  人工管理阶段 文件系统阶段 数据库系统阶段
背 景 应用背景 科学计算 科学计算、管理 大规模管理
硬件背景 无直接存取设备 磁盘、磁鼓 大容量磁盘
软件背景 没有操作系统 有文件系统 有数据库管理系统
处理方式 批处理 联机实时处理、批处理 联机实时处理、分布处理、批处理
特 点 数据库的
管理者
用户(程序员) 文件系统 数据库管理系统
数据的
共享程度
某一应用程序 某一应用 现实世界
数据面向
的对象
无共享,
冗余度极大
共享性差,冗余度大 共享性高,冗余度小
数据的
独立性
不独立,完全依赖于程序 独立性差 具有高度的物理独立性和一定的逻辑独立性
数据的
结构化
无结构 记录内有结构、
整体无结构
整体结构化,用数据模型描述
数据
控制能力
应用程序自己控制 应用程序自己控制 由数据库管理系统提供数据安全性、完整性、并发控制和恢复能力
 
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:概述
下一篇:1.1.2 数据库与数据库管理系统
相关文章
图文推荐
排行
热门
最新书评
特别推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站