6.1.1 数据库的基本概念
1.数据
数据是指存储在某一种媒体上能够识别的物理符号。数据的概念包括两个方面:其一是描述事物特性的数据内容;其二是存储在某一种媒体上的数据形式。
2.数据处理
数据处理是指对各种形式的数据进行收集、存储、加工和传播的一系列活动的总和。
3.数据库(DB-database)
数据库是长期存放在计算机内的、有组织的、可以表现为多种形式的可共享的数据集合。
4.数据库管理系统(DBMS-database manage system)
数据库管理系统(DBMS)是对数据库进行管理的系统软件,它的职能是有效地组织和存储数据,获取和管理数据,接受和完成用户提出的访问数据的各种请求。
5.数据库系统(DBS-database system)
数据库系统是指拥有数据库技术支持的计算机系统,它可以实现有组织地、动态地存储大量相关数据,提供数据处理和信息资源共享服务。
DBA-database administrator 数据库管理员
6.1.2 数据库管理技术的发展
数据管理技术的发展大致经历了人工管理、文件系统和数据库系统三个阶段。目前,数据仓库技术和XML数据库的发展也十分迅速。
1. 人工管理阶段
20世纪50年代中期以前,计算机主要用于科学计算。计算机硬件方面,外存只有卡片、纸带及磁带,没有磁盘等直接存取的存储设备;软件方面,只有汇编语言,没有操作系统和高级语言,更没有管理数据的软件;数据处理的方式是批处理。这些决定了当时的数据管理只能依赖人工来进行。
人工管理阶段的主要特点如下:
(1)数据不进行保存;
(2)没有专门的数据管理软件;
(3)数据面向应用;
(4)只有程序的概念。
2. 文件系统阶段
20世纪60年代,计算机技术有了很大提高,计算机应用范围不仅用于科学计算,还大量用于管理。硬件已经有了磁盘、磁鼓等直接存取的外存设备;软件有了操作系统、高级语言,操作系统中的文件系统是专门用于数据管理的软件;处理方式不仅有批处理,还增加了联机实时处理。
文件系统阶段的主要特点如下:
(1)数据可以长期保存在磁盘上;
(2)文件系统提供了数据与程序之间的存取方法;
(3)数据冗余量大;
(4)文件之间缺乏联系,相对孤立,仍然不能反映客观世界各个事物之间错综复杂的联系。
3. 数据库系统阶段
20世纪60年代末以来,
计算机的应用更为广泛,用于数据管理的规模也更为庞大,由此带来数据量的急剧膨胀。计算机磁盘技术有了很大发展,出现了大容量的磁盘。在处理方式上,联机实时处理的要求更多。这种变化促使了数据管理手段的进步,数据库技术应运而生。
数据库系统阶段的主要特点如下:
(1)数据的结构化;
(2)数据共享性好;
(3)数据独立性好;
(4)数据存储粒度小;
(5)为用户提供了友好的接口。
未来数据库发展方向:
超大容量,支持海量数据,支持数据仓库、数据挖掘、分析等。
更小,嵌入式数据库。
面向对象的数据库技术将称为下一代数据库技术的发展主流。
1)数据仓库系统
数据仓库技术是目前数据处理中发展十分迅速的一个分支。所谓数据仓库,是对长期数据的存储,这些数据来自于多个异种数据源。通过数据仓库提供的联机分析处理(OLAP)工具,实现多维数据分析,以便向管理决策层提供支持。数据仓库系统允许将各种应用系统集成在一起,为统一的历史数据分析提供坚实的平台,对海量信息处理进行支持。目前数据仓库已经日渐成为数据分析和联机分析处理的重要平台。
数据仓库的主要特征如下:
(1)面向主题特性:围绕某一主题建模和分析;
(2)集成特性:将多个异种数据源以及事务记录集成在一起;
(3)时变特性:数据存储从历史的角度提供信息;
(4)非易失特性:总是物理地独立存放数据。
数据库系统和数据仓库系统的区别:
(1)面向的用户不同。数据库系统面向使用单位的低层人员,用于日常数据的分析和处理;数据仓库系统面向的是使用单位的决策人员,提供决策支持。
(2)数据内容不同。数据库系统存储和管理的是当前的数据;数据仓库系统存储的是长期积累的历史数据。
(3)数据来源不同。数据库的数据一般来源于同种数据源,而数据仓库的数据可以来源于多个异种数据源。
(4)数据的操作不同。数据库系统提供了联机事务处理(OLTP,On-LineTransaction Processing)系统,而数据仓库系统主要提供了联机分析处理(OLAP,On-LineAnalytical Processing)和决策支持系统,实现数据挖掘和知识发现。
2) XML数据库
XML数据库是一种支持对XML格式文档进行存储和查询等操作的数据管理系统。在系统中,开发人员可以对数据库中的XML文档进行查询、导出和指定格式的序列化。XML(ExtensibleMarkup Language)即可扩展标记语言,它与HTML一样,都是SGML(StandardGeneralized Markup Language,标准通用标记语言)。XML作为一种简单的数据存储语言,仅仅使用一系列简单的标记来描述数据。虽然XML比二进制数据要占用更多的空间,但XML极其简单,易于掌握和使用,尤其具有跨平台的特性。
6.1.3 数据库系统的组成
1. 硬件系统
数据库系统的数据量很大,DBMS丰富的强有力的功能使得自身的体积很大,因此,整个数据库系统对硬件资源提出了较高的要求。
2. 系统软件
系统软件主要包括操作系统、数据库管理系统、与数据库接口的高级语言及其编译系统,以及以DBMS为核心的应用程序开发工具。
3. 数据库应用系统
特定应用开发的数据库应用软件。
4. 各类人员
参与分析、设计、管理、维护和使用数据库的人员,这些人员包括数据库管理员、系统分析员、应用程序员和最终用户。
6.1.4 数据模型
数据库是企业或组织所涉及的数据的提取和综合,它不仅反映数据本身,而且反映数据之间的联系。数据库用数据模型对现实世界进行抽象,现有的数据库系统均是基于某种数据模型的。
数据模型的三个组成部分:
数据结构、数据操作、数据完整性约束
数据库中最常见的数据模型有三种
层次模型、网状模型和关系模型
------层次模型
若用图来表示,层次模型是一棵倒立的树。在数据库中,满足以下两个条件的数据模型称为层次模型:
(1)有且仅有一个结点无父结点,这个结点称为根结点;
(2)其他结点有且仅有一个父结点。
在层次模型中,结点层次从根开始定义,根为第一层,根的子结点为第二层,根为其子结点的父结点,同一父结点的子结点称为兄弟结点,没有子结点的结点称为叶结点。
------网状模型
若用图来表示,网状模型是一个网络。在数据库中,满足以下两个条件之一的数据模型称为网状模型。
(1)允许一个以上的结点无父结点;
(2)允许结点可以有多于一个的父结点。
由于在网状模型中子结点与父结点的联系不是唯一的,所以要为每个联系命名,并指出与该联系有关的父结点和子结点。网状模型允许一个以上的结点无父结点或某一个结点有一个以上的父结点,从而构成了比层次结构复杂的网状结构。
------关系模型
关系模型把世界看作是由实体和联系构成的。
所谓联系就是指实体之间的关系,即实体之间的对应关系。
联系可以分为三种:
(1)一对一的联系。如:一个班级只有一个班长,一个班长只属于一个班级,班长和班级之间为一对一的联系。
(2)一对多的联系。如:相同性别的人有许多个,一个人只有一种性别,性别与人之间为一对多的联系。
(3)多对多的联系。如:一个人可以选多门课,一门课可以被很多人选,人与课程之间是多对多的联系。
通过联系就可以用一个实体的信息来查找另一个实体的信息。关系模型把所有的数据都组织到表中。表是由行和列组成的,反映了现实世界中的事实和值。
关系模型
满足下列条件的二维表,在关系模型中,称为关系。
(1)每一列中的分量是类型相同的数据;
(2)列的顺序可以是任意的;
(3)行的顺序可以是任意的;
(4)表中的分量是不可再分割的最小数据项,即表中不允许有子表;
(5)表中的任意两行不能完全相同。
层次数据库是数据库系统的先驱,而网状数据库则为数据库在概念、方法、技术上的发展奠定了基础,它们是数据库技术研究最早的两种数据库,而且也曾得到广泛的应用。但是,这两种数据库管理系统存在着结构比较复杂、用户不易掌握、数据存取操作必须按照模型结构中已定义好的存取路径进行、操作比较复杂等缺点,这就限制了这两种数据库管理系统的发展。关系数据库以其数学理论基础完善、使用简单灵活、数据独立性强等特点,而被公认为是最有前途的一种数据库管理系统。
6.1.5 关系数据库
1.关系数据库的基本概念
(1)关系:
一个关系就是一张二维表,每个关系有一个关系名。在计算机中,关系的数据存储在文件中,在Access中,一个关系就是数据库文件中的一个表对象。
(2)属性:
二维表中垂直方向的列称为属性,有时也叫做一个字段。
(3)域:
一个属性的取值范围叫做一个域。
(4)元组:
二维表中水平方向的行称为元组,有时也叫做一条记录。
(5)码:又称为关键字。
二维表中的某个属性或属性组,若它的值唯一地标识了一个元组,则称该属性或属性组为候选码。若一个关系有多个候选码,则选定其中一个为主码,也称之为主键。
(6)分量:
元组中的一个属性值叫做元组的一个分量。
(7)关系模式:
是对关系的描述,它包括关系名、组成该关系的属性名、属性到域的映象。通常简记为:关系名(属性名1,属性名2,…,属性名n)。
2.关系运算
对关系数据库进行查询时,若要找到用户关心的数据,就需要对关系进行一定的关系运算。
关系运算有两种:
传统的集合运算(并、差、交、广义笛卡儿积等);
专门的关系运算(选择、投影、连接)。¢传统的集合运算
传统的集合运算不仅涉及关系的水平方向(即二维表的行),而且涉及关系的垂直方向(即二维表的列)。
关系运算的操作对象是关系,运算的结果仍为关系。
专门的关系运算包括:
(1)选择:选择运算即在关系中选择满足指定条件的元组。
(2)投影:投影运算是在关系中选择某些属性(列)。
(3)连接:连接运算是从两个关系的笛卡儿积中选取属性间满足一定条件的元组。

