第一章 概论

第9章 数据库基础
9.1 数据库系统概述

数据库系统几个概念
数据:反映客观事物存在方式和运动状态的记录,是信
息的载体。如数字、文字符号、图形、图像和声音等
 数据库:是指长期存储在计算机内的、有组织的、可共
享的数据集合。数据库中的数据按一定的数据模型组织、
描述和储存,具有较小的冗余度、较高的数据独立性和
易扩展性。
 数据库系统:有组织地,动态地存储大量相关的结构化
数据,方便各类用户访问数据库的计算机软件、硬件资
源的集合。

9.1 数据库系统概述(续)

数据库系统组成:数据库系统一般由数据库、数据库
管理系统(及其开发工具)、应用系统、数据库管理
员和用户构成。
用户
用户
……
用户
应用系统
应用开发工具
数据库管理系统
操作系统
数据库
数据库系统构成
数据库管理员
9.1 数据库系统概述(续)

数据管理技术的发展阶段

1、人工管理阶段
20世纪50年代中期以前,计算机主要用于科学计算。在这一阶
段的硬件状况是外存只有纸带、卡片和磁带软件状况是没有专
门的管理数据软件、没有操作系统;数据处理方式主要是批处
理。
 特点
(1)数据不长期保存、不能共享。
(2)应用程序管理数据,数据不具备独立性。

9.1 数据库系统概述(续)

数据管理技术的发展阶段
2、文件系统阶段
 20世纪50年代后期至60年代中后期,程序与数据有了一
定独立性,程序与数据分开存储,有了程序文件和数据
文件的区别。
 特点:
(1)数据可以长期保存。
(2)由文件系统管理数据。
(3)数据共享性差,冗余度大。
(4)数据独立性差。
9.1 数据库系统概述(续)

数据管理技术的发展阶段
3.数据库系统阶段
 20世纪60年代后期以来,计算机应用于管理的规模更加
庞大,应用也越来越广泛。需要计算机管理的数据量急
剧增长,且对数据共享的需求日益增强。
 特点
(1)数据结构化。
(2)数据共享性高,冗余度低,易扩充。
(3)数据独立性高。
(4)完备的数据控制功能。
9.1 数据库系统概述(续)

数据库系统的体系结构
数据库系统在总的体系结构上具有外部级、概念级、内
部级三级结构的特征,这种三级结构也称为“三级模式
结构”。
 数据库系统的三级模式结构由外模式、模式和内模式组
成。

9.1 数据库系统概述(续)

三级模式
 外模式:又称用户模式或子模式,它是数据库用户所见
到和使用的局部数据的逻辑结构和特征的描述,是用户
的数据视图。一个模式可以有若干个外模式,每个用户
只关心与其相关的外模式,有利于数据保护。
 模式:又称为逻辑模式或概念模式,它介于内模式与外
模式之间。是数据库中全体数据的逻辑结构和特征的描
述,是所有用户的公共数据视图。
 内模式:又称为存储模式或物理模式,是对数据物理结
构和存储方式的描述,是数据库中全体数据的内部表示
方式。一个数据库只有一个内模式。
外模式处于最外层,反映了用户对数据库的实际要
求;模式处于中层,反映了设计者对数据全局的逻辑要
求;内模式处于最底层,反映了数据的物理结构和存取
方式。
9.1 数据库系统概述(续)

两级映射
外模式/模式间的映射和模式/内模式间的映射。
 外模式/模式间的映射:定义了外模式与模式之间的对应
关系,保证了逻辑数据的独立性。
 模式/内模式间的映射:定义了内模式与模式之间的对应
关系,保证了物理数据的独立性。
9.2 数据库管理系统

数据库管理系统(DataBase Management System,
DBMS)是位于用户与操作系统之间的数据管理软
件。是具有数据定义、管理和操纵功能的软件集合。
9.2 数据库管理系统 (续)

数据库管理系统的功能
(1)数据定义功能。
(2)数据操纵功能。
(3)数据库的运行管理。
(4)数据库的建立和维护功能。
9.2 数据库管理系统 (续)

数据模型
(1)层次数据型:亦称树型,是数据库系统中最早出现的
数据模型,像一棵倒挂的树,用来描述有层次联系的事
物。层次模型反映了客观事物之间一对多(1:n)的联系。
(2)网络数据模型:用来描述事物间的网状联系,反映了
客观事物之间的多对多(m:n)的联系。
(3)关系数据模型:关系数据模型把事物间的联系及事物
内部的联系都用一张二维表来表示,这种表称为“关
系” 。
9.2 数据库管理系统 (续)

数据库管理系统的类型
根据数据库所使用的数据模型,数据库也相应地分
为层次型数据库、网络型数据库和关系型数据库。目前,
还出现了不少新的数据库系统,如面向对象数据库系统、
分布式数据库系统、多媒体数据库系统等。
由于关系型数据库有严格的数学理论基础,简单灵
活,数据独立性高,与其他数据库相比有突出的优点。
数据库技术发展至今,绝大多数数据库为关系型的。
9.2 数据库管理系统 (续)
数据库管理系统的构成
(1)数据定义语言及其翻译处理程序。

