新書推薦:
《
英国简史(刘金源教授作品)
》
售價:HK$
98.6
《
便宜货:廉价商品与美国消费社会的形成
》
售價:HK$
77.3
《
读书是一辈子的事(2024年新版)
》
售價:HK$
77.3
《
乐道文库·什么是秦汉史
》
售價:HK$
80.6
《
汉娜·阿伦特与以赛亚·伯林 : 自由、政治与人性
》
售價:HK$
109.8
《
女性与疯狂(女性主义里程碑式著作,全球售出300万册)
》
售價:HK$
109.8
《
药食同源中药鉴别图典
》
售價:HK$
67.0
《
设计中的比例密码:建筑与室内设计
》
售價:HK$
87.4
|
內容簡介: |
本书全面讲解数据库设计、建模、系统构建、数据存储以及数据仓库、数据治理等方面的基础知识,并提出了一种数据库管理的新方法。本书的三位作者均为该领域专家,在大数据、数据分析、数据质量和数据集成方面经验丰富。全书理论结合实践,既有对现有数据库技术的讲解,又有对最新技术趋势的分析。为了帮助读者更好地理解基本概念,书中包含大量真实案例,涉及查询实例、代码以及图形等,并搭建了在线学习环境,这使本书成为信息系统或计算机科学专业本科生和研究生入门课程的完美教材。
|
關於作者: |
第一部分 数据库与数据库设计
第1章 数据库管理的基本概念 2
1.1 数据库技术的应用 2
1.2 关键定义 3
1.3 基于文件与数据库的数据管理方法 3
1.3.1 基于文件的方法 3
1.3.2 基于数据库的方法 4
1.4 数据库系统的元素 6
1.4.1 数据库模型与实例 6出版者的话
赞誉
译者序
前言
作者简介
第一部分 数据库与数据库设计
第1章 数据库管理的基本概念 2
1.1 数据库技术的应用 2
1.2 关键定义 3
1.3 基于文件与数据库的数据管理方法 3
1.3.1 基于文件的方法 3
1.3.2 基于数据库的方法 4
1.4 数据库系统的元素 6
1.4.1 数据库模型与实例 6
1.4.2 数据模型 7
1.4.3 三层架构 7
1.4.4 目录 8
1.4.5 数据库用户 9
1.4.6 数据库语言 9
1.5 数据库系统和数据库管理的优点 9
1.5.1 数据独立性 9
1.5.2 数据库建模 10
1.5.3 管理结构化、半结构化、非结构化数据 10
1.5.4 管理数据冗余 10
1.5.5 指定完整性约束 11
1.5.6 并发控制 11
1.5.7 备份和恢复设备 12
1.5.8 数据安全性 12
1.5.9 性能分析工具 12
总结 12
关键术语表 13
思考题 13
问题和练习 14
第2章 数据库管理系统的架构与分类 15
2.1 DBMS的架构 15
2.1.1 连接管理器和安全管理器 16
2.1.2 DDL编译器 16
2.1.3 查询处理器 16
2.1.4 存储管理器 19
2.1.5 DBMS工具 20
2.1.6 DBMS接口 20
2.2 DBMS分类 21
2.2.1 基于数据模型的分类 21
2.2.2 基于同步访问的分类 23
2.2.3 基于架构的分类 23
2.2.4 基于使用方法的分类 24
总结 25
关键术语表 26
思考题 26
问题和练习 28
第3章 使用(E)ER模型和UML类图进行概念数据建模 29
3.1 数据库设计阶段 29
3.2 实体关系模型 30
3.2.1 实体类型 31
3.2.2 属性类型 31
3.2.3 关系类型 32
3.2.4 弱实体类型 36
3.2.5 三元关系类型 36
3.2.6 ER模型示例 38
3.2.7 ER模型的局限性 40
3.3 扩展的实体关系模型 40
3.3.1 特化泛化 41
3.3.2 分类 42
3.3.3 聚集 43
3.3.4 EER模型的示例 43
3.3.5 设计EER模型 44
3.4 UML类图 45
3.4.1 面向对象概述 45
3.4.2 类 45
3.4.3 变量 46
3.4.4 访问修饰符 46
3.4.5 关联 47
3.4.6 特化泛化 49
3.4.7 聚集 49
3.4.8 UML示例 49
3.4.9 高级UML建模概念 50
3.4.10 UML与EER的对比 52
总结 53
关键术语表 56
思考题 56
问题和练习 59
第4章 数据管理的组织方面 62
4.1 数据管理 62
4.1.1 目录和元数据的作用 62
4.1.2 元数据建模 63
4.1.3 数据质量 63
4.1.4 数据治理 67
4.2 数据管理中的角色 68
4.2.1 信息架构师 68
4.2.2 数据库设计师 68
4.2.3 数据所有者 68
4.2.4 数据管理员 68
4.2.5 数据库管理员 69
4.2.6 数据科学家 69
总结 69
关键术语表 70
思考题 70
问题和练习 70
第二部分 数据库系统类型
第5章 传统数据库 72
5.1 分层模型 72
5.2 CODASYL模型 75
总结 79
关键术语表 79
思考题 80
问题和练习 80
第6章 关系数据库:关系模型 81
6.1 关系模型 81
6.1.1 基本概念 82
6.1.2 正式定义 83
6.1.3 键的类型 84
6.1.4 关系约束 86
6.1.5 关系数据模型的示例 87
6.2 规范化 88
6.2.1 非规范化关系模型中的插入、删除和更新异常 88
6.2.2 非正式的规范化准则 89
6.2.3 函数依赖和主属性类型 90
6.2.4 规范化形式 90
6.3 将概念ER模型映射到关系模型 96
6.3.1 实体类型映射 96
6.3.2 关系类型映射 97
6.3.3 多值属性类型映射 103
6.3.4 弱实体类型映射 103
6.3.5 小结 104
6.4 将概念EER模型映射到关系模型 105
6.4.1 EER特化映射 106
6.4.2 EER类别映射 107
6.4.3 EER聚集映射 108
总结 109
关键术语表 110
思考题 110
问题和练习 114
第7章 关系数据库:结构化查询语言 116
7.1 关系数据库管理系统和SQL 116
7.1.1 SQL的关键特征 116
7.1.2 三层数据库架构 118
7.2 SQL数据定义语言 119
7.2.1 DDL的关键概念 119
7.2.2 DDL的示例 120
7.2.3 参照完整性约束 123
7.2.4 DROP和ALTER命令 123
7.3 SQL数据操作语言 125
7.3.1 SQL SELECT语句 125
7.3.2 SQL INSERT语句 149
7.3.3 SQL DELETE语句 149
7.3.4 SQL UPDATE语句 150
7.4 SQL视图 152
7.5 SQL索引 154
7.6 SQL权限 155
7.7 用于元数据管理的SQL 156
总结 157
关键术语表 159
思考题 160
问题和练习 167
第8章 面向对象的数据库以及对象持久性 169
8.1 概述:OO的基本概念 169
8.2 OO的高级概念 171
8.2.1 方法重载 171
8.2.2 继承 171
8.2.3 方法重写 173
8.2.4 多态和动态绑定 173
8.3 对象持久性的基本原则 175
8.4 面向对象数据库管理系统 176
8.4.1 对象标识符 177
8.4.2 ODMG标准 177
8.4.3 对象模型 178
8.4.4 对象定义语言 178
8.4.5 对象查询语言 181
8.4.6 语言绑定 183
8.5 评估OODBMS 185
总结 186
关键术语表 186
思考题 187
问题和练习 188
第9章 扩展关系数据库 189
9.1 关系模型的局限性 189
9.2 RDBMS主动拓展 190
9.2.1 触发
|
目錄:
|
出版者的话
赞誉
译者序
前言
作者简介
第一部分 数据库与数据库设计
第1章 数据库管理的基本概念 2
1.1 数据库技术的应用 2
1.2 关键定义 3
1.3 基于文件与数据库的数据管理方法 3
1.3.1 基于文件的方法 3
1.3.2 基于数据库的方法 4
1.4 数据库系统的元素 6
1.4.1 数据库模型与实例 6
1.4.2 数据模型 7
1.4.3 三层架构 7
1.4.4 目录 8
1.4.5 数据库用户 9
1.4.6 数据库语言 9
1.5 数据库系统和数据库管理的优点 9
1.5.1 数据独立性 9
1.5.2 数据库建模 10
1.5.3 管理结构化、半结构化、非结构化数据 10
1.5.4 管理数据冗余 10
1.5.5 指定完整性约束 11
1.5.6 并发控制 11
1.5.7 备份和恢复设备 12
1.5.8 数据安全性 12
1.5.9 性能分析工具 12
总结 12
关键术语表 13
思考题 13
问题和练习 14
第2章 数据库管理系统的架构与分类 15
2.1 DBMS的架构 15
2.1.1 连接管理器和安全管理器 16
2.1.2 DDL编译器 16
2.1.3 查询处理器 16
2.1.4 存储管理器 19
2.1.5 DBMS工具 20
2.1.6 DBMS接口 20
2.2 DBMS分类 21
2.2.1 基于数据模型的分类 21
2.2.2 基于同步访问的分类 23
2.2.3 基于架构的分类 23
2.2.4 基于使用方法的分类 24
总结 25
关键术语表 26
思考题 26
问题和练习 28
第3章 使用(E)ER模型和UML类图进行概念数据建模 29
3.1 数据库设计阶段 29
3.2 实体关系模型 30
3.2.1 实体类型 31
3.2.2 属性类型 31
3.2.3 关系类型 32
3.2.4 弱实体类型 36
3.2.5 三元关系类型 36
3.2.6 ER模型示例 38
3.2.7 ER模型的局限性 40
3.3 扩展的实体关系模型 40
3.3.1 特化泛化 41
3.3.2 分类 42
3.3.3 聚集 43
3.3.4 EER模型的示例 43
3.3.5 设计EER模型 44
3.4 UML类图 45
3.4.1 面向对象概述 45
3.4.2 类 45
3.4.3 变量 46
3.4.4 访问修饰符 46
3.4.5 关联 47
3.4.6 特化泛化 49
3.4.7 聚集 49
3.4.8 UML示例 49
3.4.9 高级UML建模概念 50
3.4.10 UML与EER的对比 52
总结 53
关键术语表 56
思考题 56
问题和练习 59
第4章 数据管理的组织方面 62
4.1 数据管理 62
4.1.1 目录和元数据的作用 62
4.1.2 元数据建模 63
4.1.3 数据质量 63
4.1.4 数据治理 67
4.2 数据管理中的角色 68
4.2.1 信息架构师 68
4.2.2 数据库设计师 68
4.2.3 数据所有者 68
4.2.4 数据管理员 68
4.2.5 数据库管理员 69
4.2.6 数据科学家 69
总结 69
关键术语表 70
思考题 70
问题和练习 70
第二部分 数据库系统类型
第5章 传统数据库 72
5.1 分层模型 72
5.2 CODASYL模型 75
总结 79
关键术语表 79
思考题 80
问题和练习 80
第6章 关系数据库:关系模型 81
6.1 关系模型 81
6.1.1 基本概念 82
6.1.2 正式定义 83
6.1.3 键的类型 84
6.1.4 关系约束 86
6.1.5 关系数据模型的示例 87
6.2 规范化 88
6.2.1 非规范化关系模型中的插入、删除和更新异常 88
6.2.2 非正式的规范化准则 89
6.2.3 函数依赖和主属性类型 90
6.2.4 规范化形式 90
6.3 将概念ER模型映射到关系模型 96
6.3.1 实体类型映射 96
6.3.2 关系类型映射 97
6.3.3 多值属性类型映射 103
6.3.4 弱实体类型映射 103
6.3.5 小结 104
6.4 将概念EER模型映射到关系模型 105
6.4.1 EER特化映射 106
6.4.2 EER类别映射 107
6.4.3 EER聚集映射 108
总结 109
关键术语表 110
思考题 110
问题和练习 114
第7章 关系数据库:结构化查询语言 116
7.1 关系数据库管理系统和SQL 116
7.1.1 SQL的关键特征 116
7.1.2 三层数据库架构 118
7.2 SQL数据定义语言 119
7.2.1 DDL的关键概念 119
7.2.2 DDL的示例 120
7.2.3 参照完整性约束 123
7.2.4 DROP和ALTER命令 123
7.3 SQL数据操作语言 125
7.3.1 SQL SELECT语句 125
7.3.2 SQL INSERT语句 149
7.3.3 SQL DELETE语句 149
7.3.4 SQL UPDATE语句 150
7.4 SQL视图 152
7.5 SQL索引 154
7.6 SQL权限 155
7.7 用于元数据管理的SQL 156
总结 157
关键术语表 159
思考题 160
问题和练习 167
第8章 面向对象的数据库以及对象持久性 169
8.1 概述:OO的基本概念 169
8.2 OO的高级概念 171
8.2.1 方法重载 171
8.2.2 继承 171
8.2.3 方法重写 173
8.2.4 多态和动态绑定 173
8.3 对象持久性的基本原则 175
8.4 面向对象数据库管理系统 176
8.4.1 对象标识符 177
8.4.2 ODMG标准 177
8.4.3 对象模型 178
8.4.4 对象定义语言 178
8.4.5 对象查询语言 181
8.4.6 语言绑定 183
8.5 评估OODBMS 185
总结 186
关键术语表 186
思考题 187
问题和练习 188
第9章 扩展关系数据库 189
9.1 关系模型的局限性 189
9.2 RDBMS主动拓展 190
9.2.1 触发
|
內容試閱:
|
恭喜!当你拿起这本书的时候,你已经向数据库的奇妙世界迈出了第一步。正如你将在本书中看到的,数据库有许多不同的形式不仅有简单的电子表格和其他基于文件的形式以及层次结构,还有关系的、面向对象的甚至面向图形的形式。世界上的各行各业都使用数据库来管理、存储和分析数据。
十多年来,我们一直在教授本科生的数据库管理课程,以及研究生的高级数据库管理课程,这本书就是教学成果的结晶。多年来,我们发现没有一本教科书能在既不涉及过多理论细节又不失去重点的情况下全面涵盖这些内容。因此,我们决定合著一本书。写这本书的目的是提供一份完整和实用的指南,涵盖数据库管理方面的所有指导原则,包括:
端到端覆盖知识点,从传统技术到大数据、NoSQL数据库、分析学、数据治理等新兴趋势。
关于如何从过去的数据管理中吸取可能与今天的技术环境相关的教训的独特看法(如定位访问及其在CODASYL和XMLOO数据库中的风险)。
根据我们自己的经验,在实施所考虑的技术时,对数据和分析相关的项目进行批判性的反思并考虑相应的风险管理。我们的合作伙伴来自各行各业,包括银行、零售、政府以及文化部门。
理论和实践相结合,包括来源于多种多样的商业实践、科学研究和学术教学经验的练习、行业实例和案例研究。
这本书还包括一个附录,阐述了我们的online playground环境,你可以用它尝试书中讨论过的许多概念。本书网站附加的资源中还包括一个在线考试题库,包含一些跨章节的问题和YouTube课程的参考资料。
我们希望你会喜欢这本书,并希望你在工作、学习或研究中存储、管理和分析小数据或者大数据时,会发现它是一份有用并且值得信赖的参考资料。
目标读者
我们试图让这本书对新手、有经验的数据库从业人员和学生都一样全面和有用。无论你是一个刚刚开始使用数据库管理系统的新手,一个有经验的旨在温习基础知识概念或理论的SQL用户,或者是希望学习更新、更现代的数据库方法的人,本书都将帮助你熟悉所有必要的概念。因此,这本书非常适合以下人群:
在信息管理或计算机科学的理学学士和理学硕士课程中学习数据库管理的本科生或研究生;
希望与时俱进学习数据库管理知识的专业人员;
信息架构师、数据库设计人员、数据所有者、数据管理员、数据库管理员或对该领域的新发展感兴趣的数据科学家。
由于本书包含贯穿各章节的练习和行业实例,因此也可以用于数据库管理原理、数据库建模、数据库设计、数据库系统、数据管理、数据建模和数据科学课程。此外,本书也对大学制定学位有帮助,例如大数据和分析学等课程或专业。
主要内容
本书由四部分组成。第1~4章是对数据库和数据库设计的初步介绍,首先在第1章介绍了基本概念,紧接着在第2章介绍了常用的数据库管理系统的类型及其架构。第3章讨论了概念数据建模,第4章是对数据管理中涉及的不同角色及其职责的概述。
第二部分将深入介绍各种类型的数据库,从以前的遗留数据库和关系数据库管理系统(第5~7章)到新的技术,如面向对象的、对象关系的和基于XML的数据库(第8~10章),最后在第11章中对NoSQL技术的可靠性和新进展进行概述。这部分还包括在第7章中对结构化查询语言(SQL)的全面概述。
在第三部分中,将深入讨论物理数据存储、事务管理和数据库访问的相关内容。第12章讨论了物理文件组织和索引,第13章讲述了关于物理数据库组织以及业务连续性的内容。接下来在第14章中概述了事务管理的基础知识。第15章介绍了数据库访问机制和各种数据库应用程序编程接口(API)。第16章通过着重介绍数据分布和分布式事务管理对这一部分进行了总结。
第17~20章是本书的最后一部分。在这一部分,我们缩小范围,详细介绍了数据仓库和人们感兴趣的新兴领域,如数据治理、大数据和分析学。第17章深入讨论了数据仓库和商务智能。第18章介绍了数据集成、数据质量和数据治理等管理概念。第19章对大数据进行了深入讨论,并展示了可靠的数据库设置如何成为现代分析环境的基石。第20章通过讨论不同类型的分析方法来总结这一部分和这本书。
看完这本书后,你将获得足以构建一个数据库管理系统的全面且深入的知识体系。你将能够辨别不同的数据库系统,并且对比它们的优缺点。你将能够通过概念、逻辑和物理数据建模,对大数据和分析应用程序做出最佳(投资)决策。你将对SQL有深刻的理解,并将了解数据库管理系统在物理层面上是如何工作的包括事务管理和索引。你将了解如何从外部访问数据库系统,以及如何将它们与其他系统或应用程序集成。最后,你还将了解在使用数据库时所涉及的各种有关管理的内容,包括所涉及的角色、数据集成、质量和治理方面,你还会对如何将数据库管理系统的概念应用于大数据和数据分析有清晰的想法。
如何阅读本书
这本书既可以作为有针对性的参考手册,提供给希望温习某些方面知识和技能的较有经验的读者,也可以作为对整个数据库管理系统领域的概述,提供给入门阶段的读者。读者可以自由地从头到尾阅读,或者跳过某些章节直接从感兴趣的部分开始。我们把这本书清楚地分成了不同的部分和章节,所以读者应该不难理解这本书的整体架构并找到正确的阅读方向。当某个概念将在后面的章节中被扩展,或者重复使用前面章节介绍的概念时,我们会提供清晰的知识关联模块,这样读者可以在继续阅读之前快速复习一下前面的章节,或者到书中的其他地方继续学习。
下面的概述根据你可能感兴趣的领域提供了一些常见的阅读路径:
希望快速掌握关系数据库系统和SQL的新手:从第一部分开始看,然后阅读第6~9章。
有一定经验希望紧跟技术趋势学习新知识的读者:先阅读第11章,然后阅读第15~20章。
希望对数据库系统有更深入了解的数据库日常用户:阅读第一部分。
希望粗略了解一些基本概念以及管理相关内容的管理人员:从第一部分开始,然后继续阅读第17~20章。
数据库管理本科课程的教授:阅读第一和第二部分。
高级数据库管理研究生课程的教授:阅读第三和第四部分。
下表总结了每种对应身份的读者适合阅读的章节以及其他一些章节(将在第4章讨论)。
章节新手有一定经验的用户数据库
用户管理
人员教授
(本科课程)教授
(研究生课程)信息
架构师数据库设计师数据库管理员数据
科学家
1XXXXXXX
2XXXXXXX
3XXXXXXX
4XXXXXXX
5XXX
6XXXX
7XXXX
8XXXX
9XXXX
10XXX
11XXXXXX
12XXX
13XXX
14XX
15XX
16XXX
17XXXXX
18XXXXX
19XXXXX
20XXXX
每一章内容都坚持理论与实践相结合的原则,因此书中的理论概念经常与来自行业的例子交替出现,在知识延伸模块中通过提供更多的背景知识或有趣的故事来说明概念。书中还包括对特定技术优缺点的理论讨论。每一章都有一些练习题来测试你的掌握程度,包括多项选择题和开放性问题。
跨章节的案例研究:Sober
在整本书中,我们使用了一个贯穿始终的案例(一个虚构的名为Sober的自动驾驶汽车出租公司),在每一章中都会重新回顾并对案例进行延伸扩展。因此,当你从头到尾阅读这本书的时候,你将仿佛在和Sober的数据库工程师一起学习,体验他们的数据库管理系统是如何从简单的小规模系统发展成更加现代化并且更加健壮的系统的。从实践的角度来看,不同的章节也形成了一个紧密联系的整体,你将看到如何把所有的技术和概念结合在一起。
补充材料
我们很乐意向你推荐本书网站www.pdbmbook.com。该网页包括一些补充信息,如更新信息、幻灯片、视频讲座、附加资料和问答。它还提供了一个可以动手操作的在线环境,读者可以使用SQL操作MySQL关系数据库管理系统、运行NoSQL数据库系统以及其他的小示例,而不需要安装任何工具。你可以在附录中了解相关信息,它会帮助你学会如何使用。
致谢
感谢各位同事、朋友和数据库管理爱好者在本书写作过程中的贡献和帮助。这本书是多年数据库管理研究和教学的成果。
首先要感谢我们的出版商剑桥大学出版社在两年前接受了我们的出版计划。我们还要感谢Lauren Cowles对整个过程的监督。我们第一次见到Lauren是2016年8月在旧金山,我们一边吃着饭(蟹饼搭配纳帕白葡萄酒),讨论这本书的细节,一边俯瞰着一群正在晒太阳的海豹。事实证明,这是一个可以促成成功伙伴关系的完美环境。我们也要感谢剑桥大学出版社在编辑、生产和营销此书的过程中所给予的帮助。
Gary J. OBrien也特别值得一提,他的仔细校对对书稿贡献巨大。尽管打开一份含有Gary评论的Word文档有时会让人感到担忧,但其中夹杂的一些切中要点的评论以及幽默的注释给文档修改增添了不少乐趣。
我们还要感谢Jacques Vandenbulcke教授,他是第一个向我们介绍数据库管理这个神奇世界的人。能超越Jacques精湛教学才能的只有他的旅游规划技能。他的影响贯穿全书,不仅涉及数据库专业知识(例如,数据库的概念和实例),还涉及旅行经历(例如,英文版封面上的地下水宫和Meneghetti葡萄酒)。
我们也要感谢在过去几年中与我们合作的许多同事、教授、学生、研究人员、业务联系人和朋友所提供的直接和间接的帮助。非常感谢为我们提供了各种用户论坛、博客、在线讲座和教程的活跃的数据库管理社区,这给我们带来了很大的帮助。
最后,感谢伴侣、孩子、父母和家人给我们的爱、支持和鼓励!我们相信他们会从头到尾阅读这本书,这会给一日三餐带来很多生动有趣的话题。
我们尽可能使这本书完整、准确和有趣。当然,真正重要的是作为读者的你对它的看法。所以,请与我们分享你的观点。我们欢迎所有对本书的反馈和评论,所以不要犹豫,让我们知道你的想法吧。
封面:英文版封面图片描绘的是地下水宫,这是位于伊斯坦布尔的一个巨大的地下蓄水设施,由罗马人建于公元6世纪。为什么放这张图片?简单来说,它是那座宏伟城市的重要地标,在整个历史中一直是文化、文明甚至大陆的交汇点。然而,更重要的是,它是一个按行和列组织的存储结构,甚至包括复制和镜像结构,更不用说可以存储历史数据了。此外,它还包含了有史以来最著名的主键之一007,因为它在詹姆斯邦德的电影From Russia With Love中有着重要意义。
Sober 1000技术驱动 Sober是一家新的通过部署自动驾驶汽车来提供出租车服务的公司。虽然该公司拥有自己的自动驾驶出租车车队,但人们也可以将自
|
|