发表于2024-11-23
本书是数据库领域的经典著作,内容系统、全面、实用,被世界多所大学选为数据库相关课程的教材。中文版分为基础篇和进阶篇,分别对应原书~五部分和第六~九部分。本书为基础篇,主要内容包括:数据库系统与数据库设计的基础知识;关系模型与语言;数据库分析与设计的主要技术;数据库设计方法学;以及现代数据库管理相关专题,涵盖安全问题、法律与道德问题、事务管理和查询处理。本书既可作为数据库设计与管理相关课程的本科生或研究生教材,亦可作为数据库专业技术人员的参考书籍。
出版者的话
译者序
前言
第一部分 背景
第1章 数据库简介2
1.1 引言3
1.2 传统的基于文件的系统4
1.2.1 基于文件的方法5
1.2.2 基于文件方法的局限性8
1.3 数据库方法10
1.3.1 数据库10
1.3.2 数据库管理系统(DBMS)11
1.3.3 (数据库)应用程序12
1.3.4 DBMS环境的组成部分13
1.3.5 数据库设计:范型改变15
1.4 数据库环境中的各种角色16
1.4.1 数据管理员和数据库管理员16
1.4.2 数据库设计人员16
1.4.3 应用开发人员17
1.4.4 终端用户17
1.5 数据库管理系统的历史17
1.6 DBMS的优点和缺点20
本章小结23
思考题23
习题24
扩展阅读25
第2章 数据库环境26
2.1 ANSI-SPARC三层体系结构27
2.1.1 外部层28
2.1.2 概念层28
2.1.3 内部层28
2.1.4 模式、映射和实例29
2.1.5 数据独立性30
2.2 数据库语言30
2.2.1 数据定义语言(DDL)31
2.2.2 数据操作语言(DML)31
2.2.3 第四代语言32
2.3 数据模型和概念建模33
2.3.1 基于对象的数据模型34
2.3.2 基于记录的数据模型34
2.3.3 物理数据模型36
2.3.4 概念建模36
2.4 DBMS的功能36
本章小结39
思考题40
习题40
扩展阅读41
第3章 数据库的结构与Web42
3.1 多用户DBMS结构42
3.1.1 远程处理43
3.1.2 文件服务器结构43
3.1.3 传统的两层客户-服务器结构44
3.1.4 三层客户-服务器结构45
3.1.5 N层客户-服务器结构47
3.1.6 中间件47
3.1.7 事务处理监视器49
3.2 Web 服务与面向服务的结构50
3.2.1 Web 服务50
3.2.2 面向服务的结构(SOA)51
3.3 分布式DBMS53
3.4 数据仓库54
3.5 云计算56
3.5.1 云计算的好处与风险58
3.5.2 基于云的数据库方案60
3.6 DBMS的组件63
3.7 Oracle的体系结构65
3.7.1 Oracle的逻辑数据库结构65
3.7.2 Oracle的物理数据库结构67
本章小结71
思考题71
习题72
扩展阅读72
第二部分 关系模型与语言
第4章 关系模型74
4.1 关系模型简史74
4.2 基本术语76
4.2.1 关系数据结构76
4.2.2 数学中的关系78
4.2.3 数据库中的关系79
4.2.4 关系的性质79
4.2.5 关系关键字80
4.2.6 关系数据库模式的表示81
4.3 完整性约束83
4.3.1 空83
4.3.2实体完整性83
4.3.3引用完整性84
4.3.4一般性约束84
4.4视图84
4.4.1术语85
4.4.2视图的用途85
4.4.3视图的更新86
本章小结86
思考题86
习题87
扩展阅读87
第5章 关系代数与关系演算88
5.1关系代数88
5.1.1一元运算90
5.1.2集合运算91
5.1.3连接运算93
5.1.4除法运算96
5.1.5聚集运算和分组运算96
5.1.6 关系代数运算小结97
5.2 关系演算98
5.2.1 元组关系演算99
5.2.2 域关系演算101
5.3 其他语言103
本章小结103
思考题104
习题104
扩展阅读106
第6章 SQL:数据操作107
6.1 SQL简介108
6.1.1 SQL的目标108
6.1.2 SQL的历史109
6.1.3 SQL的重要性110
6.1.4 术语110
6.2 书写SQL命令110
6.3 数据操作111
6.3.1 简单查询112
6.3.2 查询结果排序(ORDER BY子句)118
6.3.3 使用SQL聚集函数119
6.3.4 查询结果分组(GROUP BY子句) 121
6.3.5 子查询123
6.3.6 ANY和ALL125
6.3.7 多表查询126
6.3.8 EXISTS和NOT EXISTS131
6.3.9 合并结果表(UNION、INTERSECT和EXCEPT)132
6.3.10 数据库更新 133
本章小结136
思考题137
习题137
第7章 SQL:数据定义140
7.1 ISO SQL数据类型141
7.1.1 SQL标识符141
7.1.2 SQL标量数据类型 141
7.2 完整性增强特性145
7.2.1 必须有值的数据145
7.2.2 域约束145
7.2.3 实体完整性146
7.2.4 引用完整性147
7.2.5 一般性约束148
7.3 数据定义148
7.3.1 创建数据库149
7.3.2 创建表(CREATE TABLE)149
7.3.3 修改表定义(ALTER TABLE) 152
7.3.4 删除表(DROP TABLE)153
7.3.5 创建索引(CREATE INDEX) 153
7.3.6 删除索引(DROP INDEX)154
7.4 视图154
7.4.1 创建视图(CREATE VIEW)154
7.4.2 删除视图(DROP VIEW)156
7.4.3 视图分解157
7.4.4 视图的局限性157
7.4.5 视图的可更新性158
7.4.6 WITH CHECK OPTION159
7.4.7 视图的优缺点160
7.4.8 视图物化161
7.5 事务162
7.6 自主访问控制163
7.6.1 授予其他用户权限(GRANT)164
7.6.2 撤销用户权限(REVOKE)166
本章小结167
思考题168
习题168
第8章 高级SQL171
8.1 SQL编程语言171
8.1.1 声明172
8.1.2 赋值173
8.1.3 控制语句173
8.1.4 PL/SQL的异常175
8.1.5 PL/SQL的游标176
8.2 子程序、存储过程、函数和包178
8.3 触发器179
8.4 递归184
本章小结185
思考题185
习题186
扩展阅读186
第9章 对象关系DBMS187
9.1 高级数据库应用188
9.2 RDBMS的缺点191
9.3 在关系数据库中存储对象195
9.3.1 将类映射为关系196
9.3.2 访问关系数据库中的对象197
9.4 对象关系数据库系统简介198
9.5 SQL:2011200
9.5.1 行类型201
9.5.2 用户自定义类型201
9.5.3 子类型和超类型204
9.5.4 用户自定义例程206
9.5.5 多态性207
9.5.6 引用类型和对象标识208
9.5.7 创建表208
9.5.8 数据查询210
9.5.9 集类型211
9.5.10 类型视图214
9.5.11 持久化存储模块215
9.5.12 触发器215
9.5.13 大对象217
9.5.14 递归219
9.6 Oracle中面向对象的扩展219
9.6.1 用户自定义数据类型219
9.6.2 操作对象表223
9.6.3 对象视图224
9.6.4 权限225
本章小结226
思考题226
习题226
扩展阅读227
第三部分 数据库分析与设计
第10章 数据库系统开发生命周期230
10.1 信息系统生命周期231
10.2 数据库系统开发生命周期231
10.3 数据库规划233
10.4 系统定义233
10.5 需求收集与分析234
10.5.1 集中式方法235
10.5.2 视图集成方法235
10.6 数据库设计237
10.6.1 数据库设计方法237
10.6.2 数据建模238
10.6.3 数据库设计的阶段划分238
10.7 DBMS选型240
10.8 应用程序设计243
10.8.1 事务设计243
10.8.2 用户界面设计指南244
10.9 建立原型系统246
10.10 实现246
10.11 数据转换与加载246
10.12 测试247
10.13 运行维护247
10.14 CASE工具248
本章小结249
思考题250
习题250
扩展阅读251
第11章 数据库分析与DreamHome案例研究252
11.1 使用实况发现技术的时机253
11.2 收集实况的类型253
11.3 实况发现技术 254
11.3.1 分析文档资料254
11.3.2 面谈254
11.3.3 观察企业的运作255
11.3.4 研究256
11.3.5 问卷调查256
11.4 使用实况发现技术的实例256
11.4.1 DreamHome案例研究—概述257
11.4.2 DreamHome案例研究—数据库规划260
11.4.3 DreamHome案例研究—系统定义264
11.4.4 DreamHome案例研究—需求收集与分析266
11.4.5 DreamHome案例研究—数据库设计271
本章小结271
思考题271
习题271
扩展阅读272
第12章 实体-联系建模273
12.1 实体类型 274
12.2 联系类型275
12.2.1 联系类型的度276
12.2.2 递归联系278
12.3 属性 279
12.3.1 简单属性和组合属性279
12.3.2 单值属性和多值属性279
12.3.3 导出属性 280
12.3.4 关键字 280
12.4 强实体类型与弱实体类型282
12.5 联系的属性282
12.6 结构化约束283
12.6.1 一对一(1:1)联系283
12.6.2 一对多(1:*)联系284
12.6.3 多对多(*:*)联系285
12.6.4 复杂联系的多重性287
12.6.5 基数约束和参与性约束288
12.7 ER模型的问题289
12.7.1 扇形陷阱289
12.7.2 断层陷阱291
本章小结292
思考题293
习题293
第13章 增强的实体-联系建模295
13.1 特殊化/泛化295
13.1.1 超类和子类296
13.1.2 超类/子类联系296
13.1.3 属性的继承297
13.1.4 特殊化过程297
13.1.5 泛化过程298
13.1.6 特殊化/泛化的约束300
13.1.7 基于DreamHome案例研究的Branch视图特殊化/泛化建模示例301
13.2 聚合304
13.3 组合305
本章小结306
......
前 言
背景在过去的30年中,数据库的研究带来了巨大的生产力,使得数据库系统成为软件工程领域最重要的成果。目前,数据库作为信息系统的基本框架,已从根本上改变了许多公司的运作方式。特别是在最近几年里,随着这项技术本身的发展,产生了一些功能更强大、使用更方便的系统。这使得数据库系统变得越来越普及,用户类型也越来越广泛。遗憾的是,正是由于数据库系统的简单性,许多用户有可能尚缺乏必要的知识,还不懂得如何开发正确且高效的系统,就开始创建数据库及其应用程序了。这样很可能导致所谓的 “软件危机”(software crisis,有时也称为“软件抑郁”(software depression))的延续。
编写本书的最初动因是我们在工业界的工作经历,当时我们为新软件系统中数据库的设计提供咨询,间或也解决遗留系统中存在的种种问题。进入学术界后,我们从另一类用户—学生那里发现了类似的问题。因此,本书的目标就是给出一本教程,尽可能清楚地介绍数据库的基础理论,并给出一套既能为专业技术人员亦能为非技术人员所用的数据库设计方法学。
本书针对当前主流的商用产品—关系数据库管理系统(DBMS)给出的设计方法学,已在学术界和工业界测试和使用了许多年。它包括三个主要阶段:数据库的概念设计、逻辑设计和物理设计。第一个阶段在不考虑任何物理因素的前提下设计概念数据模型,得到的数据模型在第二阶段被细化为逻辑数据模型,细化过程主要是去除在关系系统中无法表示的结构。在第三阶段,逻辑数据模型被转换成针对目标DBMS的物理设计,物理设计阶段主要考虑如何设计存储结构和访问方法,以便有效并安全地访问存储在辅存中的数据库。
该方法学按阶段被分为一系列步骤。对于缺少经验的设计者,最好按步骤进行设计,这里所提供的指南可帮助你完成整个过程。对于有经验的设计者,该方法学的指导作用显然会弱化,但经常可用于开发框架和检查列表。为了帮助读者学习使用上述方法学并理解其要点,整个方法学的描述中始终贯穿一个完整的DreamHome案例研究。附录B还给出了另外三个案例,供读者自行研究。
UML(统一建模语言)越来越多的公司都在规范各自的数据建模方法,即选择一种特定的建模方法并在整个数据库开发项目中始终如一地使用它。一种在数据库概念设计和逻辑设计阶段较为通用的高级数据模型是ER(实体-联系)模型,这也是本书采用的模型。由于当前还没有表示ER模型的标准方法,因此大部分书籍在描述关系DBMS的数据库设计时,常常使用下述两种表示方法之一:
Chen氏表示方法,即用矩形表示实体,用菱形表示联系,用线段连接矩形和菱形。
Crow Feet(鸦爪)表示方法,仍用矩形表示实体,用实体间的连线表示联系,在一对多联系连线的多端有一个鸦爪标记。
当前,这两种表示方法都有计算机辅助软件工程(CASE)工具。然而,它们都难于使用和解释。本书的较早版本曾使用Chen氏表示方法,而在随后培生教育出版集团进行的一次问卷调查中,比较一致的意见是应该使用最新的称为UML(Unified Modeling Language,统一建模语言)的面向对象建模语言。UML表示方法结合了面向对象设计三大流派的成分:Rumbaugh的OMT建模语言,Booch的面向对象分析和面向对象设计,以及Jacobson的Objectory。
换用表示方法主要有以下三个原因:(1)UML正成为一种工业标准,例如,对象管理组(OMG)已经采纳UML作为对象方法的标准表示方法;(2)UML表达清楚并易于使用;(3) UML目前已被学术界用于面向对象分析与设计的教学,在数据库模块的教学中也使用UML将会更加一致。因此,在这个版本中,我们将采用UML的类图作为ER模型的表示方法。读者将会发现这种表示方法更加容易理解和使用。
第6版的更新之处扩展了第3章“数据库的结构与Web”,增加了云计算。
修改了第21章“数据管理中的职业、法律与道德问题”。
增加了“数据仓库与时态数据库”(31.5节)。
每章后增加了新的思考题和习题。
修改了与SQL相关的章节,全面反映2011年公布的新标准SQL:2011。
修订了第26章“复制与移动数据库”。
修改了关于Web-DBMS集成和XML的章节。
与Oracle相关的内容一律修改为针对Oracle 11g。
读者对象本书可作为本科生数据库管理或数据库设计的导论性教材,也可作为研究生或高年级本科生相关课程的教材,学时可分为一到两个学期。通常信息系统、商业IT或计算机科学等专业都包含这类课程。
本书还可以作为一些IT专业人士的参考书,如系统分析和设计人员、应用程序开发人员、系统程序员、数据库从业人员及独立的自学者。随着当今数据库系统的广泛使用,这些专业人士可能来自于需要数据库的任何类型的公司。
读者在学习关于物理数据库设计的第18章和关于查询处理的第23章之前,如果对附录F中介绍的文件组织和数据结构相关概念有清楚的了解,那么将会有所帮助。理想的情况是这些背景知识已从前导课程中获得。如果不具备这个条件,则可以在开始数据库课程后,学 数据库系统:设计、实现与管理(基础篇)(原书第6版) 下载 mobi epub pdf txt 电子书 格式
数据库系统:设计、实现与管理(基础篇)(原书第6版) 下载 mobi pdf epub txt 电子书 格式 2024
数据库系统:设计、实现与管理(基础篇)(原书第6版) 下载 mobi epub pdf 电子书质量还行,感觉不是正版
评分很快很好
评分速度快,很好
评分这本书写得真的很好,很经典,值得认真阅读
评分东西不错,而且送货快,很好!
评分非常好好好好哈哈哈哈哈
评分买了一堆书回来慢慢看,书质量很好,学有所成。
评分此用户未填写评价内容
评分比较合适,很喜欢这本书
数据库系统:设计、实现与管理(基础篇)(原书第6版) mobi epub pdf txt 电子书 格式下载 2024