数据定义语言DDL供用户定义数据库的模式、存储
模式、外模式、各级模式间的映射、有关的约束条件等。
(2)数据操纵语言及其翻译解释程序。
数据操纵语言DML用来实现对数据库的检索、插入、
修改、删除等基本操作。
(3)数据运行控制程序。
系统运行控制程序负责数据库运行过程中的控制与管
理
(4)实用程序。
9.3 数据库语言

数据定义语言
数据定义语言用于定义数据库的各级模式(外
模式、模式、内模式)及其相互之间的映射,定义数
据的完整性约束、保密限制等约束,各种模式通过数
据定义语言编译器翻译成相应的目标模式,保存在数
据字典中。
9.3 数据库语言(续)

数据操纵语言
数据操纵语言用于实现对数据库中的数据进行
存取、检索、插入、修改和删除操作。
数据操纵语言可分为两种类型:
一种是嵌入在C、C++等高级语言中,不独立使用,此类
语言称为嵌入式语言。
 另一类是交互查询语言,可以独立使用简单的检索、更
新等操作,通常由一组命令组成,用于提取数据库中的
数据,这类语言称为自含式语言,包括数据操纵语言的
编译程序和解释程序。

9.3 数据库语言(续)

结构化查询语言SQL
结构化查询语言(Structured Query
Language,SQL)语言结构简洁,功能强大,简单
易学。SQL语言的主要功能就是同各种数据库建立
联系,进行沟通。
SQL语句可以用来执行各种各样的操作,例如更
新数据库中的数据,从数据库中提取数据等。
目前绝大多数流行的关系型数据库管理系统,如
Oracle, Sybase, Microsoft SQL Server, Access等都
采用了SQL语言标准。
9.3 数据库语言(续)

SQL语言构成
(1)数据查询语言(Data Query Language,DQL),
如SELECT语句。
(2)数据操纵语言(Data Manipulation Language,
DML),如INSERT, UPDATE, DELETE等语句。
(3)数据定义语言(Data Definition Language,DDL),
如CREATE, ALTER, DROP等语句。
(4)数据控制语言(Data Control Language,DCL),
如COMMIT WORK, ROLLBACK WORK等。
9.3 数据库语言(续)

SQL的特点
SQL语言是一个综合统一的语言。它集数据定义语言
DDL、数据操纵语言DML、数据控制语言DCL和数据查
询语言DQL于一体。
 SQL语言是一个高度非过程化语言。
 SQL语言提供了面向集合的操作方式。
 SQL语言以同一种语法结构提供了两种使用方式。SQL
语言既是自含式语言,又是嵌入式语言。

9.4 几种新型的数据库系统

关系数据库


关系数据库是目前数据库中最重要的最流行的数据。目前常用
的数据库系统软件几乎都是关系数据库。
关系数据库结构:

元组:关系中的每一行称为一个元组

属性:关系中的每一列称为一个属性

候选键:若一个属性或属性集能唯一标识元组,且不含有
多余的属性或属性集,则称该属性或属性集为关系模式的
候选键。

主键:正在使用的候选键或用户特别指定的某一候选键称
为主键。
9.4 几种新型的数据库系统 (续)

关系数据库
三种基本的关系运算:选择、投影和连接
 选择:从二维表中选出符合条件的记录,是一种从行的
角度对关系进行的运算。
 投影:从二维表中选出所需要的列,是一种从列的角度
对关系进行的运算。
 连接:是同时涉及两个二维表的运算,是将两个关系在
给定的属性上满足给定条件的记录连接起来而得到的一
个新的关系。

9.4 几种新型的数据库系统 (续)

关系数据库
关系的完整性
 完整性规则:是对关系的某种约束条件,主要包括实体
完整性、参照完整性和用户定义的完整性三类。
实体完整性:是对组成主键字段的约束,若某字段为主键,则
该字段中所有的值不能取空值。
 参照完整性:是对数据库中建立关联关系的关系间数据参照引
用的约束,即对组成外键的字段的约束。
 用户定义的完整性:是针对某一具体关系数据库的约束条件,
反映了某一具体应用所涉及的数据必须满足的语义要求。

9.4 几种新型的数据库系统 (续)

分布式数据库
分布式数据库系统是在集中式数据库系统的基础上发展
来的。是数据库技术与网络技术结合的产物。分布式数
据库是由一组数据组成,这些数据在物理上分布在计算
机网络的不同结点上,逻辑在属于同一系统。
 两种类型的分布式数据库系统
1. 一种是物理上分布的,但逻辑上却是集中的。
2. 另一种分布式数据库系统在物理上和逻辑上都是分布的,
也就是所谓联邦式分布数据库系统。

9.4 几种新型的数据库系统 (续)
多媒体数据库
多媒体数据库是数据库技术与多媒体技术结合的
产物。
主要特征:

