3.4关系数据库语言SQL92. 3.4.1SQL概貌. 53 3.4.2SQL数据定义功能 55 3.4.3SQL数据操纵功能 .58 3.4.4SQL的更新功能 69 3.4.5视图 70 习题三… 72 第三章复习指导. 76 第四章数据库的安全性与完整性保护, 78 4.1数据库的安全性保护 78 4.1.1数据库的安全与安全数据库. 78 4.1.2数据库安全的基本概念与内容 79 4.1.3数据库的安全标准 81 4.1.3SQL对数据库安全的支持 83 4.2数据库的完整性保护 .85 4.2.1数据库完整性保护的功能。 85 4.2.2完整性规则的三个内容 85 4.2.3完整性约束的设置、检查与处理 86 4.2.4触发器. 88 习题四… .89 第四章复习指导 91 第五章事务处理、并发控制与故障恢复技术 92 5.1事务处理 .92 5.1.1事务. .92 5.1.2事务的性质 .93 5.1.3事务活动. 93 5.1.4有关事务的语句. 93 5.2并发控制技术 94 5.2.1事务的并发执行 94 5.2.2封锁.… 97 5.2.3封锁协议 98 5.2.4两阶段封锁协议 .99 5.2.5封锁粒度. .100 5.2.6活锁与死锁」 .101 5.3数据库恢复技术 101 5.3.1概述 101 5.3.2数据库故障分类 102 5.33数据库故障恢复三大技术 .102 5.34恢复策略 .103 2
2 3.4 关系数据库语言 SQL’92.................................................................................................. 53 3.4.1 SQL 概貌................................................................................................................. 53 3.4.2 SQL 数据定义功能..............................................................................................55 3.4.3 SQL 数据操纵功能..............................................................................................58 3.4.4 SQL 的更新功能..................................................................................................69 3.4.5 视图.......................................................................................................................70 习题三.......................................................................................................................................72 第三章复习指导.......................................................................................................................76 第四章 数据库的安全性与完整性保护....................................................................................... 78 4.1 数据库的安全性保护......................................................................................................78 4.1.1 数据库的安全与安全数据库.............................................................................. 78 4.1.2 数据库安全的基本概念与内容.......................................................................... 79 4.1.3 数据库的安全标准...............................................................................................81 4.1.3 SQL 对数据库安全的支持..................................................................................83 4.2 数据库的完整性保护......................................................................................................85 4.2.1 数据库完整性保护的功能.................................................................................. 85 4.2.2 完整性规则的三个内容...................................................................................... 85 4.2.3 完整性约束的设置、检查与处理...................................................................... 86 4.2.4 触发器...................................................................................................................88 习题四.......................................................................................................................................89 第四章复习指导.......................................................................................................................91 第五章 事务处理、并发控制与故障恢复技术.......................................................................... 92 5.1 事务处理..........................................................................................................................92 5.1.1 事务.......................................................................................................................92 5.1.2 事务的性质...........................................................................................................93 5.1.3 事务活动...............................................................................................................93 5.1.4 有关事务的语句...................................................................................................93 5.2 并发控制技术..................................................................................................................94 5.2.1 事务的并发执行...................................................................................................94 5.2.2 封锁.......................................................................................................................97 5.2.3 封锁协议...............................................................................................................98 5.2.4 两阶段封锁协议...................................................................................................99 5.2.5 封锁粒度.............................................................................................................100 5.2.6 活锁与死锁.........................................................................................................101 5.3 数据库恢复技术............................................................................................................101 5.3.1 概述.....................................................................................................................101 5.3.2 数据库故障分类.................................................................................................102 5.3.3 数据库故障恢复三大技术................................................................................ 102 5.3.4 恢复策略.............................................................................................................103
习题五… .104 第五章复习指导… .105 第六章数据库中的数据交换 .106 6.1概述 106 6.1.1数据交换模型 ..106 6.1.2数据交换的五种方式 106 6.2数据交换的管理 108 6.2.1会话管理 .108 6.2.2连接管理. .110 6.2.3游标管理 110 62.4诊断管理. .111 62.5动态SQL .111 6.3数据交换的流程 112 6.4数据交换的四种方式。 .113 6.4.1 嵌入式SQL .113 6.4.2自含式SQL .115 6.4.3调用层接口 118 6.4.4Web方式… 119 习题六. 120 第六章复习指导 .121 *第七章数据库的物理组织」 .122 7.1概论. 122 7.2数据库的物理存储介质 .122 7.3磁盘存储器及其结构 ..123 7.4文件组织 125 7.4.1文件记录与磁盘块 125 7.4.2文件的定长记录与变长记录 126 7.5文件记录组织… …126 7.6索引技术与散列技术 .127 7.7.1索引技术 .128 7.7.2索引技术中的B*树 .131 7.7.3散列技术 .133 7.7数据库与文件… .134 7.7.1数据库中数据分类 .134 7.72数据库存储空间组织. 135 习题七… 136 第七章复习指导… 137 第八章关系数据库规范化理论 .138 8.1概述 ..138
3 习题五.....................................................................................................................................104 第五章复习指导.....................................................................................................................105 第六章 数据库中的数据交换.....................................................................................................106 6.1 概述................................................................................................................................106 6.1.1 数据交换模型.....................................................................................................106 6.1.2 数据交换的五种方式........................................................................................ 106 6.2 数据交换的管理..............................................................................................................108 6.2.1 会话管理...............................................................................................................108 6.2.2 连接管理.............................................................................................................110 6.2.3 游标管理.............................................................................................................110 6.2.4 诊断管理.............................................................................................................111 6.2.5 动态 SQL............................................................................................................ 111 6.3 数据交换的流程............................................................................................................112 6.4 数据交换的四种方式....................................................................................................113 6.4.1 嵌入式 SQL........................................................................................................ 113 6.4.2 自含式 SQL........................................................................................................ 115 6.4.3 调用层接口.........................................................................................................118 6.4.4 Web 方式.............................................................................................................119 习题六.....................................................................................................................................120 第六章复习指导.....................................................................................................................121 *第七章 数据库的物理组织....................................................................................................... 122 7.1 概论................................................................................................................................122 7.2 数据库的物理存储介质................................................................................................122 7.3 磁盘存储器及其结构....................................................................................................123 7.4 文件组织........................................................................................................................125 7.4.1 文件记录与磁盘块.............................................................................................125 7.4.2 文件的定长记录与变长记录............................................................................ 126 7.5 文件记录组织................................................................................................................126 7.6 索引技术与散列技术....................................................................................................127 7.7.1 索引技术.............................................................................................................128 7.7.2 索引技术中的 B +树...........................................................................................131 7.7.3 散列技术.............................................................................................................133 7.7 数据库与文件................................................................................................................134 7.7.1 数据库中数据分类.............................................................................................134 7.7.2 数据库存储空间组织........................................................................................ 135 习题七.....................................................................................................................................136 第七章复习指导.....................................................................................................................137 第八章 关系数据库规范化理论................................................................................................. 138 8.1 概述................................................................................................................................138
8.2规范化理论 140 8.2.1函数依赖.… 140 8.2.2与函数依赖有关的范式. 143 8.2.3多值依赖与第四范式 147 8.2.4小结 ..150 8.3规范化所引起的一些问题 150 8.4关系数据库规范化的非形式化判别法 15l 习题八 15 第八章复习指导 153 第九章数据库设计 154 9.1数据库设计概述 154 9.2数据库设计的需求分析. 155 9.2.1需求调查 .155 9.2.2需求分析. .155 9.2.3数据需求分析说明书 157 9.3数据库的概念设计.… .159 9.3.1数据库概念设计概述 159 9.3.2数据库概念设计的过程…159 9.3.3数据库概念设计说明书.」 .163 9.4数据库的逻辑设计……。 .164 9.4.1数据库逻辑设计基本方法 …164 9.4.2关系视图设计 .166 9.4.3数据库逻辑设计说明书」 167 9.5数据库的物理设计.… 167 9.5.1存取方法设计 .168 9.5.2存贮结构设计 169 9.5.3数据库物理设计说明书 .169 习题九… ..170 第九章复习指导 172 第十章数据库管理 .174 10.1数据库管理概述 .174 10.2数据库管理的内容 ..174 10.3数据库管理员DBA ..178 习题十… .179 第十章复习指导. 180 参考文献18 4
4 8.2 规范化理论....................................................................................................................140 8.2.1 函数依赖.............................................................................................................140 8.2.2 与函数依赖有关的范式.................................................................................... 143 8.2.3 多值依赖与第四范式........................................................................................ 147 8.2.4 小 结...................................................................................................................150 8.3 规范化所引起的一些问题............................................................................................150 8.4 关系数据库规范化的非形式化判别法....................................................................... 151 习题八.....................................................................................................................................151 第八章复习指导.....................................................................................................................153 第九章 数据库设计......................................................................................................................154 9.1 数据库设计概述............................................................................................................154 9.2 数据库设计的需求分析................................................................................................155 9.2.1 需求调查.............................................................................................................155 9.2.2 需求分析.............................................................................................................155 9.2.3 数据需求分析说明书........................................................................................ 157 9.3 数据库的概念设计........................................................................................................159 9.3.1 数据库概念设计概述........................................................................................ 159 9.3.2 数据库概念设计的过程.................................................................................... 159 9.3.3 数据库概念设计说明书.................................................................................... 163 9.4 数据库的逻辑设计........................................................................................................164 9.4.1 数据库逻辑设计基本方法................................................................................ 164 9.4.2 关系视图设计.....................................................................................................166 9.4.3 数据库逻辑设计说明书.................................................................................... 167 9.5 数据库的物理设计........................................................................................................167 9.5.1 存取方法设计.....................................................................................................168 9.5.2 存贮结构设计.......................................................................................................169 9.5.3 数据库物理设计说明书.................................................................................... 169 习题九.....................................................................................................................................170 第九章复习指导.....................................................................................................................172 第十章 数据库管理.....................................................................................................................174 10.1 数据库管理概述............................................................................................................174 10.2 数据库管理的内容........................................................................................................174 10.3 数据库管理员 DBA...................................................................................................... 178 习题十.....................................................................................................................................179 第十章复习指导.....................................................................................................................180 参 考 文 献...................................................................................................................................181
第一章数据库系统概述 本章主要介绍数据库系统的基本概况,包括基本概念、特点与基本内容,本章对全书 内容具有提纲契领的作用。 1.1基本概念 计算机科学与技术的发展,计算机应用的深入与拓展,使得数据库在计算机领域中的 地位与作用日益重要,它在商业中、事务处理中占有主导地位,近年来在工程领域、多媒 体领域等非事务处理领域中以及分析领域中的地位与作用也变得十分重要。随着网络应用 的普及,它在网络中的应用也日渐重要,因此,数据库己成为构成一个计算机应用系统的 重要支撑。本书以数据库为核心对其基本原理、应用及新技术作全面的介绍。 首先,本节将对与数据有关的六个基本概念作介绍,它们是数据、数据库、数据库管 理系统、数据库管理员、数据库系统及数据库应用系统。 1.数据(data) 1)什么是数据 数据是现实世界中客体在计算机中的抽象表示,具体的说,它是一种存储于计算机内 的符号串。 2)数据的特性 数据有下面五个特性: (1)数据表现形式的多样性 从表现形式看,数据表现的形式很多,除常用的数字、文字、时间等表示形式外,还 包括图像、图形、语言、视频等多媒体数据以及表示知识、规则、数学符号及推理等抽象 数据,数据表现形式多样性为数据的应用提供了有力的基础。 (2)数据的可构造性 从结构看,数据分为结构化数据(structured data)、半结构化数据(semistructred data) 与非结构化数据(non-structured data)。所谓非结构化数据即表示符号串是不规则结构形式, 所谓半结构化数据即表示符号串呈半规则结构形式,如文件中之流式文件,如互联网中的 Wb结构等均属非结构化及半结构化形式。而在软件中的数据大多是有结构的,它们称结 构化数据。首先,结构化数据有型(type)与值(value)之分,数据的型给出了数据表示 的类型如整型、实型、字符型等,而数据的值给出了符合给定型的数值。随着应用需求的 扩大,数据的型有了进一步的扩大,它包括了将多种相关数据以一定结构方式组合构成特 定的数据框架称为数据结构(data structure),具有统一结构形式的数据结构的具体描述可 称为数据模式(data schema)。 (3)数据的挥发性与持久性 从存储时间看,数据一般分为两部分,其中一部分与程序仅有短时间的交互关系,随 着程序的结束而消亡,它们称为临时性数据或挥发性(transient)数据。这类数据一般存放 于计算机内存中:而另一部分数据则对系统起着长期持久的作用,它们称为持久性 (persistent)数据,这类数据一般存放于计算机中的次级存储器内(如磁盘)。 (4)数据的私有性与共享性
1 第一章 数据库系统概述 本章主要介绍数据库系统的基本概况,包括基本概念、特点与基本内容,本章对全书 内容具有提纲契领的作用。 1.1 基本概念 计算机科学与技术的发展,计算机应用的深入与拓展,使得数据库在计算机领域中的 地位与作用日益重要,它在商业中、事务处理中占有主导地位,近年来在工程领域、多媒 体领域等非事务处理领域中以及分析领域中的地位与作用也变得十分重要。随着网络应用 的普及,它在网络中的应用也日渐重要,因此,数据库已成为构成一个计算机应用系统的 重要支撑。本书以数据库为核心对其基本原理、应用及新技术作全面的介绍。 首先,本节将对与数据有关的六个基本概念作介绍,它们是数据、数据库、数据库管 理系统、数据库管理员、数据库系统及数据库应用系统。 1.数据(data) 1)什么是数据 数据是现实世界中客体在计算机中的抽象表示,具体的说,它是一种存储于计算机内 的符号串。 2)数据的特性 数据有下面五个特性: (1)数据表现形式的多样性 从表现形式看,数据表现的形式很多,除常用的数字、文字、时间等表示形式外,还 包括图像、图形、语言、视频等多媒体数据以及表示知识、规则、数学符号及推理等抽象 数据,数据表现形式多样性为数据的应用提供了有力的基础。 (2)数据的可构造性 从结构看,数据分为结构化数据(structured data)、半结构化数据(semistructred data) 与非结构化数据(non-structured data)。所谓非结构化数据即表示符号串是不规则结构形式, 所谓半结构化数据即表示符号串呈半规则结构形式,如文件中之流式文件,如互联网中的 Web 结构等均属非结构化及半结构化形式。而在软件中的数据大多是有结构的,它们称结 构化数据。首先,结构化数据有型(type)与值(value)之分,数据的型给出了数据表示 的类型如整型、实型、字符型等,而数据的值给出了符合给定型的数值。随着应用需求的 扩大,数据的型有了进一步的扩大,它包括了将多种相关数据以一定结构方式组合构成特 定的数据框架称为数据结构(data structure),具有统一结构形式的数据结构的具体描述可 称为数据模式(data schema)。 (3)数据的挥发性与持久性 从存储时间看,数据一般分为两部分,其中一部分与程序仅有短时间的交互关系,随 着程序的结束而消亡,它们称为临时性数据或挥发性(transient)数据。这类数据一般存放 于计算机内存中;而另一部分数据则对系统起着长期持久的作用,它们称为持久性 (persistent)数据,这类数据一般存放于计算机中的次级存储器内(如磁盘)。 (4)数据的私有性与共享性
从其使用对象看,数据可分为私有性与共享性两种。为特定应用(程序)服务的数据 称私有(private)数据,而为多个应用(程序)服务的数据则称为共享(share)数据。 (5)数据的海量性 从其存储数量看,数据可分为小量、大量及海量三种。数据的量是衡量与区别数据的 重要标志,这主要是由于数据“量”的变化可能会引起数据“质”的变化。数据量由小变 大后,数据就需要进行管理,需要保护与控制。目前数据以海量数据为多见,因此一般数 据均需管理、保护与控制。 随着技术的进步与应用的扩大,数据的特性都在发生变化,这些变化主要表现为: (1)数据的量由小量到大量进而到海量: (2)数据的组织由非结构化到结构化: (3)数据的服务范围由私有到共享: (4)数据的存储周期由挥发到持久。 数据的这些变化使得现代数据具有以海量的、结构化的、持久的和共享的特点,本书 如不作特别说明,所提数据即具此四种特性。 下面我们讨论数据与其它几个重要概念间的关系,它们是数据与软件及数据与信息间的 关系。 3)数据与软件(software) 首先讨论软件,我们说软件是计算机科学与技术的一大门类,它是建立在计算机硬件 之上的一种运行(或处理)实体。软件一般由程序与数据两部分组成,其中程序给出了运 行的过程而数据则给出了运行的对象与结果。 软件 数据 程序 数据 图11程序与数据关系示意图 在软件中数据(主要指其结构)是其最稳定部分,而程序则是可变部分,因此数据称 为软件中的不动点(fixed point),它在软件中起着基础性的作用。 软件发展至今,程序与数据间的不同关系形成了目前流行的两种结构方式: (1)以程序为中心的结构:在此种软件结构中以程序为中心以数据为辅助,即每个 程序有若干个数据为其支撑,它们构成了如图1.2(a)所示结构。 (2)以数据为中心的结构:在此种软件结构中以数据为中心以程序为辅助,即以一 个数据集合为中心围绕它有若干个程序对数据作处理,它们构成了如图1.2(b)所示结构。 在目前,大多数软件结构采用以数据为中心的结构。 数据 数据 程序 、程序 数据 程序 数据 程序 数据 数据 程序 程序 数据 数据 程序 程序 (a) (b) 图12软件两种结构图
2 从其使用对象看,数据可分为私有性与共享性两种。为特定应用(程序)服务的数据 称私有(private)数据,而为多个应用(程序)服务的数据则称为共享(share)数据。 (5)数据的海量性 从其存储数量看,数据可分为小量、大量及海量三种。数据的量是衡量与区别数据的 重要标志,这主要是由于数据“量”的变化可能会引起数据“质”的变化。数据量由小变 大后,数据就需要进行管理,需要保护与控制。目前数据以海量数据为多见,因此一般数 据均需管理、保护与控制。 随着技术的进步与应用的扩大,数据的特性都在发生变化,这些变化主要表现为: (1)数据的量由小量到大量进而到海量; (2)数据的组织由非结构化到结构化; (3)数据的服务范围由私有到共享; (4)数据的存储周期由挥发到持久。 数据的这些变化使得现代数据具有以海量的、结构化的、持久的和共享的特点,本书 如不作特别说明,所提数据即具此四种特性。 下面我们讨论数据与其它几个重要概念间的关系,它们是数据与软件及数据与信息间的 关系。 3)数据与软件(software) 首先讨论软件,我们说软件是计算机科学与技术的一大门类,它是建立在计算机硬件 之上的一种运行(或处理)实体。软件一般由程序与数据两部分组成,其中程序给出了运 行的过程而数据则给出了运行的对象与结果。 图 1.1 程序与数据关系示意图 在软件中数据(主要指其结构)是其最稳定部分,而程序则是可变部分,因此数据称 为软件中的不动点(fixed point),它在软件中起着基础性的作用。 软件发展至今,程序与数据间的不同关系形成了目前流行的两种结构方式: (1)以程序为中心的结构:在此种软件结构中以程序为中心以数据为辅助,即每个 程序有若干个数据为其支撑,它们构成了如图 1.2(a)所示结构。 (2)以数据为中心的结构:在此种软件结构中以数据为中心以程序为辅助,即以一 个数据集合为中心围绕它有若干个程序对数据作处理,它们构成了如图 1.2(b)所示结构。 在目前,大多数软件结构采用以数据为中心的结构。 软件 数据 程序 数据 数据 数据 数据 数据 数据 数据 数据 程序 程序 程序 程序 程序 程序 程序 程序 数据 (a) (b) 图 1.2 软件两种结构图