1.2.3 数据库管理
20世纪60年代后期,数据管理技术进入数据库系统阶段。数据库技术是在文件系统的基础上发展起来的新技术,为用户提供了一种使用方便、功能强大的数据管理手段。在这一阶段出现了统一管理数据的专门软件系统——数据库管理系统。
从文件系统到数据库系统,标志着数据管理技术的飞跃,用数据库系统来管理数据比文件系统具有明显的优势。
❶ 面向数据模型对象
数据模型是数据库设计的基础。在设计数据库时,要站在全局需要的角度抽象和组织数据;再完整地、准确地描述数据自身和数据之间联系的情况;要建立适合整体需要的数据模型。与文件系统相比较,数据库系统的这种特点决定了它的设计方法,应先设计数据库,再设计功能程序,而不能像文件系统那样,先设计程序,再考虑程序需要的数据。
❷ 数据的共享性高、冗余度低、易扩充
所谓的冗余度低,就是指重复的数据少。减少冗余数据可以节约存储空间,使对数据的操作容易实现;可以使数据统一,避免产生数据的不一致问题。所谓数据的不一致性,是指同一数据不同拷贝的值不一样。采用人工管理或文件系统管理时,由于数据被重复存储,所以很容易造成数据的不一致。在数据库中数据共享,减少了由数据冗余造成的不一致现象。减少冗余数据还便于数据维护,避免数据统计错误。
数据库系统从整体角度看待和描述数据,数据库中的数据是面向整个系统的,因此数据可以被多个用户、多个应用所共享。数据共享可以大大减少数据冗余,节约存储空间。
由于数据面向整个系统,是有结构的数据,不仅可以被多个应用所共享,还容易增加新的应用,这就使得数据库系统非常易于扩充,可以适应各种用户的要求。当应用需求改变或增加时,只要重新选取不同的子集或加上一部分数据便可以满足新的需求。
❸ 数据和程序之间具有较高的独立性
数据库中的数据独立性可以分为两级:数据的物理独立性和数据的逻辑独立性。
物理独立性(Physical Data Independence)是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。也就是说,数据在磁盘上的数据库中怎样存储是由DBMS管理的,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样,当数据的物理结构发生变化时,应用程序不需要修改也可以正常工作。
逻辑独立性(Logical Data Independence)是指用户的应用程序与数据库的逻辑结构是相互独立的,也就是说,数据的逻辑结构改变了,应用程序也可以不变。
数据独立性是由DBMS的二级映象功能来保证的,DBMS的二级映像功能将在后面详细介绍。
❹ 数据由DBMS统一管理和控制
数据库是系统中各用户的共享资源,因而计算机的共享一般是并发的,即多个用户同时使用数据库。因此,数据库管理系统DBMS就提供了数据安全性控制、完整性控制、并发控制和数据恢复等数据控制功能。
数据的安全性(Security)是指保护数据以防不合法的使用造成数据的泄密和破坏,使每个用户只能按规定对某些数据以某些方式进行使用和处理。
数据的完整性(Integrity)是指数据的正确性、有效性和相容性。完整性检查将数据控制在有效的范围内,或保证数据之间满足一定的关系。
并发控制(Concurrency)是指当多个用户的并发进程同时存取、修改数据库时,可能会发生相互干扰而得到错误的结果或使数据库的完整性遭到破坏,因此,必须对多用户的并发操作加以控制和协调。
数据恢复(Recovery)是指当计算机系统的硬件故障、软件故障、操作员的失误以及故意的破坏影响数据库中数据的正确性,甚至造成数据库部分或全部数据丢失时,DBMS必须具有将数据库从错误状态恢复到某一已知的正确状态的功能。
在数据库系统管理阶段,程序与数据之间的一一对应关系如图1.4所示。
图1.4 数据库系统管理阶段程序与数据之间的对应关系