1.1.3 数据库系统阶段
20世纪60年代后期,数据处理成为计算机应用的主要领域,数据量急剧增长,数据关系更加复杂,对数据管理提出了更高的要求。为了满足多用户、多应用程序共享数据的需求,实现数据的统一管理,人们开始了对数据建模和组织、对数据进行统一管理和控制的研究,形成了数据库这一计算机科学与技术的重要分支。
数据库系统的主要特征是数据的统一管理和数据共享,即数据采用统一的数据模型进行组织和存储,由专门的管理软件——数据库管理系统(DataBase Management System,DBMS)进行统一管理和控制;应用程序在DBMS的控制下,采用统一的方式对数据库中的数据进行操作和访问。数据库系统阶段应用程序与数据之间的对应关系如图1.3所示,其特点如下。
图1.3 数据库系统阶段应用程序与数据之间的对应关系
1. 数据结构化
这是数据库系统与文件系统的根本区别,也是数据库系统的主要特征之一。在文件系统中,数据是面向特定应用的,文件的记录内部是有结构的,但各文件间没有联系,不能反映现实世界中各实体间的联系。在数据库系统中,采用统一的数据模型,将数据组织为一个整体;数据不再仅面向特定应用,而是面向全组织的;数据内部不仅是结构化的,而且整体也是结构化的,能较好地反映现实世界中各实体间的联系。这种整体结构化有利于实现数据共享,保证数据和应用程序之间的独立性。
2. 数据共享性高、冗余度低、易于扩充
由于数据库是面向整个系统,而不是面向某个特定应用的,因此数据能够被多个用户、多个应用程序共享。数据库中相同的数据不会多次重复出现,数据冗余度降低,并可避免由于数据冗余度大而带来的数据冲突问题。同时,当应用需求发生改变或增加时,只需重新选择不同的子集,或增加数据即可满足要求。
3. 数据独立性高
数据独立性是指数据的组织和存储与应用程序之间互不依赖、彼此独立的特性,它是数据库领域的一个重要概念。数据独立性包括物理独立性和逻辑独立性。物理独立性是指应用程序与存储于外存储器上的数据是相互独立的,即数据在外存上的存储结构是由DBMS管理的,应用程序无须了解;当数据的物理结构发生变化时,应用程序不需改变。逻辑独立性是指应用程序与数据库的逻辑结构是相互独立的,当数据的逻辑结构发生变化时,应用程序可以不改变。
数据独立性是由DBMS的二级映像功能来保证的。数据独立于应用程序,降低了应用程序的维护成本。
4. 数据统一管理与控制
数据库中的数据由数据库管理系统(DBMS)统一管理与控制,应用程序对数据的访问均需经由DBMS。DBMS必须提供以下4个方面的数据控制功能。
(1)并发(Concurrency)访问控制
数据库的共享是并发共享的,多个用户可同时存取数据库中的数据。当多个用户同时存取或修改数据库中的数据时,可能发生相互干扰,导致得到错误结果或破坏数据的完整性。因此DBMS必须对多用户的并发操作加以控制。
(2)数据完整性(Integrity)检查
数据完整性是指数据的正确性、有效性和相容性。数据完整性检查的目的是保证数据是有效的,或保证数据之间满足一定的约束关系。
(3)数据安全性(Security)保护
数据库的安全性是指保证数据不被非法访问,保证数据不会因非法使用而被泄密、更改和破坏。
(4)数据库恢复(Recovery)
当计算机系统出现硬件、软件故障,或操作员失误以及他人故意破坏时,均可能会影响到数据库的正确性,还有可能造成数据的丢失。当数据库出现故障后,DBMS应能将其恢复到之前的某一正常状态,这就是数据库的恢复功能。
数据库系统克服了文件系统的缺陷,自20世纪70年代以来,它得到了迅速发展,涌现出了许多新产品,得到了广泛应用,成为现代数据管理的主要技术。可以毫不夸张地说,有计算机的地方就有数据库。