第Ⅰ篇 基础篇 3
第1章 数据库概述 3
1.1 概述 3
1.2 一些基本概念 3
1.3 数据管理技术的发展 5
1.3.1 文件管理 5
1.3.2 数据库管理 8
1.4 数据独立性 11
1.5 数据库系统的组成 12
小结 13
习题 13
第2章 数据模型与数据库结构 15
2.1 数据和数据模型 15
2.1.1 数据与信息 15
2.1.2 数据模型 16
2.2 概念层数据模型 17
2.2.1 基本概念 17
2.2.2 实体-联系模型 18
2.3 组织层数据模型 20
2.3.1 层次数据模型 21
2.3.2 网状数据模型 22
2.3.3 关系数据模型 23
2.4 面向对象数据模型 25
2.5 数据库结构 25
2.5.1 模式的基本概念 26
2.5.2 三级模式结构 26
2.5.3 模式映像与数据独立性 28
小结 29
习题 30
第3章 关系数据库 31
3.1 关系数据模型 31
3.1.1 数据结构 31
3.1.2 数据操作 32
3.1.3 数据完整性约束 33
3.2 关系模型的基本术语与形式化定义 34
3.2.1 基本术语 34
3.2.2 形式化定义 36
3.3 完整性约束 38
3.3.1 实体完整性 38
3.3.2 参照完整性 40
3.3.3 用户定义的完整性 41
3.4 关系代数 41
3.4.1 传统的集合运算 43
3.4.2 专门的关系运算 44
3.4.3 关系代数操作小结 53
3.5 关系演算 54
3.5.1 元组关系演算 54
3.5.2 元组关系演算语言Alpha 56
3.5.3 域关系演算 59
3.5.4 域关系演算语言QBE 59
小结 61
习题 61
第4章 SQL语言基础及数据定义功能 63
4.1 SQL语言概述 63
4.1.1 SQL语言的发展 63
4.1.2 SQL语言特点 64
4.1.3 SQL语言功能概述 64
4.2 SQL语言支持的数据类型 65
4.2.1 数值型 65
4.2.2 字符串型 66
4.2.3 日期时间类型 67
4.2.4 货币类型 67
4.3 数据定义功能 68
4.3.1 架构的定义与删除 68
4.3.2 基本表 70
小结 73
习题 73
第5章 数据操作语句 75
5.1 数据查询语句 75
5.1.1 查询语句的基本结构 76
5.1.2 单表查询 77
5.1.3 多表连接查询 100
5.1.4 使用TOP限制结果集行数 111
5.1.5 子查询 113
5.2 数据更改功能 122
5.2.1 插入数据 123
5.2.2 更新数据 123
5.2.3 删除数据 124
小结 126
习题 127
第6章 高级查询 128
6.1 CASE函数 128
6.1.1 CASE函数介绍 128
6.1.2 CASE函数应用示例 130
6.2 将查询结果保存到新表 133
6.3 子查询 137
6.3.1 ANY、SOME和ALL谓词 137
6.3.2 带EXISTS谓词的子查询 140
6.4 查询结果的并、交、差运算 145
6.4.1 并运算 145
6.4.2 交运算 148
6.4.3 差运算 150
小结 151
习题 152
第7章 索引和视图 154
7.1 索引 154
7.1.1 索引基本概念 154
7.1.2 索引的存储结构及分类 155
7.1.3 创建和删除索引 160
7.2 视图 161
7.2.1 基本概念 161
7.2.2 定义视图 162
7.2.3 通过视图查询数据 164
7.2.4 修改和删除视图 167
7.2.5 视图的作用 167
7.3 物化视图 168
小结 169
习题 169
第8章 数据完整性约束 171
8.1 数据完整性的概念 171
8.1.1 完整性约束条件的作用对象 171
8.1.2 实现数据完整性的方法 172
8.2 实现数据完整性 172
8.2.1 实体完整性约束 173
8.2.2 唯一值约束 173
8.2.3 参照完整性 175
8.2.4 默认值约束 176
8.2.5 列取值范围约束 176
8.3 系统对完整性约束的检查 178
8.4 删除约束 179
8.5 触发器 180
8.5.1 创建触发器 180
8.5.2 后触发型触发器 181
8.5.3 前触发型触发器 182
8.5.4 删除触发器 182
小结 182
习题 183
第Ⅱ篇 设计篇 186
第9章 关系规范化理论 186
9.1 函数依赖 186
9.1.1 基本概念 186
9.1.2 一些术语和符号 187
9.1.3 为什么讨论函数依赖 188
9.1.4 函数依赖的推理规则 189
9.1.5 最小函数依赖集 190
9.2 关系规范化中的一些基本概念 191
9.2.1 关系模式中的键 191
9.2.2 候选键 191
9.2.3 外键 192
9.3 范式 192
9.3.1 第一范式 192
9.3.2 第二范式 194
9.3.3 第三范式 196
9.3.4 Boyce-Codd范式 196
9.3.5 多值依赖与第四范式 199
9.3.6 连接依赖与第五范式 201
9.3.7 规范化小结 205
9.4 关系模式的分解准则 206
小结 208
习题 209
第10章 实体-联系(E-R)模型 211
10.1 E-R模型的基本概念 211
10.1.1 实体 211
10.1.2 联系 212
10.1.3 属性 215
10.1.4 约束 217
10.2 E-R模型存在的问题 218
10.2.1 扇形陷阱 218
10.2.2 深坑陷阱 219
10.3 E-R图符号 221
小结 222
习题 222
第11章 数据库设计 225
11.1 数据库设计概述 225
11.1.1 数据库设计的特点 226
11.1.2 数据库设计方法概述 226
11.1.3 数据库设计的基本步骤 227
11.2 数据库需求分析 228
11.2.1 需求分析的任务 228
11.2.2 需求分析的方法 229
11.3 数据库结构设计 230
11.3.1 概念结构设计 230
11.3.2 逻辑结构设计 233
11.3.3 物理结构设计 238
11.4 数据库行为设计 240
11.4.1 功能分析 240
11.4.2 功能设计 241
11.4.3 事务设计 241
11.5 数据库实施 242
11.6 数据库的运行和维护 243
小结 243
习题 244
第Ⅲ篇 系统篇 246
第12章 事务与并发控制 246
12.1 事务 246
12.1.1 事务的基本概念 246
12.1.2 事务执行和问题 247
12.1.3 事务的特性 248
12.1.4 事务处理模型 249
12.1.5 事务日志 250
12.2 并发控制 251
12.2.1 并发控制概述 252
12.2.2 一致性的级别 254
12.2.3 可交换的活动 254
12.2.4 调度 255
12.2.5 可串行化调度 255
12.3 并发控制中的加锁方法 256
12.3.1 锁的粒度 257
12.3.2 封锁协议 258
12.3.3 活锁和死锁 260
12.3.4 两阶段锁 262
12.4 并发控制中的时间戳方法 264
12.4.1 粒度时间戳 264
12.4.2 时间戳排序 265
12.4.3 解决时间戳中的冲突 265
12.4.4 时间戳的缺点 265
12.5 乐观的并发控制方法 266
12.5.1 乐观并发控制方法中的3个阶段 266
12.5.2 乐观的并发控制方法的优缺点 266
小结 267
习题 267
第13章 数据库恢复技术 269
13.1 恢复的基本概念 269
13.2 数据库故障的种类 270
13.3 数据库恢复的类型 271
13.3.1 向前恢复(或重做) 271
13.3.2 向后恢复(或撤销) 272
13.3.3 介质故障恢复 275
13.4 恢复技术 275
13.4.1 延迟更新技术 275
13.4.2 立即更新技术 277
13.4.3 镜像页技术 279
13.4.4 检查点技术 280
13.5 缓冲区管理 281
小结 282
习题 282
第14章 查询处理与优化 284
14.1 概述 284
14.2 关系数据库的查询处理 284
14.2.1 查询处理步骤 285
14.2.2 优化的一个简单示例 285
14.3 代数优化 287
14.3.1 转换规则 287
14.3.2 启发式规则 289
14.4 物理优化 292
14.4.1 选择操作的实现和优化 292
14.4.2 连接操作的实现和优化 293
14.4.3 投影操作的实现 296
14.4.4 集合操作的实现 297
14.4.5 组合操作 297
小结 298
习题 298
第Ⅳ篇 发展篇 300
第15章 数据库技术的发展 300
15.1 数据库技术的发展 300
15.1.1 传统数据库技术的发展历程 300
15.1.2 新一代数据库管理系统 302
15.2 面向对象技术与数据库技术的结合 302
15.2.1 新的数据库应用和新的数据类型 302
15.2.2 面向对象数据模型 303
15.2.3 面向对象数据库的优点 306
15.2.4 对象关系数据库与对象数据库 307
15.3 数据库技术面临的挑战 307
15.4 数据库技术的研究方向 309
15.4.1 分布式数据库系统 309
15.4.2 面向对象的数据库管理系统 310
15.4.3 多媒体数据库 310
15.4.4 数据库中的知识发现 310
15.4.5 专用数据库系统 311
小结 311
第16章 数据仓库与数据挖掘 312
16.1 数据仓库技术 312
16.1.1 数据仓库的概念及特点 313
16.1.2 数据仓库体系结构 314
16.1.3 数据仓库的分类 315
16.1.4 数据仓库的开发 315
16.1.5 数据仓库的数据模式 316
16.2 联机分析处理 317
16.3 数据挖掘 321
16.3.1 数据挖掘过程 321
16.3.2 数据挖掘知识发现 322
16.3.3 数据挖掘的常用技术和目标 324
16.3.4 数据挖掘工具 324
16.3.5 数据挖掘应用 325
16.3.6 数据挖掘的前景 326
小结 328
第Ⅴ篇 应用篇 330
第17章 SQL Server 2005基础 330
17.1 SQL Server 2005平台构成 330
17.2 安装SQL Server 2005 331
17.2.1 SQL Server 2005的版本 331
17.2.2 安装SQL Server 2005所需要的软硬件环境 333
17.2.3 实例 334
17.2.4 安装及安装选项 335
17.3 配置SQL Server 2005 345
17.4 SQL Server Management Studio工具 348
17.4.1 连接到数据库服务器 348
17.4.2 查询编辑器 350
小结 351
习题 352
上机练习 352
第18章 数据库及对象的创建与管理 354
18.1 SQL Server数据库概述 354
18.1.1 系统数据库 354
18.1.2 SQL Server数据库的组成 355
18.1.3 数据文件和日志文件 356
18.1.4 数据库文件的属性 356
18.2 创建数据库 357
18.2.1 用图形化方法创建数据库 357
18.2.2 用T-SQL语句创建数据库 360
18.3 基本表的创建与管理 364
18.3.1 创建表 364
18.3.2 定义完整性约束 366
18.3.3 修改表 374
18.3.4 删除表 374
18.4 索引的创建与管理 376
18.4.1 创建索引 376
18.4.2 查看和删除索引 377
18.5 视图的创建与管理 378
18.5.1 创建视图 378
18.5.2 查看和修改视图 382
小结 382
习题 383
上机练习 383
第19章 存储过程和游标 386
19.1 存储过程 386
19.1.1 存储过程概念 386
19.1.2 创建和执行存储过程 387
19.1.3 查看和修改存储过程 391
19.2 游标 392
19.2.1 游标概念 392
19.2.2 使用游标 393
19.2.3 游标示例 396
小结 399
习题 400
上机练习 400
第20章 安全管理 401
20.1 安全控制概述 401
20.1.1 数据库安全控制的目标 401
20.1.2 数据库安全的威胁 402
20.1.3 数据库完全问题的类型 402
20.1.4 安全控制模型 402
20.1.5 授权和认证 403
20.2 存取控制 404
20.2.1 自主存取控制 404
20.2.2 强制存取控制 406
20.3 审计跟踪 408
20.4 防火墙 408
20.5 统计数据库的安全性 409
20.6 数据加密 410
20.7 SQL Server安全控制过程 411
20.8 登录名 411
20.8.1 身份验证模式 411
20.8.2 建立登录名 413
20.8.3 删除登录名 417
20.9 数据库用户 418
20.9.1 建立数据库用户 418
20.9.2 删除数据库用户 420
20.10 权限管理 421
小结 430
习题 430
上机练习 431
第21章 数据库设计工具——PowerDesigner 433
21.1 建立概念数据模型 433
21.1.1 概述 433
21.1.2 创建CDM文件 433
21.1.3 创建实体 435
21.1.4 指定实体的属性 436
21.1.5 建立实体间的联系 439
21.1.6 建立实体间的关联 442
21.2 建立物理数据模型 444
21.2.1 概述 444
21.2.2 由CDM生成PDM 446
21.2.3 生成SQL脚本 447
小结 449
习题 450
上机练习 450