(1)多媒体数据库应该能够表示多种媒体的数据。
 (2)多媒体数据库应能够协调处理各种媒体数据。
 (3)多媒体数据库应提供比传统数据管理系统更强的适
合非格式化数据查询的搜索功能。

9.4 几种新型的数据库系统 (续)
并行数据库
并行数据库系统是数据库技术与并行计算技术相
结合的产物。
并行数据库系统是指在并行机上运行的具有并行
处理能力的数据库系统。
三种并行数据库系统的体系结构:

(1)共享内存(Shared-Memory)结构。
(2)共享磁盘(Shared-Disk)结构。
(3)无共享资源(Shard-Nothing)结构。
9.4 几种新型的数据库系统 (续)

演绎数据库
演绎数据库通常也被称为逻辑数据库、演绎关系数据
库或虚关系数据库。
演绎数据库是将逻辑程序设计思想和关系数据库思想
结合起来。
演绎数据库具有很强的推理能力,即根据已知的事实
和规则进行推理,从而解决用户提出的各种问题。
 演绎数据库的三方面内容:
实数据(事实)、规则和虚数据。
9.4 几种新型的数据库系统 (续)

主动数据库
主动数据库(Active Data Base)是相对于传
统数据库的被动性而言。是指在没有用户干预的情况
下,能够自动地对系统内部或外部所产生的事件做出
反应的数据库系统称为主动数据库。
主动数据库是在传统数据库基础上,结合人工
智能技术和面向对象技术而提出的。
主动数据库通常采用的方法是在传统数据库系
统中嵌入ECA(即事件—条件—动作)规则,在某
一事件发生时引发数据库管理系统去检测数据库当前
状态,看是否满足设定的条件,若条件满足,便触发
规定动作的执行。
9.4 几种新型的数据库系统 (续)

数据仓库
数据仓库是一个面向主题、集成、时变、非易失
的数据集合,支持管理部门的决策过程。
基本特征
(1)面向主题。
(2)数据仓库是集成的。
(3)数据仓库是不可更新的。
(4)数据仓库是随时间变化的。
 分类
企业数据仓库(EDW)、操作型数据库(ODS)和
数据市集(DataMart)

9.5 数据库系统的应用

事务处理系统
事务:是用户定义的一个操作序列,这些操作要么全做
要么全不做,是一个不可分割的工作单位。
 事务处理系统的任务就是保证整个事务或者完全成功,
或者什么也不做,返回到原始的状态。
 事务处理系统的ACID特性:
原子性(Atomicity)、一致性(Consistency)、
隔离性(Isolation)和持续性(Durability)

9.5 数据库系统的应用 (续)

管理信息系统
管理信息系统(Management Information System,
MIS)是一个以人为主导,利用计算机硬件、软件、网络
通信设备以及其他办公设备,进行信息的收集、传输、加
工、储存、更新和维护,以企业战略竞优、提高效益和
效率为目的,支持企业的高层决策、中层控制、基层运
作的集成化的人机系统。
 MIS组成
辅助决策系统(DSS)、工业控制系统(CCS)、
办公自动化系统(OA)以及数据库、模型库、方法库、
知识库和与上级机关及外界交换信息的接口。

9.5 数据库系统的应用 (续)

决策支持系统

决策支持系统是一种协助人们做决策的资讯系统,是在
管理信息系统(MIS)和运筹学的基础上发展起来的新
型计算机学科。以数据仓库和联机分析处理(OLAP)相
结合而建立的辅助决策系统是决策支持系统的新形式。
9.5 数据库系统的应用 (续)

联机分析处理系统
联机分析处理(On-Line Analytical Processing,
OLAP)使分析人员、管理人员或执行人员能够从多角度
对信息进行快速、一致、交互地存取,从而获得对数据
的更深入了解的一类软件技术。
 联机分析处理OLAP支持复杂的分析操作,侧重决策支持,
并且提供直观易懂的查询结果,是数据仓库系统的主要
应用。
 OLAP 分类:
基于多维数据库的MOLAP、基于关系数据库的
ROLAP、混合型HOLAP(Hybrid OLAP)

9.5 数据库系统的应用 (续)

数据挖掘系统
数据挖掘(Data Mining)是指从大量数据中提取或“挖
掘”知识 。
 从商业角度来说,数据挖掘是指一种新的商业信息处理
技术,其主要特点是对商业数据库中的大量业务数据进
行抽取、转换、分析和其他模型化处理,从中提取辅助
商业决策的关键性数据。
 从技术角度来说,数据挖掘就是指从大量的、不完全的、
有噪声的、模糊的、随机的实际应用数据中,提取隐含
在其中的、人们事先不知道的、但又是潜在有用的信息
和知识的过程。
 数据挖掘与传统的数据分析的本质区别:
数据挖掘是在没有明确假设的前提下去挖掘信息、
发现知识.数据挖掘所得到的信息应具有先未知,有效和
可实用三个特征。
