You are on page 1of 38

数据库 技术 基础

北京外国语大学国际商学院 杨纪成
第一章 数据库技术概述  
  数据库技术是计算机科学中发展最快的领域之一,也是应用最
广的技术之一,它已成为计算机信息系统与应用系统的核心技术和
重要基础。对于一个国家来说,数据库的建设规模、信息量大小和
使用频度已成为衡量这个国家信息化程度的重要标志。因此数据库
课程是计算机科学与技术专业、电子商务及信息管理等专业的基础
课程。数据库技术的重要性体现在理论与应用两个方面:
理论:
图灵奖最早设立于 1966 年,是美国计算机协会在计算机技术方
面所授予的最高奖项,被誉为“计算机界的诺贝尔奖”,主要授予
那些在计算机技术领域做出突出贡献、对计算机产业发展有长远和
重要影响的个人。迄今为止已有 41 位科学家获此殊荣。
1973 年图灵奖获得者:查尔斯 · 巴赫曼—“网状数据库之父”
1981 年图灵奖获得者:埃德加 · 科德—“关系数据库之父”
1998 年图灵奖获得者:吉姆 · 格雷—“ SQL 之父”
应用 :
近年来,随着多媒体技术、空间数据库技术和计算机
网络的飞速发展,数据库系统的发展十分迅速,应用领域
愈来愈广,事业单位、政府部门的行政管理、办公自动化
;企业生产计划管理;银行财务管理;铁路、民航飞机票
预定系统;铁路车次调度系统;宾馆、酒店房间预定系统
;卖场和超市订购与销售系统;医院病历管理;学校师资
、教学、学生学籍管理;图书馆管理;气象预报;地震,
勘探等大量数据的贮存和统计分析;公安部门罪犯档案管
理;地理信息系统;电子商务等等都离不开数据库系统。
第一节 数据管理技术的发展

1. 基本概念
数据 —是指对客观事物特征进行的一种抽
象化、符号化表示。数据可以是具体的数
字,也可以是文字、图形、图像、声音等

信息 —是指有一定含义的、经过加工的、
对决策有价值的数据。
数据 处理 —是指将数据转换成信息的过程。
也称信息处理。

数据 处理 信息

数据是信息的符号表示,或称作载体;信息是
数据的内涵 , 是数据的语义解释。
数据库 —是一组存储在计算机硬件设备上逻辑上相
关数据集合。这些数据主要用来描述一个或多个组
织的相关活动。

数据库作为一个数据集合具有以下特点:
2) 具有较小的冗余度
3) 较高的数据独立性和完整性

4) 可以供各种用户共享

这些是通过 DBMS 所支持的三级模式结构和


两级映象功能来实现的。
数据 库管 理系统 — 是位于用户与操作系统之间的一
层数据管理软件,其作用是科学、有效地组织和存
储数据,高效地获取和维护数据。
数据库管理系统( Database Management System ,简
称 DBMS )在数据库建立、运行和维护时对数据库进行统一管
理和控制,使用户能方便地定义数据和操纵数据,并能够保
证数据的安全性、完整性,在多个用户同时使用数据库时进
行并发控制,在发生故障后对系统进行恢复。
数据库 管理系统的 主要功能包括 :
• 数据定义 功能
• 数据操纵 功能
• 数据控制 功能
• 数据库的 建立和维护 功能

数据 库系 统 —是指在计算机系统中引入数据库后的系
统构成,一般由硬件系统、数据库集合、数据库管
理系统及相关软件、数据库管理员和用户构成。
2. 数据管理技术的发展阶段

数据管理是指对数据的分类、组织、编码、储存、检索
和维护 , 它是数据处理的的核心。

人工管理阶段 文件系统阶段
( 50 年代中期以前 ( 50 年代后期 -60 年代中后期
) )

分布式数据库系统阶段 数据库系统阶段
( 70 年代后期) ( 60 年代后期)

图 1-
1
1 )人工 管理阶 段
该阶段没有直接存取设备、也没有操作系统及管理数据的软
件,数据处理方式是批处理。
该阶段具有如下特点:
• 数据不保存;
• 没有文件概念,由应用程序管理数据;
• 数据不共享;
• 数据不具有独立性。

应用程序 数据集
1 1

应用程序 数据集
2 2

