第1章 数据库系统概述 1
1.1 数据库技术的产生与发展 1
1.1.1 数据管理的发展 1
1.1.2 数据和数据管理技术 2
1.1.3 数据库系统的三个发展阶段 3
1.2 数据库系统的基本概念 4
1.2.1 数据库 4
1.2.2 数据库系统 5
1.3 数据库系统的特点 6
第2章 数据模型 8
2.1 数据模型概述 8
2.1.1 数据模型的基本组成 8
2.1.2 数据模型的发展 9
2.2 E-R数据模型 9
2.2.1 基本概念 9
2.2.2 E-R图 11
2.2.3 扩充E-R数据模型 12
2.3 层次数据模型 13
2.3.1 基本概念和结构 13
2.3.2 数据操作 15
2.3.3 数据约束 16
2.3.4 层次数据模型的优缺点 17
2.4 网状数据模型 17
2.4.1 基本概念和结构 17
2.4.2 数据操作 19
2.4.3 数据约束 20
2.4.4 网状数据模型的优缺点 20
2.5 关系数据模型 20
2.5.1 基本概念 20
2.5.2 关系数据模型的数据结构 21
2.5.3 数据操作 22
2.5.4 数据约束 22
2.5.5 关系数据模型的优缺点 23
2.6 面向对象数据模型 24
2.6.1 对象和对象标识符 24
2.6.2 属性和方法 24
2.6.3 封装和消息传递 25
2.6.4 类和实例 25
2.6.5 类层次结构和继承 25
2.6.6 持久性和版本 26
2.6.7 多态、重载、重定义与动态联编 26
2.6.8 面向对象数据模型与关系数据模型的比较 27
第3章 数据库系统的体系结构 28
3.1 数据库的体系结构 28
3.1.1 三级模式结构 28
3.1.2 两级映像和两级数据独立性 29
3.2 数据库系统 30
3.2.1 DBS的组成 30
3.2.2 DBS的全局结构 32
3.2.3 DBS结构的分类 34
3.3 数据库管理系统 36
3.3.1 DBMS的工作模式 36
3.3.2 DBMS的主要功能 36
3.4 DBMS的系统结构 38
3.4.1 DBMS的进程结构和多线索结构 38
3.4.2 DBMS的组成 38
3.4.3 DBMS的层次结构 40
3.5 几种典型结构的DBMS 41
3.5.1 C/S结构的DBMS 41
3.5.2 基于Web的数据库系统 43
第4章 关系数据库方法 47
4.1 关系数据库的基本概念 47
4.1.1 关系的形式化定义 47
4.1.2 关系模式、关系子模式和存储模式 49
4.1.3 关系模型的完整性规则 51
4.1.4 关系数据库模式 52
4.2 关系代数 53
4.2.1 关系代数的五个基本操作 53
4.2.2 关系代数的组合操作 57
4.2.3 关系代数表达式应用举例 61
4.3 关系演算 62
4.3.1 元组关系演算 62
4.3.2 域关系演算 63
4.4 关系查询优化 64
4.4.1 查询优化的一般策略 64
4.4.2 关系代数优化 65
4.4.3 基于存取路径的规则优化 69
第5章 关系数据库的结构化查询语言 76
5.1 SQL概述 76
5.2 SQL的数据定义语言 77
5.2.1 数据类型 77
5.2.2 数据库模式的定义 78
5.2.3 基本表的定义 79
5.2.4 基本表的修改和删除 82
5.2.5 索引的建立和删除 83
5.3 SQL数据更新 84
5.3.1 元组插入 84
5.3.2 元组删除 85
5.3.3 元组修改 85
5.4 SQL数据查询 86
5.4.1 SQL查询语句的格式 86
5.4.2 简单查询 87
5.4.3 复杂查询 89
5.5 SQL聚集函数 96
5.5.1 聚集函数的运算符 96
5.5.2 数据分组 96
5.5.3 数据排序 97
5.6 SQL中的视图 98
5.6.1 视图定义 98
5.6.2 视图查询 99
5.6.3 视图更新 100
5.6.4 视图删除 100
5.6.5 视图的作用 101
第6章 关系模式的规范化理论 102
6.1 关系模式设计中的问题 102
6.2 函数依赖 103
6.2.1 函数依赖定义 103
6.2.2 关键字和超关键字 104
6.3 数据依赖的公理系统 105
6.3.1 函数依赖的逻辑蕴涵 105
6.3.2 Armstrong公理系统 105
6.3.3 函数依赖集的等价和覆盖 109
6.4 关系模式的分解及其问题 110
6.4.1 分解的无损连接性 111
6.4.2 保持函数依赖性 116
6.5 关系模式的规范化 118
6.5.1 范式 118
6.5.2 模式分解的算法 120
6.6 多值函数依赖与4NF 124
6.6.1 BCNF关系模式存在的问题 124
6.6.2 多值函数依赖 124
6.6.3 4NF 125
6.7 连接依赖和5NF 126
第7章 数据库设计 127
7.1 数据库设计概述 127
7.1.1 数据库系统生存期 127
7.1.2 数据库设计方法 128
7.1.3 数据库设计的基本过程 129
7.2 规划 130
7.3 需求分析 131
7.3.1 需求描述与分析 131
7.3.2 需求分析阶段的输入和输出 132
7.3.3 需求分析的步骤 132
7.3.4 数据字典 136
7.4 概念设计 138
7.4.1 概念设计的必要性 138
7.4.2 概念设计的主要步骤 139
7.4.3 采用E-R模型方法的数据库概念设计 140
7.5 数据库逻辑结构设计及优化 148
7.5.1 逻辑设计环境 148
7.5.2 E-R模型向关系模型的转换 148
7.5.3 用关系规范化理论对关系数据模型进行优化 151
7.6 数据库的物理设计 153
7.7 数据库的实现 153
7.8 数据库的运行与维护 153
7.9 PowerDesigner辅助设计工具 154
7.9.1 绘制E-R图 154
7.9.2 后台生成SQL数据库及数据表 157
第8章 数据库保护 161
8.1 事务 161
8.1.1 事务的定义 161
8.1.2 事务的ACID准则 161
8.2 数据库完整性 162
8.2.1 完整性子系统和完整性规则 162
8.2.2 SQL中的完整性约束 163
8.2.3 SQL3触发器 164
8.3 数据库安全性 165
8.3.1 数据库安全性级别 165
8.3.2 数据访问权限 165
8.3.3 SQL中的安全性机制 166
8.4 数据库恢复技术 167
8.4.1 恢复的定义、原则和实现方法 167
8.4.2 故障恢复方法 167
8.4.3 具有检查点的恢复技术 168
8.5 并发控制 169
8.5.1 并发所引起的问题 169
8.5.2 封锁 170
8.5.3 活锁和死锁 172
8.5.4 死锁的防止、检测和处理 173
8.5.5 并发调度的可串行化 174
8.5.6 两段封锁协议 175
第9章 Microsoft SQL Server 2012 177
9.1 SQL Server简介 177
9.1.1 Micriosoft SQLServer 2012的特点 177
9.1.2 Micriosoft SQLServer 2012环境介绍 177
9.1.3 Micriosoft SQLServer 2012的工具介绍 178
9.2 数据库的创建、修改和删除 181
9.2.1 创建SQLServer数据库 181
9.2.2 分离和附加SQLServer数据库 183
9.2.3 删除数据库 186
9.3 表和主键的创建 186
9.3.1 表的创建 186
9.3.2 主键的创建 186
9.3.3 用SQL语句方式创建表 188
9.4 数据的插入、修改、删除和查询 189
9.4.1 数据的插入 189
9.4.2 数据的修改 191
9.4.3 数据的删除 191
9.4.4 数据的查询 191
9.5 数据库的备份和恢复 192
9.5.1 数据库的备份 192
9.5.2 数据库的恢复 194
9.6 高级应用技术 197
9.6.1 存储过程 197
9.6.2 触发器 201
第10章 ASP.NET和ADO.NET数据库开发技术 206
10.1 ASP.NET基础知识 206
10.1.1 Visual Studio.NET的特色 206
10.1.2.NETFramework 207
10.1.3 ASP.NET开发环境介绍 208
10.2 ADO.NET介绍 208
10.2.1 ADO.NET与数据管理简介 208
10.2.2 ADO.NET命名空间 209
10.3 连接数据库 209
10.3.1 连接Microsoft SQL Server数据库 209
10.3.2 连接到Microsoft Access数据库 214
10.4 读取和操作数据 215
10.5 数据集 218
10.5.1 使用DataAdapter类 219
10.5.2 使用DataTables、DataColumns和 DataRows 219
10.6 DataReader类 221
10.7 DataGrid和GridView控件 223
10.8 DataList控件 226
第11章 数据仓库与数据挖掘 238
11.1 概述 238
11.2 数据仓库的概念 239
11.2.1 数据仓库的定义 239
11.2.2 数据仓库的结构 241
11.3 数据仓库的设计与实现 246
11.3.1 数据仓库的设计原则 246
11.3.2 数据仓库的三级数据模型 247
11.3.3 数据仓库的设计步骤 248
11.3.4 数据仓库的实现结构 251
11.4 数据挖掘 251
11.4.1 数据挖掘定义 251
11.4.2 数据挖掘技术的应用研究现状 252
11.4.3 数据挖掘的主要技术 253
11.4.4 数据挖掘的过程 256
11.4.5 DM与OLAP 257
第12章 XML数据库 258
12.1 引言 258
12.2 XML文档 259
12.3 XML文档类型定义 262
12.3.1 元素定义 263
12.3.2 属性定义 264
12.4 XML模式 265
12.5 XPath查询语言 269
12.6 XQuery查询语言 270
12.7 XML应用 271
12.7.1 基于XML的数据交换与异构数据集成 271
12.7.2 XML索引与查询处理 272
12.7.3 XML文档聚类 275
12.7.4 XML流处理 276
参考文献 278