MySQL数据库应用与维护项目式教程(微课版)
上QQ阅读APP看书,第一时间看更新

任务1.1.1 了解数据库的发展阶段

微课1-1

了解数据库的发展阶段

最早的计算机主要应用于军事和科学研究领域,随着计算机理论研究的深入和计算机技术的发展,从20世纪50年代开始,计算机的主要应用逐渐变为一般的数据及事务处理。伴随着这种转变的逐渐深入,以数据处理为核心的数据库技术随之发展并成熟起来,成为计算机科学技术中应用最为广泛和最为重要的技术之一。

所谓数据处理,就是从已有数据出发,经过适当加工、处理得到新的所需数据的过程。数据处理一般分为数据计算和数据管理两部分。数据计算相对简单,数据管理却比较复杂,是数据处理过程的主要内容与核心部分。一般认为,数据管理主要是指数据的收集、整理、组织、存储、维护、检索和传送等操作。从数据管理的角度来看,计算机数据处理技术经历了以下3个阶段:人工管理阶段、文件系统阶段、数据库系统阶段。

1.人工管理阶段

20世纪50年代中期以前为人工管理阶段,是计算机数据管理的初级阶段。

在这一阶段,计算机被当成一种计算工具,主要用于科学计算。硬件中的外存只有卡片、纸带、磁带,没有磁盘等直接存储设备;软件只有汇编语言,没有操作系统,更无统一的管理数据的软件;数据的管理完全在程序中进行,数据处理的方式基本上是批处理。人工管理阶段的特征如下。

(1)数据不保存

由于主要用于科学计算,所以一般不需要将数据长期保存。计算某一课题时将数据输入,计算完毕就将数据撤走,用户提供的数据是如此处理的,系统软件运行过程中产生的数据也是这样处理的。

(2)应用程序管理数据

由于没有相应软件系统完成数据的管理工作,所以应用程序不仅要规定好数据的逻辑结构,还要规定数据的存储结构、存取方法、输入方式、地址分配等。

(3)数据无共享

数据是面向程序的,数据由应用程序自行携带,一组数据只能对应一个应用程序,很难实现多个应用程序共享数据资源,这就使应用程序严重依赖数据。一个应用程序携带的数据,在应用程序运行结束后就连同该应用程序一起退出计算机系统。如果别的应用程序想使用该应用程序的数据,则只能重新组织携带,因此应用程序之间有大量的冗余数据。

(4)数据不独立

由于应用程序只负责管理数据,所以数据与应用程序不具有独立性。如果数据的类型、格式、存取方法或输入/输出方式等逻辑结构或物理结构发生变化,就必须对应用程序做出相应的修改,程序员负担相当重。

人工管理阶段应用程序与数据集之间的对应关系如图1-2所示。

图1-2 人工管理阶段应用程序与数据集之间的对应关系

2.文件系统阶段

20世纪50年代后期至20世纪60年代中期,随着计算机软硬件的发展,出现了文件系统,其负责对数据进行管理。

在这一阶段,计算机已大量用于信息管理。硬件有了磁盘、磁鼓等直接存储设备。在软件方面,出现了高级语言和操作系统。操作系统中有了专门管理数据的软件,称为文件系统。用户可以把相关数据组织成一个文件存放在计算机中,由文件系统对数据的存取进行管理,处理方式有批处理和联机处理。

(1)文件系统阶段的特点

① 数据可以长期保存。

数据以文件的形式存储在计算机的直接存储设备中,可长期保存并反复使用。用户可随时对文件进行查询、修改、插入和删除等操作。

② 由文件系统管理数据。

由专门的软件(即文件系统)进行数据管理,文件系统把数据组织成相互独立的数据文件,利用“按文件名访问,按记录进行存取”的管理技术,提供了对文件进行打开与关闭、对记录进行读取和写入的操作。程序员只需与文件名打交道,不必明确数据的物理存储,大大减轻了程序员的负担。

(2)文件系统阶段存在的问题

文件系统阶段对数据的管理有了巨大进步,但一些根本问题仍没有彻底解决,具体如下。

① 数据共享性差,冗余度大。

在文件系统中,一个(或一组)文件基本上对应一个应用程序,即文件仍然是面向应用程序的。当不同的应用程序具有部分相同的数据时,也必须建立各自的文件,而不能共享相同的数据,因此数据冗余度大,浪费存储空间。

② 数据独立性差。

文件系统中的文件是为某一特定的应用程序服务的,文件的逻辑结构是针对具体的应用程序来设计和优化的,因此文件中的数据要再被一些新的应用程序使用会很困难。

③ 数据一致性差。

由于相同数据的重复存储、各自管理,在进行更新操作时,容易造成数据的不一致,给数据的修改和维护带来困难。

文件系统阶段应用程序与文件之间的对应关系如图1-3所示。

