
1.1 数据库概述
数据库是按照数据结构来组织、存储和管理数据的“仓库”。在日常工作中,我们经常需要把某些相关的数据放进“仓库”,并根据管理的需要进行相应的处理。
1.1.1 数据库基本概念
数据库是数据管理的新手段和技术,是计算机学科的重要分支。由于数据库具有数据结构化、最低冗余度、较高的程序与数据独立性、易于扩充、易于编制应用程序等优点,目前应用非常广泛。
1. 数据与信息
信息是客观事物属性的反映,是经过加工处理并对人类客观行为产生影响的数据表现形式。
数据是反映客观事物属性的记录,是信息的具体表现形式。数据包括文字、声音、图形等一切能被计算机接收且能被处理的符号。数据是事物特性的反映和描述,是符号的集合,也是各种抽象信息的具体化。
下面我们以“学生信息表”为例,通过学号、姓名、性别、年龄、系别、专业和年级等内容,来描述学生的在校特征:
(0411002 郑晓明 女 25 历史系 文学历史 04专升本)
这里的学生记录就是信息。在数据库中,记录与事物的属性是对应的关系,其表现如下图所示。

2. 数据库(Database,DB)
从上述内容中,我们可以理解数据库为存储在一起的相互有联系的数据集合。
而严格地说,数据库应具备以下特点:
※ 存储在一起的相关数据的集合。
※ 这些数据是结构化的,无有害的或不必要的冗余,并为多种应用服务。
※ 数据的存储独立于使用它的程序。
※ 对数据库插入新数据、修改和检索原有数据均能按一种公用的和可控的方式进行。
当某个系统中存在结构上完全分开的若干个数据库时,则该系统包含一个“数据库集合”。这是J.Martin给数据库下的一个比较完整的定义。
3. 数据库管理系统(Database Management System,DBMS)
数据库管理系统是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。
用户通过DBMS访问数据库中的数据,数据库管理员也通过DBMS进行数据库的维护工作。它提供多种功能,可使多个应用程序和用户用不同的方法在同时或不同时去建立、修改和询问数据库。主要包括以下4方面的功能。
数据定义功能
DBMS提供了数据定义语言(Data Definition Language,DDL),用户通过它可以方便地对数据库中的数据对象进行定义。
数据操纵功能
DBMS还提供了数据操纵语言(Data Manipulation Language,DML),用户可以使用DML操纵数据,实现对数据库的基本操作,如查询、插入、删除和修改等。
数据库的运行管理
数据库在建立、运用和维护时,由数据库管理系统统一管理、统一控制,以保证数据的安全性和完整性。
数据库的建立和维护功能
它包括数据库初始数据的输入、转换功能;数据库的转储、恢复功能;数据库的重组织功能和性能监视、分析功能等。这些功能通常是由一些实用程序完成的。
4. 数据库系统(Database System,DBS)
数据库系统是一个实际可运行的,为存储、维护和应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。它通常由软件、数据库和数据管理员组成。
其中,软件主要包括操作系统、各种宿主语言、实用程序以及数据库管理系统。数据库由数据库管理系统统一管理,数据的插入、修改和检索均要通过数据库管理系统进行。数据管理员(Database Administrator,DBA)负责创建、监控和维护整个数据库,使数据能被任何有权使用的人有效使用。数据库管理员一般是由业务水平较高、资历较深的人员担任。

1.1.2 数据库系统的特点
与人工管理和文件系统相比,数据库系统的特点主要有以下几个方面。
1. 数据结构化
数据结构化是数据库与文件系统的根本区别。在文件系统中,相互独立的文件的记录内部是有结构的。传统文件的最简单形式是等长同格式的记录集合。例如,一个学生人事记录文件,每个记录都有记录格式。

其中,前几项数据是学生都具有的共同信息。如果采用等长记录形式存储学生数据,为了建立完整的学生档案文件,每个学生记录的长度必须等于信息量最多的记录的长度,因而会浪费大量的存储空间。
因此,可以将较长记录格式再进行拆分操作,以集合的形式建立新文件。

这样可以节省许多存储空间,灵活性也相对提高。但这样建立的文件还有局限性,因为这种结构上的灵活性只是针对一个应用而言的。
而数据结构化的目的,在于数据不再针对某一个应用,而是面向全组织,具有整体的结构化。不仅数据是结构化的,而且存取数据的方式也很灵活,可以存取数据库中的某一个数据项、一组数据项、一个记录或一组记录。而在文件系统中,数据的最小存取单位是“记录”。

因此,将学生不同的信息,按照表格的属性输入相关的内容。例如,在“学生信息”表中,输入学号、姓名、性别、出生日期、住址等内容。

2. 数据的共享性高、冗余度低、易扩充
数据可以被多个用户、多个应用共享使用。数据共享可以大幅减少数据冗余,节约存储空间。数据共享还能够避免数据之间的不相容性与不一致性。
因为,原始采用人工管理或文件系统管理时,由于数据被重复存储,当不同的应用使用和修改不同的复制时,极容易导致同一数据复制的值不一样。所以,在数据库中数据共享,减少了由于数据冗余造成的不一致现象。
而且由于数据面向整个系统,因此,具有结构化的数据不仅可以被多个应用共享使用,还容易增加新的应用。这样数据库系统就具有较大的弹性,也易于扩充,并且可以适应不同用户的要求。
3. 数据独立性高
数据独立性是指,建立在数据的逻辑结构和物理结构分离的基础上,用户以简单的逻辑结构操作数据而无须考虑数据的物理结构,转换工作由数据库管理系统完成。数据独立性分为数据的物理独立和数据的逻辑独立。
数据的物理独立
物理独立是数据存取与程序的分离。也就是说,数据在磁盘上的数据库中怎样存储是由DBMS管理的,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储发生改变时,应用程序不用改变。
数据的逻辑独立
数据的使用与数据的逻辑结构相分离。也就是说,数据的逻辑结构改变时,用户程序可以不变。
4. 数据由DBMS统一管理和控制
数据库是长期存储在计算机内的,并且有结构的共享式数据集合。它可以供多个用户使用,并且具有较小的冗余度和较高的数据独立性。
而DBMS在数据库建立、运用和维护时对数据库进行统一控制,以保证数据的完整性和安全性。另外,在多用户同时使用数据库时,进行并发控制,而发生故障后也可以对系统进行恢复。
所以,在DBMS中,提供了以下4方面的数据控制功能。
数据的安全性(Security)保护
数据的安全性保护是指保护数据以防止不合法使用导致的数据泄密和破坏,要求每个用户只能按规定对某些数据以某些方式进行使用和处理。
数据的完整性(Integrity)检查
数据的完整性指数据的正确性、有效性和相容性。完整性检查将数据控制在有效的范围内,或保证数据之间满足一定的关系。
并发(Concurrency)控制
当多个用户的并发进程同时存取、修改数据库时,可能会导致数据之间相互冲撞,从而得到错误的结果,或使数据库的完整性遭到破坏。因此,必须对多用户的并发操作加以控制和协调。
数据库恢复(Recovery)
计算机系统的硬件故障、软件故障、操作员的误操作,都会影响数据库中数据的正确性,甚至导致数据库部分或全部数据的丢失。
因此,DBMS必须具有将数据库从错误状态恢复到正确状态的功能。数据库管理阶段应用程序与数据之间的对应关系如下图所示。
