1.1 一些基本概念
在系统地介绍数据库技术之前,首先介绍数据库中常用的一些术语和基本概念。
1.1.1 数据
数据(Data)是数据库中存储的基本对象。早期的计算机系统主要用在科学计算领域,处理的数据基本是数值型数据,因此数据在人们头脑中的直觉反应就是数字,但数字只是数据的一种最简单的形式,是对数据的传统和狭义的理解。目前计算机的应用范围已十分广泛,因此数据种类也更加丰富,比如,文本、图形、图像、音频、视频、商品销售情况等都是数据。
可以将数据定义为:数据是描述事物的符号记录。描述事物的符号可以是数字,也可以是文字、图形、图像、声音、语言等,数据有多种表现形式,经过数字化后都能保存在计算机中。
数据的表现形式并不一定能完全表达其内容,有些还需要经过解释才能明确其表达的含义,比如20,当解释其代表人的年龄时就是20岁,当解释其代表商品价格时,就是20元。因此,数据和数据的解释是不可分的。数据的解释是对数据演绎的说明,数据的含义称为数据的语义。
在日常生活中,人们一般直接用自然语言来描述事物,例如描述一门课程的信息:数据库系统基础课程,4个学分,第5学期开设。在计算机中经常按如下形式描述:
即把课程名、学分、开课学期信息组织在一起,形成一个记录,这个记录就是描述课程的数据。这样的数据是有结构的。记录是计算机表示和存储数据的一种格式或方法。
1.1.2 数据库
数据库(Database,DB),顾名思义,就是存放数据的仓库,只是这个仓库是存储在计算机存储设备上的,而且是按一定的格式存储的。
人们在收集并抽取出一个应用所需要的大量数据之后,就希望将这些数据保存起来,以供进一步从中得到有价值的信息,并进行相应的加工和处理。在科学技术飞速发展的今天,人们对数据的需求越来越多,数据量也越来越大。最早人们把数据存放在文件柜里,现在人们可以借助计算机和数据库技术来科学地保存与管理大量的复杂数据,以便方便而充分地利用宝贵的数据资源。
严格地讲,数据库是长期存储在计算机中的有组织的、可共享的大量数据的集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的数据冗余、较高的数据独立性和易扩展性,并可为多种用户共享。
概括起来,数据库数据具有永久存储、有组织和可共享三个基本特点。
1.1.3 数据库管理系统
在了解了数据和数据库的基本概念之后,下一个需要了解的就是如何科学有效地组织和存储数据,如何从大量的数据中快速地获得所需的数据以及如何对数据进行维护,这些都是数据库管理系统要完成的任务。数据库管理系统(Database Management System,DBMS)是一个专门用于对数据进行管理和维护的系统软件。
数据库管理系统位于用户应用程序与操作系统软件之间,如图1-1所示。数据库管理系统与操作系统一样都是计算机的基础软件,同时也是一个非常复杂的大型系统软件,其主要功能包括如下几个方面。
图1-1 数据库管理系统在计算机系统中的位置
1.数据库的建立与维护功能
数据库的建立与维护功能包括创建数据库及对数据库空间的维护,数据库的备份与恢复功能,数据库的重组功能,数据库的性能监视与调整功能等。这些功能一般是通过数据库管理系统中提供的一些实用工具实现的。
2.数据定义功能
数据定义功能包括定义数据库中的对象,比如表、视图、存储过程等。这些功能一般是通过数据库管理系统提供的数据定义语言(Data Definition Language,DDL)实现的。
3.数据组织、存储和管理功能
为提高数据的存取效率,数据库管理系统需要对数据进行分类存储和管理。数据库中的数据包括数据字典、用户数据和存取路径数据等。数据库管理系统要确定这些数据的存储结构、存取方法、存储位置,以及如何实现数据之间的关联。确定数据的组织和存储的主要目的是提高存储空间利用率和存取效率。一般的数据库管理系统都会根据数据的具体组织和存储方式提供多种数据存取方法,比如索引查找、Hash查找、顺序查找等。
4.数据操作功能
数据操作功能包括对数据库数据的查询、插入、删除和更改操作,这些操作一般是通过数据库管理系统提供的数据操作语言(Data Manipulation Language,DML)实现的。
5.事务的管理和运行功能
数据库中的数据是可供多个用户同时使用的共享数据,为保证数据能够安全、可靠地运行,数据库管理系统提供了事务管理功能,这些功能保证数据能够并发使用并且不会产生相互干扰的情况,而且在发生故障时(包括硬件故障和操作故障等)能够对数据库进行正确的恢复。
6.其他功能
其他功能包括与其他软件的网络通信、不同数据库管理系统间的数据传输以及互访问功能等。
1.1.4 数据库系统
数据库系统(Database System,DBS)是指在计算机中引入数据库后的系统,一般由数据库、数据库管理系统(及相关的实用工具)、应用程序、数据库管理员组成。为保证数据库中的数据能够正常、高效地运行,除了数据库管理系统之外,还需要一个(或一些)专门人员来对数据库进行维护,这个专门人员称为数据库管理员(Database Administrator,DBA)。
一般在不引起混淆的情况下,常常把数据库系统简称为数据库。