3.数据库系统阶段

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

图1-3 文件系统阶段应用程序与文件之间的对应关系

在这种背景下,将文件系统作为数据管理手段已经不能满足需求,为了解决多用户、多应用程序共享数据的要求,出现了统一管理数据的专门软件系统—数据库管理系统(Database Management System, DBMS)。

数据库是长期存储在计算机内、有组织、可共享的大量数据的集合。它可以供不同用户共享,具有最小冗余度和较高的数据独立性。DBMS在数据库建立、运用和维护时对数据库进行统一控制,以保证数据的安全性和完整性,并且在多用户同时使用数据库时可以进行并发控制,以及在发生故障后对数据库进行恢复。

(1)数据库管理技术的突破

数据库管理技术进入新时代离不开里程碑式的技术突破,以下3件大事为数据库技术的突破奠定了基础。

① 1968年,美国IBM公司推出了世界上第一个基于层次模型的大型商用DBMS——信息管理系统(Information Management System,IMS)。

② 1969年,美国数据系统语言协会(Conference on Data System Language, CODASYL)下属的数据库任务组(Database Task Group, DBTG)提出了基于网状模型的数据库任务组系统。

③ 1970年,美国IBM公司的高级研究员科德(E.F.Codd)发表论文提出关系模型,此模型奠定了关系数据库的理论基础。

(2)数据库系统阶段的特点

与人工管理阶段和文件系统阶段相比,数据库系统阶段主要有如下特点。

① 数据高度结构化。

数据结构化是数据库系统与文件管理系统的根本区别。数据库系统不仅会考虑数据项之间的联系,还会考虑数据类型之间的联系。在数据库系统中,不仅数据内部具有结构化特征,数据整体也是结构化的,即数据之间是有联系的。例如,某学校的信息管理系统除了会考虑教务处的学生成绩管理、选课管理,还会考虑学籍管理处的学生基本信息管理,人事处的教职工基本信息管理、薪酬管理等。因此,该学校的信息管理系统中的数据就要面向学校所有部门的应用,而不仅是教务处的学生选课应用。

② 数据的共享性高、冗余度小,易于扩充。

数据库中的数据是高度共享的,数据不再只是面向某个单独的应用,是面向整个系统。也就是说,同一个用户可以因不同的应用目的访问同一数据;不同用户可以同时访问同一数据,即“并发访问”。

③ 数据独立性高。

用户只需关注数据库名、数据文件名和文件中的属性名等逻辑概念,不用过多考虑数据的实际物理存储,也就是不需要关心实际数据究竟存储在磁盘的什么位置。更准确地说,数据库系统同时具有物理独立性与逻辑独立性。

物理独立性是指改变数据库物理结构时不必修改现有的应用程序。数据在磁盘上的存储方式由DBMS管理,应用程序无须了解,即当数据的物理存储方式改变时,应用程序不用改变。

逻辑独立性是指逻辑数据独立性,是指改变数据库逻辑结构时不用改变应用程序。用户的应用程序与数据库的逻辑结构是相互独立的,即当数据的逻辑结构改变时,应用程序可以不变。

DBMS提供的二级映像功能保证了数据独立性,相关内容将在后面的项目中进行讨论。

④ 数据安全性和正确性高。

数据库的共享会为数据库带来安全隐患,并且数据库的共享具有并发的特征,即多个用户能够同时对数据库中的数据进行存取,甚至可以同时存取数据库中的同一个数据,这可能会存在用户操作相互干扰的隐患。因此,需要一组软件提供相应的工具对数据进行管理和控制,使用 DBMS 可以达到保证数据的安全性和正确性的基本要求。

● 保证数据的安全性。

保证数据的安全性是指对数据进行保护,以防止不正当使用造成的数据泄露及破坏。用户只能用合法的方式对数据进行使用和处理。

● 数据的完整性检查。

数据的完整性是指数据的正确性、有效性和相容性。完整性检查将数据控制在有效的范围内,并保证数据间所具有的关系完整。

● 并发控制。

当多个用户并发操作,同时存取或修改数据时,其相互间可能会产生干扰,从而得到错误的结果,或破坏数据库的完整性,因此多用户的并发进程必须受到DBMS的控制和协调。

● 数据库恢复。

在日常的数据库管理中可能会遇到机器损坏或者人为失误的问题。例如,计算机系统的软硬件故障、数据库管理员的失误甚至故意破坏,这些都会破坏数据库中数据的正确性,甚至造成数据库中部分甚至全部数据丢失。因此,DBMS需具备使数据库从错误状态恢复到某一已知的正确状态(也可称为一致状态)的功能,即数据库恢复功能。

数据库系统阶段应用程序与数据库之间的对应关系如图1-4所示。

图1-4 数据库系统阶段应用程序与数据库之间的对应关系