第一部分 数据库管理的上下文 2
第1章 数据库环境和开发过程 2
1.1 基本概念和定义 3
1.1.1 数据 4
1.1.2 数据与信息 4
1.1.3 元数据 5
1.2 传统文件处理系统 6
1.3 数据库方法 7
1.3.1 数据模型 7
1.3.2 关系数据库 8
1.3.3 数据库管理系统 9
1.3.4 数据库方法的优点 9
1.3.5 数据库优点的警告 11
1.3.6 数据库方法的代价和风险 12
1.4 数据库环境的组成 12
1.5 数据库开发过程 13
1.5.1 系统开发生命周期 14
1.5.2 信息系统开发方法的选择 17
1.5.3 数据库开发的三级模式体系结构 18
1.6 数据库系统的演化 19
1.7 数据库应用范围 21
1.7.1 个人数据库 22
1.7.2 二层客户端/服务器数据库 22
1.7.3 多层客户端/服务器数据库 22
1.7.4 企业级应用 23
1.8 Pine Valley家具公司数据库应用开发 24
1.8.1 Pine Valley家具公司数据库的演化 26
1.8.2 项目规划 26
1.8.3 数据库需求分析 27
1.8.4 数据库设计 28
1.8.5 使用数据库 31
1.8.6 管理数据库 32
1.8.7 Pine Valley数据库的未来 32
总结 32
关键术语 33
复习题 34
问题与练习 35
参考文献 37
扩展阅读 37
Web资源 37
第二部分 数据库分析 41
第2章 组织中的数据建模 41
2.1 E-R模型概述 42
2.1.1 E-R图示例 42
2.1.2 E-R模型符号 44
2.2 组织规则建模 45
2.3 实体和属性建模 48
2.3.1 实体 48
2.3.2 属性 51
2.4 联系建模 56
2.4.1 联系的基本概念和定义 57
2.4.2 联系的度 59
2.4.3 属性或实体 62
2.4.4 基数约束 64
2.4.5 联系和基数的例子 65
2.4.6 时间相关的数据建模 66
2.4.7 实体类型间的多元联系建模 67
2.4.8 命名和定义联系 68
2.5 E-R建模实例:Pine Valley家具公司 70
2.6 Pine Valley家具公司的数据库处理 72
2.6.1 显示产品信息 72
2.6.2 显示产品线信息 73
2.6.3 显示客户订单状态 73
总结 74
关键术语 75
复习题 76
问题与练习 77
参考文献 85
扩展阅读 86
Web资源 86
第3章 增强型E-R模型 87
3.1 超类型和子类型的表示 88
3.1.1 基本概念和符号 88
3.1.2 特化和泛化表示 91
3.2 在超类型/子类型联系中声明约束 94
3.2.1 声明完全性约束 94
3.2.2 声明分离性约束 95
3.2.3 定义子类型鉴别子 97
3.2.4 定义超类型/子类型层次结构 98
3.3 EER建模实例:Pine Valley家具公司 100
3.4 打包数据模型 103
3.4.1 利用打包数据模型改进数据建模过程 104
3.4.2 预打包数据模型总结 106
总结 106
关键术语 107
复习题 107
问题与练习 108
参考文献 112
扩展阅读 112
Web资源 112
第三部分 数据库设计 117
第4章 逻辑数据库设计和关系模型 117
4.1 关系数据模型 118
4.1.1 基本定义 118
4.1.2 样本数据库 120
4.2 完整性约束 122
4.2.1 域约束 122
4.2.2 实体完整性 122
4.2.3 参照完整性 123
4.2.4 创建关系表 124
4.2.5 完整结构化关系 125
4.3 将EER图转换成关系 126
4.3.1 步骤1:映射常规实体 127
4.3.2 步骤2:映射弱实体 128
4.3.3 步骤3:映射二元联系 130
4.3.4 步骤4:映射关联实体 132
4.3.5 步骤5:映射一元联系 134
4.3.6 步骤6:映射三元(和n元)联系 135
4.3.7 步骤7:映射超类型/子类型联系 137
4.3.8 将EER转换成关系总结 138
4.4 规范化简介 138
4.4.1 规范化步骤 139
4.4.2 函数依赖和键 139
4.5 规范化实例:Pine Valley家具公司 141
4.5.1 步骤0:表示表格中的视图 142
4.5.2 步骤1:转换成第一范式 142
4.5.3 步骤2:转换成第二范式 144
4.5.4 步骤3:转换成第三范式 145
4.5.5 决定因子和规范化 146
4.6 合并关系 146
4.6.1 例子 147
4.6.2 视图集成问题 147
总结 149
关键术语 149
复习题 150
问题与练习 151
参考文献 158
扩展阅读 159
Web资源 159
第5章 物理数据库设计和性能 160
5.1 物理数据库设计过程 161
5.2 设计字段 162
5.3 去规范化数据 165
5.4 设计物理数据库文件 168
5.4.1 文件组织 169
5.4.2 对文件设计控制 174
5.5 使用和选择索引 174
5.5.1 创建唯一键索引 174
5.5.2 创建二级(非唯一)键索引 175
5.5.3 何时使用索引 175
5.6 为优化查询性能设计数据库 176
总结 176
关键术语 177
复习题 178
问题与练习 178
参考文献 181
扩展阅读 181
Web资源 181
第四部分 实现 185
第6章 SQL导论 185
6.1 SQL标准的起源 186
6.2 SQL环境 188
6.3 用SQL定义数据库 192
6.3.1 生成SOL数据库定义 192
6.3.2 创建表 193
6.3.3 建立数据完整性控制 195
6.3.4 修改表定义 195
6.3.5 删除表 196
6.4 插入、更新和删除数据 196
6.4.1 删除数据库内容 197
6.4.2 更新数据库内容 198
6.5 RDBMS的内模式定义 198
6.6 单表操作 199
6.6.1 SELECT语句中的子句 199
6.6.2 使用表达式 201
6.6.3 使用函数 202
6.6.4 使用通配符 204
6.6.5 使用比较运算符 205
6.6.6 使用NULL值 205
6.6.7 使用布尔运算符 206
6.6.8 使用范围限制 208
6.6.9 使用DISTINCT 208
6.6.10 在列表中使用IN和NOT IN 210
6.6.11 结果排序:ORDER BY子句 211
6.6.12 结果分类:GROUP BY子句 212
6.6.13 限制分类结果:HAVING子句 213
6.6.14 使用和定义视图 214
总结 216
关键术语 217
复习题 217
问题与练习 218
参考文献 222
扩展阅读 222
Web资源 222
第7章 高级SQL 224
7.1 多表处理 224
7.1.1 等值连接 225
7.1.2 自然连接 227
7.1.3 外连接 228
7.1.4 四表连接示例 229
7.1.5 自连接 231
7.1.6 子查询 232
7.1.7 关联子查询 238
7.1.8 使用导出表 239
7.1.9 联合查询 239
7.2 创建查询的技巧 241
7.3 确保事务完整性 244
7.4 数据字典 245
7.5 触发器和例程 246
7.5.1 触发器 247
7.5.2 例程 248
7.5.3 Oracle PL/SQL中的例程示例 249
7.6 嵌入式SQL和动态SQL 251
总结 252
关键术语 253
复习题 253
问题与练习 254
参考文献 257
扩展阅读 257
Web资源 258
第8章 数据库应用开发 259
8.1 客户端/服务器体系结构 259
8.2 二层体系结构中的数据库 261
8.2.1 VB.NET例子 262
8.2.2 Java例子 264
8.3 三层体系结构 265
8.4 Web应用组件 266
8.5 三层应用中的数据库 268
8.5.1 JSPWeb应用 268
8.5.2 ASP.NET例子 272
8.6 三层应用中的关键因素 273
8.6.1 存储过程 273
8.6.2 事务 273
8.6.3 数据库连接 275
8.6.4 三层应用的主要优点 275
8.6.5 云计算和三层应用 276
8.7 可扩展标记语言 276
8.7.1 存储XML文档 278
8.7.2 检索XML文档 279
8.7.3 显示XML数据 281
8.7.4 XML和Web服务 282
总结 284
关键术语 285
复习题 286
问题与练习 286
参考文献 287
扩展阅读 287
Web资源 287
第9章 数据仓库 289
9.1 数据仓库的基本概念 291
9.1.1 数据仓库简史 291
9.1.2 数据仓库的需求 292
9.2 数据仓库体系结构 294
9.2.1 独立的数据集市数据仓库环境 295
9.2.2 相关数据集市和操作型数据存储体系结构:一个三层方法 296
9.2.3 逻辑数据集市和实时数据仓库体系结构 298
9.2.4 三层数据体系结构 300
9.3 数据仓库数据的一些特征 301
9.3.1 状态数据与事件数据 301
9.3.2 临时数据与定期数据 302
9.3.3 临时数据与定期数据例子 302
9.4 派生数据层 304
9.4.1 派生数据的特征 304
9.4.2 星模式 305
9.4.3 缓变维 312
9.4.4 决定维和事实 313
9.5 大数据和列式数据库 315
9.6 NoSQL 316
9.7 用户接口 317
9.7.1 元数据的作用 317
9.7.2 SQL OLAP查询 318
9.7.3 联机分析处理工具 318
9.7.4 数据可视化 321
9.7.5 商业成果管理和仪表盘 321
9.7.6 数据挖掘工具 322
9.8 数据治理与数据质量 323
9.8.1 数据治理 324
9.8.2 管理数据质量 324
9.8.3 数据质量的特征 325
总结 326
关键术语 327
复习题 328
问题与练习 329
参考文献 333
扩展阅读 334
Web资源 334
缩略词 335
术语表 337
索引 343