应用程序 数据集
图 1-
n n
2
2 )文件 系统阶 段
出现了直接存取设备,在操作系统中出现了管理存放在外部存
储设备上数据的子系统—— 文件系统。
该阶段具有如下特点:
a. 数据可以长期保存;
b. 由文件系统管理数据;
c. 数据和应用程序有一定的独立性 ;
d. 数据共享性差,冗余度大。

文件系
程序
分 存
数据 程序文件
离 数据文件 取

图 1-3
3 )数据 库系统 阶段
为解决多用户共享数据的需求,使数据为尽可能多的应用
服务,数据库技术应运而生。
数据库系统的特点:
a. 数据结构化,这是数据库系统与文件系统的根本区别
b. 数据共享性高、冗余度小、易扩充
c. 数据独立性高。

应用程序 1
数据
应用程序 2 管理系统
数据
… DBMS

应用程序 n
数据独立性包括数据的物理独立性和数据的逻辑独立性。
物理 独立性 是指用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的。
数据在磁盘上如何存储是由 DBMS 管理的,用户程序不需要了解,应用程序处理
的只是数据的逻辑结构,这样当数据的物理存储改变了, 应用程序不用改变。
逻辑 独立性 是指用户的应用程序与数据的逻辑结构是相互独立的,也就是说,数
据的逻辑结构改变了,用户程序可以不变。
数据与程序的独立,把数据的定义从程序中分离出去,加上数据的存取由 DBMS 负
责,从而简化了应用程序的编制,大大减少了应用程序的维护和修改。

a. 统一的数据管理和控制功能
a) 数据的安全性 (Security) 保护
b) 数据的完整性 (Integrity) 控制
c) 并发控制( Concurrency )
d) 数据库恢复( Recovery )

b. 数据的最小存取单位是数据项
4 )分布 式数据 库系 统阶段

70 年代后期,随着 算机网 的 用,数据 系 从集中式


展到分布式,从主机 - 终端系统结构发展到客户 / 服务器系统结

构( C/S )。
分布式数据库就是把数据分散存储在多个网络节点的
数据库中,这些节点在地理上处于不同的地点,彼此间靠通信线
路来连接。例如:银行业务、飞机订票等。分布式数据库既能实
现不同地点的用户对数据的共享,又能减少使用集中式数据库时
难以避免的通信开销

这一时期数据管理的特点:
a. 分布透明性。设计分布式数据库的一个重要目标,就是对用户来说,
它应该象一个集中式数据库系统一样工作。
b. 可靠性和可用性。减少数据的冗余度是集中式数据库的目标之一,而
在分布式系统中则支持一定程度的数据副本,以减少通信代价,改善
系统性能,提高系统可用性和可靠性。
人工管理阶段 文件系统阶段 数据库系统阶段
应用背景 科学计算 科学计算、管理 大规模管理
硬件背景 无直接存储设备 磁盘、磁鼓 大容量磁盘

景 软件背景 没有操作系统 有文件系统 有数据库管理系统
联机实时处理、批处 联机实时处理、 分布
处理方式 批处理
理 处理批处理
数据管理者 用户(程序员) 文件系统 数据库管理系统
数据面向对象 某一应用程序 某一应用程序 整个应用系统
数据共享程度 无共享,冗余度极大 共享性差,冗余度大 共享性高,冗余度小
特 数据独立性 不独立,完全依赖于 具有高度的物理独立性
独立性差
点 程序 和逻辑独立性
记录内有结构,整体 数据结构化,用数据模
数据结构 无结构
无结构 型描述
由数据库管理系统提供
数据控制能力 应用程序自己控制 应用程序自己控制
数据管理和控制功能
3. 数据库技术的发展阶段

数据库系统由硬件系统、数据库集合、数据库管理系统及相关软件、
数据库管理员和用户组成。
数据库 技术的发 展经历了三 个阶段 :

第一代数据库系统,即层次数据库系统和网状数据库系统,主要支持
层次和网状数据模型。该数据库系统的特点:
– 支持三级抽象模式的体系结构;
– 用指针来表示数据之间的联系;
– 数据定义语言和数据操纵语言相对独立;
– 数据库语言采用过程性语言。
第二代数据库系统,即关系数据库系统,主要支持关系数据模型。该
数据库系统的主要特点:
– 概念单一化,数据及其数据间的联系都用关系来表示;
– 以关系代数为理论基础;
– 数据独立性强;
– 数据库语言采用说明性语言,简化了编程难度。
第三代数据库系统,即面向对象数据库系统。该数据库系统的特点:
– 支持包括数据、对象和知识的管理;
– 引入面向对象技术;
– 对其他系统开放,具有良好的可移植性、可连接性、可扩展性和可互操作性

