Visual FoxPro程序设计
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1 数据库系统的基本概念

数据库技术是信息系统的一门核心技术,是一种计算机辅助管理数据的方法。该技术自20世纪60年代末产生以来,以其为核心的数据库信息管理系统被广泛应用在社会经济、事务处理和文化教育等各个领域,极大地推动了信息处理的技术发展。

1.1.1 数据、数据库、数据库系统与数据库管理系统

数据(Data)、数据库、数据库系统(DataBase System, DBS)与数据库管理系统(DataBase Management System, DBMS)是与数据库技术密切相关的4个基本概念。

1.数据

数据是客观事物的符号表示,在计算机科学中指所有能输入到计算机并被计算机程序处理的符号介质的总称。

数据有很多种,最简单的是数字。数据也可以是文字、图像或声音等,可以通过科学实验、检验和统计等获得,并用于科学研究、技术设计、查证和决策等。

2.数据库

数据库是按照一定的结构来组织、存储和管理数据并创建在计算机存储设备中的数据集合,可以形象地理解为电子化的文件柜——存储电子文件的场所,用户可以对其中一个或者多个文件中的数据进行新增、读取、更新和删除等操作。

3.数据库系统

数据库系统指计算机系统中引入数据库技术后的系统构成,通常由数据库、数据库管理系统、数据库应用系统、数据库管理员(DataBase Administrator, DBA)、用户及硬件等组成。

4.数据库管理系统

数据库管理系统是数据库系统的核心,是为数据库的创建、使用和维护而配置的系统软件,具有数据定义、存储、运行控制和维护等功能。有了数据库管理系统,用户在处理数据时不必顾及数据在计算机中的布局和存储位置等,可以方便地管理和使用数据。

1.1.2 数据处理技术的发展概况

随着信息技术的发展,数据管理经历了人工管理阶段、文件系统管理阶段和数据库系统阶段。

1.人工管理阶段

在人工管理阶段(20世纪50年代中期以前)计算机只是用于科学计算,外部存储器还没有磁盘等直接存取存储设备,软件也没有操作系统和数据管理软件,数据处理方式用的是批处理。

这个阶段的特点如下。

(1)数据无法保存。

(2)数据没有独立性,即程序和数据不可分割。计算机系统不能管理用户数据,在编写程序时需要全面考虑相关数据,包括数据定义、数据存储及读写方法等。

(3)数据不是以文件形式存放的,数据的组织形式需要程序开发人员自行设计。

(4)数据不能共享,数据是面向应用的。在程序中需要加入各自的数据,以致程序与程序之间存在大量重复的数据。

2.文件系统管理阶段

在文件系统管理阶段(从20世纪50年代后期到60年代中期)计算机不仅用于科学计算,还广泛用于管理。硬件方面有了磁盘、磁鼓等直接存取存储设备,软件领域出现了高级语言和操作系统。操作系统中有专门管理数据的软件,一般称为“文件系统”。数据的处理方式有批处理,也有联机实时处理。

这个阶段的特点如下。

(1)由于计算机大量用于数据处理,所以数据需要长期保存在外存中重复使用,即经常对文件执行查询、修改、插入和删除等操作。

(2)由于有操作系统中的文件系统管理,所以数据的逻辑结构与存储结构有了区别,可以由系统转换。程序只要用文件名就可以进行数据操作,不必关心数据的物理位置,即程序与数据之间具有设备独立性。

(3)文件已经多样化,由于已有了直接存取存储设备,所以有了索引文件、链接文件和直接存取文件等。

(4)数据的存取基本上以记录为单位。

文件管理阶段比人工管理阶段有很大改进,但随着数据管理规模的扩大,数据量急剧增加,文件系统显现出如下问题。

● 数据冗余度大。

文件系统中文件基本上对应于某个应用程序,数据还是面向应用。即使不同的应用程序需要的数据有部分相同时,也必须创建各自的文件。由于相同数据的重复存储,因此各自管理数据的修改和维护,容易造成数据的不一致。

