第1章 数据库基础知识

学习指引

数据库(DataBase)是按照数据结构来组织、存储和管理数据的仓库。本章将介绍数据库的基础知识,主要内容包括数据库的基本概念、发展历史,数据库的分类模型以及常见关系数据库等。

重点导读

  •  熟悉数据库的基本概念。
  •  熟悉数据库的发展历史。
  •  掌握数据库的数据模型。
  •  掌握数据库的体系结构。
  •  认识常用的关系数据库。

1.1 认识数据库

数据库产生于距今60多年前,随着信息技术和市场的发展,特别是20世纪90年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。

1.1.1 数据库的概念

数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。关于数据库的概念可以从以下两个方面来理解。

1. 按照数据库的形象来理解

按照数据库的形象来理解,可以将数据库看作是电子化的文件柜,也就是存储电子文件的处所,用户可以对文件中的数据进行新增、读取、更新、删除等操作。在日常管理工作中,常常需要把某些相关的数据放进这样的“仓库”,并根据管理的需要进行相应的处理。

例如,企业或事业单位的人事部门常常要把本单位职工的基本情况(职工号、姓名、年龄、性别、籍贯、工资、简历等)存放在表中,这张表就可以看成是一个数据库。有了这个“数据仓库”,用户就可以根据需要随时查询某职工的基本情况,也可以查询工资在某个范围内的职工人数等。这些工作如果都能在计算机上自动进行,那人事管理就可以达到极高的水平。

2. 按照数据库的原理来理解

按照数据库的原理来理解,数据库是依照某种数据模型组织起来并存放在二级存储器中的数据集合。这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改、查由统一软件进行管理和控制。

1.1.2 数据库技术的发展

数据库技术是管理信息系统、办公自动化系统、决策支持系统等各类信息系统的核心部分,是进行科学研究和决策管理的重要技术手段。从发展的历史看,数据库是数据管理的高级阶段,它是由文件管理系统发展起来的。

数据管理技术是对数据进行分类、组织、编码、输入、存储、检索、维护和输出的技术,数据管理技术的发展大致经过了以下三个阶段:人工管理阶段、文件系统阶段和数据库系统阶段。

1. 人工管理阶段

20世纪50年代以前,计算机主要用于数值计算,从当时的硬件看,外存只有纸带、卡片、磁带等,没有直接存取设备;从软件看,没有操作系统以及管理数据的软件;从数据看,数据量小,数据无结构,由用户直接管理,数据间缺乏逻辑组织,数据依赖于特定的应用程序,缺乏独立性。

2. 文件系统阶段

20世纪50年代后期到60年代中期,出现了磁鼓、磁盘等数据存储设备,新的数据处理系统迅速发展,这种数据处理系统是把计算机中的数据组织成相互独立的数据文件,系统可以按照文件的名称对其进行访问,对文件中的记录进行存取,并可以实现对文件的修改、插入和删除,这就是文件系统。

文件系统实现了记录内的结构化,即给出了记录内各种数据间的关系。但是,文件从整体来看却是无结构的,其数据面向特定的应用程序,因此数据共享性、独立性差,且冗余度大,管理和维护的代价也很高。

3. 数据库系统阶段

20世纪60年代后期,出现了数据库这样的数据管理技术,数据库的特点是数据不再只针对某一特定应用,而是面向全组织,具有整体的结构性,共享性高,冗余度小,具有一定的程序与数据间的独立性,并且实现了对数据进行统一的控制。

1.1.3 数据库系统的组成

数据库系统是由数据库及其管理软件组成的系统,人们常把与数据库有关的硬件和软件系统统称为数据库系统。具体来讲,数据库系统是由数据库、数据库管理系统、数据库管理员、支持数据系统的硬件和软件(应用开发工具、应用系统等)、用户等多个部分构成的运行实体,如图1-1所示。

图1-1 数据库系统的组成

下面详述主要部分的功能与作用。

(1)数据库:数据库(DataBase System)提供了一个存储空间用以存储各种数据,可以将数据库视为一个存储数据的容器。一个数据库可能包含许多文件,一个数据库系统中通常包含许多数据库。

(2)数据库管理员(DataBase Administrator, DBA):数据库管理员是对数据库进行规划、设计、维护和监视等的专业管理人员,在数据库系统中起着非常重要的作用。

(3)数据库管理系统:数据库管理系统(DataBase Management System, DBMS)是用户创建、管理和维护数据库时所使用的软件,位于用户与操作系统之间,对数据库进行统一管理。DBMS能定义数据存储结构,提供数据的操作机制,维护数据库的安全性、完整性和可靠性。

(4)数据库应用程序(DataBase Application):数据库应用程序的使用可以满足对数据管理的更高要求,还可以使数据管理过程更加直观和友好,数据库应用程序负责与数据库管理系统进行通信,访问和管理数据库管理系统中存储的数据,允许用户插入、修改、删除数据库中的数据。