第二节 数据模型

客观事物 抽象 概念模型 数据化 数据模型

将现实 世界 中的客观事物抽象为概念模 型再在计算机上实现



  模型是对现实世界的模拟和抽象。数据模型也是一种模型,它是对现实世
界数据特征的抽象。
根据模型应用的不同,可以将模型分为两类:
• 概念模型,它是按照用户的观点对数据建模,主要用于数据库设计。
• 数据模型,是按照计算机系统的观点对数据建模,主要用于 DBMS 的实
现。数据模型通常是由数据结构、数据操作和完整性约束三个要素组成。
数据模 型的三 要素 :
1 )数据结 构
数据结构:是所研究的对象类型的集合。这些对象是数据库的组成成分,是
对系统静态特性的描述。
数据结构是刻画一个数据模型性质最重要的方面,不同的数据模型具有不同
的数据结构形式。
2 )数据操 作
数据操作:是指对数据库中各种对象(型)的实例(值)允许执行的操作的
集合,包括操作及有关的操作规则,是对系统动态特性的描述。
数据库主要有检索和更新(包括插入、删除、修改)两大类操作。数据模型
必须定义这些操作的确切含义、操作符号、操作规则(如优先级)以及实现操
作的语言。
3 )数据的约 束条 件
数据的约束条件:是一组完整性规则的集合。完整性规则是给定的数据模型
中数据及其联系所满足的制约和依存规则,用以限定符合数据模型的数据库状
态以及状态的变化,以保证数据的正确、有效、相容。此外,数据模型还应该
提供定义完整性约束条件的机制,反映具体应用所涉及的数据必须遵守的特定
的语义约束条件。
DBMS 所支持的数据模型分为四种:层次模型
、网 状模型 、关系模型 、面 向对象 模型 。其中 第
四种数据模型目前并未成熟,因此传统的说法有
三种数据模型。
层次数据模型
层次模型是数据库系统中最早出现的数据模型,它用树形结构
表示各类实体以及实体间的联系。层次数据模型的优点主要有:
– 层次数据模型比较简单
– 对于实体间联系是固定的,且预先定义好的应用系统,采用
层次模型来实现,其性能优于关系模型
– 层次数据模型提供了良好的完整性支持
层次数据模型的缺点:
– 对插入和删除操作的限制比较多
– 由于结构严密,层次命令趋于程序化
网状数 据模型
  用网 状结 构表示 实体 及其之 间的联 系的 模型称
为网状数 据模 型。

网状数据模型的优点主要有:
– 能够更为直接地描述现实世界
– 具有良好的性能,存取效率较高
网状数据模型的缺点主要有:
– 其数据定义语言 DDL ,数据操纵语言 DML 极其复杂
– 结构比较复杂,不利于最终用户掌握

层次模型和网状模型从本质上都是一样的,都存在以下缺陷:
难以实现系统扩充,数据操纵语言复杂。
关系数 据模型
80 年代关系模型逐步代替网状模型和层次模型,把数据组织成
表的结构,所以关系数据模型是用表格形式结构来表示实体以及实
体之间联系的。

关系数据模型具有下列优点:
– 关系模型是建立在严格的数学概念的基础上的。
– 由于实体之间的联系是用关系来表示,所以关系数据模型的
概念单一,数据结构简单、清晰,用户易懂易用。
– 关系模型的存取路径对用户透明,从而具有更高的数据独立
性,更好的安全保密性。
关系数据模型最主要的缺点是:由于存取路径对用户透明,查
询效率往往不如非关系数据模型,因此为了提高性能,必须对用户
的查询请求进行优化,增加了开发数据库管理系统的负担。
关系数据模型的数据结构