● 数据和程序缺乏独立性。

文件系统中文件是为某一特定应用服务的,一旦数据的逻辑结构改变,必须修改应用程序和结构的定义。而应用程序的改变也将影响文件数据结构的改变,数据和程序缺乏独立性。

3.数据库系统阶段

在数据库系统阶段(从20世纪60年代后期开始)计算机用于管理的数据规模急剧增大,为了解决多用户共享数据的需求,使数据尽可能多地为应用服务,出现了数据库管理技术。它克服了文件系统的缺陷,提供了对数据更加有效的管理,其特点如下:

(1)面向全组织的复杂数据结构。

数据库中包含许多单独的数据文件,这些文件在描述数据本身的同时还描述了数据之间的联系。即文件之间有了相互的联系,在整体上服从一定的组织,整个组织的数据结构化了。而在文件系统中虽然记录内部有了某些结构,但记录之间没有联系,这也是数据库系统与文件系统的根本区别。

(2)数据冗余度小,易扩充。

因为数据库从整体上描述数据,面向整个系统,而不是面向某个应用,所以数据冗余度小,数据之间的不一致不容易发生。

我们在应用数据库数据时,可以取整体数据的不同子集用于不同的应用系统。当应用需求变化时,只要获取不同子集数据或者加上一些数据,就可以有新用途,容易扩充新功能。

(3)具有较高的数据和程序的独立性。

数据库系统提供了两方面的映射功能,一个是数据的物理结构与逻辑结构之间的映射功能;另一个是数据的总体逻辑结构与某类应用所涉及的局部逻辑结构之间的映射功能。

正是这两方面的映射保证了数据和程序的独立性,把数据的定义和描述从应用程序中分离出去;另外数据的存取由DBMS管理,用户不必考虑存取路径等细节,可以简化应用程序的编写,方便维护和修改。

(4)统一的数据控制功能。

数据库是系统中各用户的共享资源,许多用户同时使用。利用专门的数据库管理系统实现对数据的定义、操作、统一管理和控制,在应用程序和数据库之间保持高独立性。数据具有完整性、一致性和安全性,并具有充分的共享性。

(5)数据的最小存取单位是数据项。

不仅可以存取数据库中某一数据项或一组数据项,还可以存取一个记录或一组记录。

数据库系统的出现使得信息系统的研制围绕共享数据库进行,便于数据的集中管理,提高了数据的利用率和相容性。大型复杂的信息系统大多以数据库为核心,数据库系统在计算机应用中起着越来越重要的作用。

1.1.3 数据库管理系统的功能

数据库管理系统是为数据库的创建、使用和维护而配置的软件,是数据库系统中的核心软件。它创建在操作系统的基础上,对数据库进行统一的管理和控制,并且承担数据库的维护工作,按照DBA所规定的要求,保证数据库的安全性和完整性。

数据库管理系统的主要功能如下:

(1)数据定义。

数据库管理系统的数据定义语言(DDL)定义了外模式、模式和内模式,各种模式翻译程序把这些源模式翻译为相应的内部表示,分别称为“目标外模式”“目标模式”“目标内模式”。这些目标模式是对数据库框架的描述,保存在数据字典中,作为数据库管理系统存取和管理数据的依据。

(2)数据存取。

数据库管理系统提供数据操纵语言(DML)实现数据库数据的基本操作,包括查询、插入、修改和删除等。

(3)数据库运行和管理。

数据库运行和管理是数据库管理系统运行时的核心部分,包括并发控制、存取控制、完整性约束条件的检查和执行,以及数据库内部的维护等。所有数据库的操作都要在这些控制程序的统一管理下进行,以保证数据库的正确有效。

(4)数据库创建和维护。

数据库初始数据的载入与转换、数据库的转储与恢复,以及数据库的重组织和性能监视等功能都是由各个实用程序来完成的。