数据库系统:数据库与数据仓库导论基于互联网和商务智能应用环境,介绍操作型数据库和分析型数据库的基本概念、设计方法和使用技巧,兼具时效性、理论性和实用性。主要内容包括:数据库基础知识,数据库需求与ER建模,关系数据库建模,SQL,数据库的实现与使用,数据仓库概念,数据仓库与数据集市建模,数据仓库的实现与使用,DBMS功能与数据库管理。书中包含丰富的实例、图示、代码和练习,配有教学网站和课程资源,帮助读者举一反三、学以致用。
本书适合作为高等院校计算机相关专业数据库原理与设计课程的教材,也可作为数据库技术人员的参考书。
目录
- Database Systems: Introduction to Databases and Data Warehouses
- 出版者的话
- 译者序
- 前言
- 致谢
- 作者简介
- 第1章 引言 1
- 1.1 基本术语 1
- 1.2 数据库系统开发步骤 4
- 1.2.1 数据库需求收集、定义和可视化 4
- 1.2.2 数据库建模 5
- 1.2.3 数据库实现 6
- 1.2.4 开发前端应用程序 6
- 1.2.5 数据库部署 6
- 1.2.6 数据库使用 6
- 1.2.7 数据库管理和维护 7
- 1.3 数据库新版本 7
- 1.4 数据库使用范围 7
- 1.5 参与数据库系统的人员 7
- 1.5.1 数据库分析者、设计者和开发者 8
- 1.5.2 前端应用程序分析者和开发者 8
- 1.5.3 数据库管理员 8
- 1.5.4 数据库终端用户 8
- 1.6 操作型数据库与分析型数据库 9
- 1.7 关系数据库管理系统 9
- 1.8 本书内容安排 9
- 关键术语 10
- 复习题 10
- 第一部分 操作型数据库
- 第2章 数据库需求与ER建模 14
- 2.1 引言 14
- 2.2 ER建模基本构件 14
- 2.3 实体 14
- 2.4 属性(唯一和非唯一) 15
- 2.5 联系 15
- 2.6 联系类型(最大基数侧) 17
- 2.7 联系和联系实例 18
- 2.8 联系属性 19
- 2.9 实例:数据库需求集及其ER图 20
- 2.10 复合属性 22
- 2.11 复合的唯一属性 23
- 2.12 多个唯一属性(候选码) 23
- 2.13 多值属性 24
- 2.14 派生属性 24
- 2.15 可选属性 25
- 2.16 实例:包含多种类型属性的实体 26
- 2.17 联系中最小基数和最大基数确切值 26
- 2.18 一元联系和联系的角色 27
- 2.19 相同实体间的多种联系 28
- 2.20 弱实体 29
- 2.21 实体、属性和联系的命名约定 31
- 2.22 多个ER图 32
- 2.23 实例:另一组数据库需求及其ER图 33
- 2.24 数据库需求和ER模型的使用 34
- 2.25 各种ER符号体系 36
- 2.26 扩展的ER模型 37
- 2.27 问题说明:相同实体之间具有多个实例的M∶N联系 38
- 2.28 问题说明:关联实体 41
- 2.29 问题说明:三元(及更高阶)联系 42
- 总结 46
- 关键术语 48
- 复习题 49
- 练习 49
- 小案例 50
- 第3章 关系数据库建模 54
- 3.1 引言 54
- 3.2 关系数据库模型基本概念 54
- 3.3 主码 56
- 3.4 将实体映射为关系 56
- 3.5 将具有复合属性的实体映射为关系 57
- 3.6 将具有唯一复合属性的实体映射为关系 58
- 3.7 将具有可选属性的实体映射为关系 59
- 3.8 实体完整性约束 59
- 3.9 外码 60
- 3.10 将联系映射为关系数据库组件 60
- 3.10.1 1∶M联系的映射 61
- 3.10.2 M∶N联系的映射 63
- 3.10.3 1∶1联系的映射 65
- 3.11 参照完整性约束 66
- 3.12 实例:将ER图映射为关系模式 67
- 3.13 将拥有若干候选码(多个唯一属性)的实体映射为关系 69
- 3.14 将具有多值属性的实体映射为关系数据库组件 70
- 3.15 将具有派生属性的实体映射为关系 71
- 3.16 实例:将具有多种类型属性的实体映射为关系模式 71
- 3.17 一元联系的映射 72
- 3.17.1 1∶M一元联系的映射 72
- 3.17.2 M∶N一元联系的映射 73
- 3.17.3 1∶1一元联系的映射 74
- 3.18 相同实体间的多个联系的映射 74
- 3.19 弱实体的映射 75
- 3.20 实例:将另一个ER图映射为关系模式 77
- 3.21 关系数据库约束 79
- 3.21.1 隐含约束 80
- 3.21.2 用户自定义约束 80
- 3.22 问题说明:关联实体映射 83
- 3.23 问题说明:三元联系映射 83
- 3.24 问题说明:设计者创建的主码和自动编号选项 85
- 3.25 问题说明:ER建模和关系建模 86
- 总结 87
- 关键术语 87
- 复习题 88
- 练习 88
- 小案例 89
- 第4章 更新操作、更新异常与规范化 91
- 4.1 引言 91
- 4.2 更新操作 91
- 4.2.1 插入操作实例 91
- 4.2.2 删除操作实例 91
- 4.2.3 修改操作实例 92
- 4.2.4 关于更新操作术语的说明 92
- 4.3 更新异常 92
- 4.3.1 实例场景 92
- 4.3.2 实例关系(包含冗余数据) 93
- 4.3.3 插入异常 95
- 4.3.4 删除异常 95
- 4.3.5 修改异常 95
- 4.4 函数依赖 95
- 4.5 函数依赖实例 96
- 4.6 简化函数依赖 98
- 4.6.1 增广函数依赖 98
- 4.6.2 等价函数依赖 99
- 4.7 函数依赖类型 100
- 4.7.1 部分函数依赖 100
- 4.7.2 完全函数依赖 100
- 4.7.3 传递函数依赖 101
- 4.8 另一个函数依赖实例 101
- 4.9 规范化 103
- 4.9.1 第一范式 103
- 4.9.2 第二范式 105
- 4.9.3 第三范式 106
- 4.9.4 其他范式 108
- 4.9.5 消除冗余和更新异常 108
- 4.10 另一个规范化实例 110
- 4.11 问题说明:规范化例外情况 112
- 4.12 问题说明:逆规范化的规范化与性能 113
- 4.13 问题说明:ER建模和规范化 114
- 4.14 问题说明:用于简化数据库内容的设计者添加的实体(表)和码 115
- 关键术语 117
- 复习题 118
- 练习 118
- 第5章 SQL 123
- 5.1 引言 123
- 5.2 SQL命令综述 123
- 5.2.1 数据定义语言 123
- 5.2.2 数据操纵语言 124
- 5.2.3 数据控制语言和事务控制语言 124
- 5.3 SQL数据类型 124
- 5.4 SQL语法简要说明 124
- 5.5 CREATE TABLE 125
- 5.6 DROP TABLE 127
- 5.7 INSERT INTO 128
- 5.8 SELECT 130
- 5.9 WHERE 132
- 5.10 DISTINCT 133
- 5.11 ORDER BY 134
- 5.12 LIKE 135
- 5.13 聚集函数 135
- 5.14 GROUP BY 136
- 5.15 HAVING 139
- 5.16 嵌套查询 141
- 5.17 IN 142
- 5.18 JOIN 143
- 5.19 别名 145
- 5.20 多关系连接 146
- 5.21 ALTER TABLE 147
- 5.22 UPDATE 148
- 5.23 DELETE 148
- 5.24 CREATE VIEW和DROP VIEW 149
- 5.25 集合运算:UNION、INTER--SECT、EXCEPT(MINUS) 150
- 5.26 使用其他SQL命令的实例 151
- 5.27 CREATE TABLE(附加实例) 152
- 5.28 INSERT INTO(附加实例) 154
- 5.29 约束管理 157
- 5.30 SELECT(附加实例) 158
- 5.31 关系与自身的连接(自连接) 158
- 5.32 OUTER JOIN 158
- 5.33 无主码/外码组合的连接 160
- 5.34 IS NULL 160
- 5.35 EXISTS 160
- 5.36 NOT 161
- 5.37 从查询中插入关系 161
- 5.38 其他SQL功能 162
- 5.39 问题说明:SQL中观测值使用不当 162
- 5.40 问题说明:SQL标准和SQL语法差异 163
- 5.40.1 SQL 语法差异1:DATE和TIME数据类型 163
- 5.40.2 SQL 语法差异2:FOREIGN KEY 163
- 5.40.3 SQL 语法差异3:别名关键词AS的使用 164
- 5.40.4 SQL 语法差异4:ALTER TABLE 164
- 5.40.5 SQL 语法差异5:集合运算 165
- 5.40.6 SQL 语法差异6:FULL OUTER JOIN 166
- 5.40.7 SQL 语法差异7:约束管理 166
- 5.40.8 SQL 语法差异8:GROUP BY 167
- 关键术语 167
- 复习题 168
- 练习 169
- 小案例 170
- 第6章 数据库的实现与使用 172
- 6.1 引言 172
- 6.2 参照完整性约束:实现删除和更新操作 172
- 6.2.1 删除选项 173
- 6.2.2 更新选项 176
- 6.2.3 实现删除和更新选项 178
- 6.3 实现用户自定义约束 179
- 6.3.1 CHECK子句 180
- 6.3.2 实现用户自定义约束的其他机制 181
- 6.4 索引 181
- 6.5 数据库前端 186
- 6.6 数据质量问题 190
- 6.7 问题说明:断言和触发器 194
- 关键术语 196
- 复习题 196
- 练习 197
- 第二部分 分析型数据库
- 第7章 数据仓库概念 202
- 7.1 引言 202
- 7.2 操作型信息与分析型信息 202
- 7.2.1 数据组成差别 203
- 7.2.2 技术差别 204
- 7.2.3 功能差别 204
- 7.3 数据仓库定义 207
- 7.3.1 结构化数据存储 207
- 7.3.2 集成性 207
- 7.3.3 面向主题 207
- 7.3.4 企业范围 207
- 7.3.5 历史性 207
- 7.3.6 时变性 208
- 7.3.7 分析型信息的检索 208
- 7.3.8 细节数据和汇总数据 208
- 7.4 数据仓库组件 208
- 7.4.1 源系统 209
- 7.4.2 数据仓库 209
- 7.4.3 ETL 209
- 7.4.4 数据仓库前端(BI)应用 210
- 7.5 数据集市 210
- 7.6 数据仓库开发步骤 210
- 7.6.1 需求收集、定义与可视化 211
- 7.6.2 数据仓库建模 212
- 7.6.3 创建数据仓库 213
- 7.6.4 创建ETL架构 213
- 7.6.5 开发前端(BI)应用 213
- 7.6.6 数据仓库部署 213
- 7.6.7 数据仓库使用 214
- 7.6.8 数据仓库管理与维护 214
- 7.7 数据仓库的新版本 214
- 关键术语 215
- 复习题 215
- 第8章 数据仓库与数据集市建模 216
- 8.1 引言 216
- 8.2 维度建模基本概念 216
- 8.3 初始实例:基于单个数据源的维度模型 217
- 8.4 维度特性、事实特性及初始实例分析 220
- 8.5 扩展实例:基于多个数据源的维度模型 222
- 8.6 其他可能的事实属性 225
- 8.7 事实表中的事务标识码 225
- 8.8 事实表中的事务时间 227
- 8.9 一个维度模型中的多个事实表 230
- 8.10 细节事实表与聚集事实表 232
- 8.10.1 细节事实表 233
- 8.10.2 聚集事实表 233
- 8.10.3 细节事实表与聚集事实表的其他实例 237
- 8.11 事实表的粒度 238
- 8.12 缓慢变化维度与时间戳 239
- 8.12.1 Type1方法 240
- 8.12.2 Type2方法 240
- 8.12.3 Type3方法 241
- 8.13 其他维度建模问题 242
- 8.13.1 雪花模型 242
- 8.13.2 立方体 243
- 8.14 数据仓库(数据集市)建模方法 243
- 8.15 规范化数据仓库 243
- 8.16 规范化数据仓库实例 244
- 8.17 维度建模数据仓库 247
- 8.18 维度建模数据仓库实例 248
- 8.19 独立数据集市 250
- 8.20 问题说明:维度建模与ER建模作为数据仓库/数据集市设计技术的比较 251
- 关键术语 253
- 复习题 253
- 练习 254
- 小案例 260
- 第9章 数据仓库的实现与使用 261
- 9.1 引言 261
- 9.2 创建数据仓库 261
- 9.3 ETL:提取、转换、加载 263
- 9.4 在线分析处理 268
- 9.5 OLAP/BI工具 269
- 9.6 OLAP/BI工具功能 269
- 9.6.1 切片和切块 271
- 9.6.2 旋转 272
- 9.6.3 下钻和上卷 273
- 9.6.4 OLAP/BI工具附加功能概述 274
- 9.7 OLAP/BI工具用途 275
- 9.8 数据仓库/数据集市前端(BI)应用 275
- 9.9 管理展示板 278
- 9.10 数据仓库部署 278
- 9.11 问题说明:OLAP/BI工具数据库模型 279
- 9.12 问题说明:OLAP/BI工具数据架构方法 280
- 9.12.1 MOLAP 280
- 9.12.2 ROLAP 281
- 9.12.3 HOLAP 282
- 关键术语 282
- 复习题 282
- 练习 283
- 第三部分 其他主题
- 第10章 DBMS功能与数据库管理概述 288
- 10.1 引言 288
- 10.2 DBMS组件 288
- 10.3 数据库管理概述 289
- 10.4 数据库系统监测与维护 289
- 10.5 数据库安全:防范非法存取 291
- 10.6 数据库备份与恢复 292
- 10.7 数据完整性保护 293
- 10.8 数据库性能优化 294
- 10.9 数据库政策与标准的开发与实施 294
- 关键术语 295
- 复习题 295
- 附 录
- 附录A 扩展的ER 298
- 附录B 关于规范化及更高范式 304
- 附录C 企业资源计划 309
- 附录D 数据管理与主数据管理 311
- 附录E 面向对象数据库 314
- 附录F 分布式数据库、并行数据库与云计算 319
- 附录G 数据挖掘 325
- 附录H XML 328
- 附录I NoSQL 数据库 335
- 附录J 大数据 338
- 术语表 342
- 索引 354