一个关系模型的逻辑结构是一张二维表,它由行和列组成。关
系模型要求关系必须是规范化的,最基本的条件就是,关系的每一
个分量必须是一个不可分的数据项,即不允许表中还有表。
学 号 姓 名 年 龄 性 别 院 ( 系 ) 籍 贯 年 级
97001 李 明 20 男 计 算 机 江 苏 97
97002 张 灵 19 女 管 理 科 学 湖 南 97
97003 王 鹏 21 男 机 械 工 程 北 京 97
… … … … … …

非规范化关系
研究生
导师 专业
研究生1 研究生2
李清 管理 李华 刘颖
刘涛 管理 杨敏
关系数据模型的操纵与完整性约束

1. 关系数据模型的操纵主要包括查询、插入、删除和更新数据,这
些操作必须满足关系的完整性约束条件。
2. 关系的完整性约束条件包括三大类:实体完整性、参照完整性和
用户定义的完整性。

关系数据模型的存储结构

关系数据模型中,实体及实体间的联系都用表来表示。在数据
库的物理组织中,表以文件形式存储,每一个表通常对应一种文件
结构。
第三节 数据库系 统

数据库系统的组成:一个数据库系统包括四个主要部分:数据库、
硬件系统、软件系统和用户。

数据库 :是存储在计算机内的有组织的综合性的数据集合。
硬件系 统:是存储和运行数据库系统的硬件设备。
软件系 统:主要包括支持 DBMS 运行的操作系统及 DBMS 本身,还包
括高级语言和相应的编译软件以及一些应用开发工具软件。在软件系
统中,数据库系统的各类用户、应用程序等对数据库的各种操作都是
通过 DBMS 来完成,因此说 DBMS 是数据库系统的核心。
用户 :是使用和管理数据库的人。他们可以对数据库进行检索、存
储和维护等操作。数据库系统中有三大类主要的用户:终端用户、应
用程序员和数据库管理员 DBA 。
设计数据库时,强调的是数据库的结构;应用数据库时,关心
的是数据库中的数据。数据库中的数据经常变化,而数据库的结构
则具有相对的稳定性。

模式:是数据库中全体数据的逻辑结构和特征的描述。
实例:模式的一个具体值称为模式的一个实例。
模式是相对稳定的,它反映的是数据的结构及其联系;而实
例是相对变动的,反映的是数据库某一时刻的状态。
数据 库系 统的三级 模式 结构

要使一个数据库系统能够有效地运行,必须有效地对数据进行
存储,这就导致了相当复杂的数据结构。为了方便用户,必须采用
某种方法屏蔽掉一些复杂的细节,简化用户与系统的交互行为。数
据库系统的三级模式结构就是因此而产生。
数据库系统的三级模式结构是指数据库系统是由外模式、逻辑
模式和内模式三级抽象模式构成,这是数据库系统的体系结构。三
级抽象模式在数据库系统中都存储于数据库系统的数据字典中,是
数据字典的最基本的内容,数据库管理系统通过数据字典来管理和
访问数据模式。
外模式

外模式也称用户模式,它是数据库用户能够看见和使用的局部
数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某
一应用有关的数据的逻辑表示。
外模式通常是逻辑模式的子集。一个数据库可以有多个外模式。
由于它是各个用户的数据视图,如果不同的用户在应用需求、看待
数据的方式、对数据的保密性方面存在差异,则其外模式描述是不
同的。
外模式是保证数据安全性的一个有力措施。每个用户只能看见
和访问所对应的外模式中的数据,数据库中的其余数据不可见的。
逻辑模 式

逻辑模式是数据库中全体数据的逻辑结构和特征的描述,是所
有用户的公共数据视图。它是数据库系统模式结构的中间层,与数
据的物理存储细节和硬件环境无关,也与具体的应用程序无关。
一个数据库只有一个逻辑模式。数据库逻辑模式以某一种数据
模型为基础,统一综合地考虑了所有用户的需求,并将这些需求有
机地结合成一个逻辑整体。定义模式时,不仅要定义数据的逻辑结
构,例如:数据记录由哪些数据项组成,数据项的名称类型、类型
、取值范围等,而且要定义数据之间的联系,定义与数据相关的安
全性、完整性要求等。
内模式
内模式也称存储模式,一个数据库只有一个内模式。它是数据
物理结构和存储方式的描述,是数据库内部的表示方法。

数据库的 二级 映象功 能
数据库系统的三级模式是对数据的三个抽象级别,为了能够在
内部实现这三个抽象层次的联系和转换,数据库管理系统在这三级
模式之间提供了两层映象:
– 外模式 / 逻辑模式映象
– 逻辑模式 / 内模式映象
外模式 / 逻辑模式 映象
对应于同一个逻辑模式可以有任意多个外模式。对于每一个外
模式,数据库系统都有一个外模式 / 逻辑模式映象,它定义该外模
式与逻辑模式之间的对应关系。

数据的 逻辑独 立性

当逻辑模式改变时,则数据库管理员对各个外模式 / 逻辑模式
的映象作相应改变,可以使外模式保持不变,由于应用程序是依据
数据的外模式编写的,从而应用程序不必修改,保证了数据与程序
的逻辑独立性,简称数据的逻辑独立性。
逻辑模 式 / 内模式 映象
数据库中只有一个逻辑模式,也只有一个内模式,所以逻辑模
式 / 内模式映象是唯一的,它定义数据库全局逻辑结构与存储结构
之间的对应关系。

数据的 物理 独立性
当数据库的存储结构发生改变时,由数据库管理员对逻辑模式
/ 内模式映象作相应改变,可以使逻辑模式保持不变,从而应用程序
也不必改变,保证了数据与程序的物理独立性,简称数据的物理独
立性。
数据库 系统的 三级 模式结 构

用户 1 用户 2

外模式 1 外模式 2

外模式 / 逻辑模式映

逻辑模式
逻辑模式 / 内模式映

内模式

数据库
数据库 管理 系统
数据库管理系统( DBMS )是数据库系统的核心,是为数据库的
建立、使用和维护而配置的软件,它建立在操作系统的基础上,是
位于操作系统与用户之间的一层数据管理软件。
用户对数据库的一切操作,都是通过 DBMS 来进行的,通常需要
以下四个步骤:
( 1 )用户使用某种数据子语言(如 SQL )发出数据访问请求;
( 2 ) DBMS 接受访问请求并进行分析;
( 3 ) DBMS 依次检查用户外模式、相应的外模式 / 逻辑模式映象、
逻辑模式、逻辑模式 / 内模式映象及存储结构定义;
( 4 ) DBMS 对数据库执行必要的操作。
数据库管 理系 统的组 成

• 数据定义语言及其翻译处理程序。 DBMS 提供数据定义语言 DDL


供用户定义数据库的逻辑模式、存储模式、外模式、各级模式
间的映射、有关的约束条件等。
• 数据操纵语言及其翻译程序。 DBMS 提供了数据操纵语言 DML 实
现对数据库的检索、插入、修改、删除等基本操作。 DML 分为
自主型 DML 和宿主型 DML 两类。
– 自主型语言:可以独立使用,不依赖于其它任何程序设计语言。
如 : Foxpro 提供的 DML 。
– 宿主型语言:嵌入到宿主语言中使用,如嵌入到 C 程序设计语言
中。
• 数据库运行控制程序。 DBMS 提供了一些系统运行控制程序负
责数据库运行过程中的控制与管理。
• 实用程序。数据库用户可以利用某些实用程序完成数据库的建
立与维护,以及数据格式的转换与通信。
设计 优良 的 DBM S 应该具 备的条 件:

–友好的用 户界 面
–比较完备 的功 能
–较高的运 行效 率
–清晰的系 统结 构
–开放性
所谓开放 性是 指数据 库设 计人员 能够 根据自 己
的特殊需 要, 方便地 在一个 DBM S 中加入 一些 新的工
具模块, 这些 外来的 工具模 块可 以与该 DBM S 紧密结
合,一起 运行 。
本章小结

1. 本章概述了数据库的基本概念,并通过对数据管理进展情况的
介绍,阐述了数据库技术产生和发展的背景,说明了数据库系
统的优点。
• 数据模型是数据库系统的基础。本章介绍了概念模型、数据模
型的三个要素和三种主要的数据库模型。
• 数据库系统的组成以及数据库系统三级模式和两层映象的系统
结构保证了数据库系统中能够具有较高的逻辑独立性和物理独
立性。

学习 方法:学习这一章应把注意力放在掌握基本概念和基本知
识方面,为进一步学习以后章节打好基础。本章新概念较多,
如果是刚开始学习数据库,可在学习后面章节后再回来理解和
掌握这些概念。

You might also like