本书全面地介绍了数据库系统的概念、设计和应用,共27章,分8个部分:第一部分数据库概念(第1~3章)、第二部分关系模型(第4~7章)、第三部分数据库设计(第8~10章)、第四部分查询、事务和安全管理(第11~14章)、第五部分基于对象的数据库(第15~16章)、第六部分高级和新兴的数据库概念(第17~21章)、第七部分案例学习(第22章)、第八部分商业数据库(第23~27章)。
数据库系统
概念、设计及应用
Database Systems
Concepts, Design and Applications
(印) S. K. Singh 著 何玉洁 王晓波 车 蕾 等译
本书全面介绍数据库系统的概念、设计和应用,涵盖了数据库系统的重要领域,完整地呈现了管理数据库系统的方法,以及数据库的发展方向。本书可作为计算机科学与工程等相关专业本科生和研究生的教科书,也可作为工程技术人员的参考手册和实用指南。
本书特点
内容丰富。涵盖了数据库基础理论的方方面面,从数据库的物理和逻辑结构,到数据库的分析与设计,再到数据库的安全与可靠等。此外,还包括了新的数据库技术和发展方向,比如分布式数据库、并行数据库、面向对象数据库等。同时,也详细地介绍了目前几个主流的商业数据库管理系统,如Oracle、IBM DB2、SQL Server、MySQL等。
通俗易懂。采用大量图表和示例讲解枯燥抽象的理论概念,使读者易于阅读和理解。
易于教学。每章的最后都包含大量习题,且形式多样,既减轻了教师的出题工作量,也便于学生了解自己的学习情况。
本书涵盖了数据库系统的重要领域,完整地呈现了数据库管理系统的原理,以及数据库的发展方向。
本书可作为计算机科学与工程、信息技术以及BCA、MCA和MBA课程的本科生和研究生的教科书,也可作为工程技术人员的参考手册和实用指南。
本书全面地介绍了数据库系统的概念、设计和应用,共27章,分8个部分:
第一部分(数据库概念:第1~3章)概述数据库系统、数据库架构和物理数据组织的概念。
第二部分(关系模型:第4~7章)介绍了关系模型,并讨论了关系系统、查询语言以及实体-联系(ER)模型。
第三部分(数据库设计:第8~10章)覆盖了数据库系统设计的各个方面,并讨论了通过函数分解和规范化处理获得最小数据冗余的方法。
第四部分(查询、事务和安全管理:第11~14章)讨论了查询、事务和数据系统中的恢复管理技术,包括查询优化技术(用于选择一个有效的执行计划来最小化运行时间)、数据库事务的主要性质、数据库恢复以及在发生故障时可用于确保数据库一致性的技术,同时包括如何防止数据安全的潜在威胁以及未授权的访问。
第五部分(基于对象的数据库:第15~16章)讨论了面向对象数据库的关键概念、面向对象语言,以及商业面向对象数据库管理系统中的新类。
第六部分(高级和新兴的数据库概念:第17~21章)介绍了高级和新兴的数据库概念,比如并行数据库、分布式数据库管理、决策支持系统、数据仓库以及数据挖掘。本部分还介绍了新兴的数据库技术,比如可用于Web的数据库、移动数据库、多媒体数据库、空间数据库以及数字图书馆。
第七部分(案例学习:第22章)提供了6个与数据库系统设计有关的案例,这些案例帮助学生回顾概念并加深对概念的理解。
第八部分(商业数据库:第23~27章)讨论目前在市场上可用的商业数据库,包括DB2 Universal Database、Oracle、Microsoft SQL Server、Access和MySQL。这将帮助学生从理论向实际应用过渡。
全书包含大量图示,在每章的最后包含大量示例,以增强本书的可读性。欢迎对本书提出改进建议。
感谢
感谢在我完成这本书的过程中,以各种方式帮助我、赋予我灵感并给予我精神上的支持和鼓励的同事和朋友。感谢很多学生和工程师给我提供的有用的注释和建议。特别感谢本书手稿的评审者。
感谢Tata Steel的高级管理人员,感谢他们的鼓励和支持,没有他们我将不能完成此书。特别感谢Tata Steel前任管理者JACSaldanha先生,他给予我持续不断的灵感。
特别感谢我的妻子Meena和我的孩子,感谢他们的忍耐、理解和鼓励。永远感谢我的父母,感谢他们对我的爱、支持和鼓励。
深深地感谢Tata Steel的前任管理主任JJIrani博士,感谢他对本书的关心和鼓励。
最后,感谢Pearson Eduaction的编辑团队给予我的协助。
SKSingh
计算机\数据库
本书涵盖了数据库系统的广泛和重要的领域,完整地呈现了管理这些系统的原理,并对这些领域的未来开发进行了展望。本书可作为计算机科学与工程、信息技术以及BCA、MCA和MBA课程的本科生和研究生的教科书,也可作为工程技术人员的参考手册和实用指南。
本书特点
? 内容丰富。涵盖了数据库基础理论的方方面面,从数据库的物理和逻辑结构,到数据库的分析与设计,再到数据库的安全与可靠等。此外,还包括了新的数据库技术和发展方向,比如分布式数据库、并行数据库、面向对象数据库等。同时,也详细地介绍了目前几个主流的商业数据库管理系统,如Oracle、IBM DB2、SQL Server、MySQL等。
? 通俗易懂。用朴素的语言、形象的图表、丰富的示例讲解枯燥抽象的理论概念,使读者易于阅读和理解。
? 易于教学。每章的最后都包含大量的习题,且习题形式多样,包括复习题、判断题、选择题、填空题等,这一方面减轻了教师的出题工作量,同时便于学生了解自己的学习情况。本书还提供了习题答案,以方便读者自我验证对知识的掌握程度。
(印) S. K. Singh 著:S. K. Singh 位于詹谢普尔(印度东北部城市)的Tata钢铁有限公司负责人,同时Regional Institute of Technology(现在是NIT,国家技术学院)的动力电子学科学家。他在IT设计、开发和实现领域有超过26年的经验,为表彰他在计算机科学和工程领域的突出贡献,印度工程学院(The Institution of Engineers)授予其杰出工程师奖。
何玉洁 王晓波 车蕾 等译:暂无简介
数据库技术是计算机科学中一个非常重要的部分,数据库技术以及数据库的应用正以日新月异的速度发展,现代大学生(包括计算机专业和非计算机专业)学习和掌握数据库知识是非常必要的。本书作为一本内容全面的数据库专业技术图书,具有以下几个独到之处:
第一,内容丰富。本书涵盖了数据库基础理论的方方面面,从数据库的物理和逻辑结构,到数据库的分析与设计,再到数据库的安全与可靠等。此外,还包括了新的数据库技术和发展方向,比如分布式数据库、并行数据库、面向对象数据库等。同时,也详细地介绍了目前几个主流的商业数据库管理系统,如Oracle、IBM DB2、SQL Server、MySQL等。这体现了作者广博的知识以及深厚的理论和实践功底。
第二,通俗易懂。采用大量图表和示例讲解枯燥抽象的理论概念,使读者易于阅读和理解。
第三,易于教学。本书每章的最后都包含大量习题,且习题形式多样,包括复习题、判断题、选择题、填空题等,这既减轻了教师的出题工作量,又便于学生了解自己的学习情况。本书还提供了习题答案
,以方便读者自我验证对知识的掌握程度。
习题答案请登录华章网站(wwwhzbookcom)下载。——编辑注
本书作为一本教科书,非常适合计算机及相关专业本科生使用,同时它还是一本关于数据库技术的非常全面的参考书籍,对数据库应用人员和IT领域的相关人员也有很好的参考价值。
本书由何玉洁组织翻译并负责审校,王晓波、车蕾、张泽虹、赵延、张宏旭、于小倩、范洁、张俊超、赵凯、吴春飞、卢立能、李迎、何青、迟育强、靳秀罗等参加了本书部分章节的翻译工作。具体情况如下:王晓波翻译了第1、2、5章,张泽虹翻译了第3、4章,车蕾翻译了第6、7、8、9、10、13、14章,张宏旭翻译了第11章,于小倩翻译了第12章,卢立能翻译了第15章,范洁翻译了第16章,张俊超翻译了第17章,赵凯翻译了第18章,吴春飞翻译了第19章,赵延翻译了第20章,李迎翻译了第21章,何青翻译了第22章,迟育强翻译了第23章,靳秀罗翻译了第24章,其他部分由何玉洁翻译。是大家的认真工作使本书得以顺利完成,在此表示衷心的感谢。
限于译者水平,难免有疏漏和不妥之处,恳请读者批评指正。
何玉洁
出版者的话
译者序
序
前言
第一部分数据库概念
第1章数据库系统概述
11引言
12基本概念和定义
121数据
122信息
123数据与信息
124数据仓库
125元数据
126系统目录
127数据项或字段
128记录
129文件
13数据字典
131数据字典的组件
132主动和被动数据字典
14数据库
15数据库系统
16数据管理员
17数据库管理员
18面向文件系统与数据库系统
181学习面向文件系统的优点
182面向文件系统的缺点
183数据库方法
184数据库系统环境
185DBMS的优点
186DBMS的缺点
19数据库系统的历史观点
110数据库语言
1101数据定义语言
1102数据存储定义语言
1103视图定义语言
1104数据操纵语言
1105第四代语言
111事务管理
习题
第2章数据库系统架构
21引言
22模式、子模式和实例
221模式
222子模式
223实例
23ANSISPARC的三层数据库架构
231内部层
232概念层
233外部层
234三层架构的优点
235三层架构的特性
24数据独立性
241物理数据独立性
242逻辑数据独立性
25映射
251概念模式/内模式映射
252外模式/概念模式映射
26DBMS的结构、组成和功能
261DBMS的结构
262DBMS的执行步骤
263DBMS的组成
264DBMS的功能和服务
27数据模型
271基于记录的数据模型
272基于对象的数据模型
273物理数据模型
274层次数据模型
275网状数据模型
276关系数据模型
277实体-联系数据模型
278面向对象数据模型
279不同数据模型之间的比较
28数据库系统的类型
281集中式数据库系统
282并行数据库系统
283客户/服务器数据库系统
284分布式数据库系统
习题
第3章物理数据组织
31引言
32物理存储媒体
321主存储设备
322二级存储设备
323三级存储设备
324高速缓存
325主存储器
326闪存
327磁盘存储器
328光存储器
329磁带存储器
33RAID技术
331使用并行机制改进性能
332RAID技术的优点
333RAID技术的缺点
334使用冗余来提高可靠性
335RAID级别
336RAID级别的选择
34文件的基本概念
341文件类型
342缓冲区管理
35文件组织
351记录和记录型
352文件组织技术
36索引
361主索引
362二级索引
363基于树的索引
习题
第二部分关系模型
第4章关系代数和关系演算
41引言
42关系模型的历史观点
43关系数据库的结构
431域
432关系的键
44关系代数
441选择操作
442投影操作
443连接操作
444外连接操作
445并运算
446差运算
447交运算
448笛卡儿积运算
449除运算
4410关系代数中的查询示例
45关系演算
451元组关系演算
452域关系演算
习题
第5章关系查询语言
51引言
52Codd的规则
53基于语言的信息系统(ISBL)
531ISBL查询举例
532ISBL的局限性
54查询语言
541QUEL查询举例
542QUEL的优点
55结构化查询语言
551SQL的优点
552SQL的缺点
553基本的SQL数据结构
554SQL 数据类型
555SQL运算符
556SQL数据定义语言
557SQL数据查询语言
558SQL数据操纵语言
559SQL数据控制语言
5510SQL数据管理语句
5511SQL事务控制语句
56嵌入式结构化查询语言
57基于例子的查询
571基于一个关系的QBE查询(单表检索)
572基于几个关系的QBE查询(多表检索)
573利用QBE对数据库进行修改(更新、删除和插入)
574Microsoft Access中的DBE查询
575QBE的优点
576QBE的缺点
习题
第6章实体-联系模型
61引言
62ER模型的基本概念
621实体
622联系
623属性
624约束
63ER模型向关系的转换
64ER模型存在的问题
641扇形陷阱
642深坑陷阱
65ER图符号
习题
第7章增强的实体-联系模型
71引言
72超类和子类实体型
721超类和子类的符号
722属性继承
723超类/子类联系的使用条件
724使用超类和子类的优点
73特殊化和一般化
731特殊化
732一般化
733特殊化和一般化的约束
74分类
75EER图的例子
习题
第三部分数据库设计
第8章数据库设计介绍
81引言
82软件开发生命周期
821软件开发成本
822结构化系统分析与设计
83数据库开发生命周期
84自动化设计工具
841手工数据库设计的局限性
842计算机辅助软件工程工具
习题
第9章函数依赖和模式分解
91引言
92函数依赖
921函数依赖图及其示例
922完全函数依赖
923函数依赖的Armstrong公理
924多余的函数依赖
925函数依赖集的闭包
93模式分解
931有损分解
932无损连接分解
933保持函数依赖的分解
习题
第10章规范化
101引言
102规范化
103范式
1031第一范式
1032第二范式
1033第三范式
104BoyceCodd范式
105多值依赖和第四范式
1051多值依赖的性质
1052第四范式
1053多值依赖和4NF的问题
106连接依赖和第五范式
1061连接依赖
1062第五范式
习题
第四部分查询、事务和安全管理
第11章查询处理及优化
111引言
112查询处理
113语法分析器
114查询分解
1141查询分析
1142查询规范化
1143语义分析器
1144查询简化器
1145查询重构
115查询优化
1151启发式查询优化
1152转换规则
1153启发式优化算法
116查询优化中的成本估算
1161查询执行的成本部分
1162选择操作的成本函数
1163连接操作的成本函数
117流水线和具体化操作
118查询估算计划的结构
习题
第12章事务处理与并发控制
121引言
122事务概念
1221事务执行和问题
1222SQL事务执行
1223事务的性质
1224事务日志
123并发控制
1231并发控制问题
1232一致性的度
1233可交换的活动
1234调度
1235可串行化调度
124并发控制中的加锁方法
1241锁的粒度
1242锁的类型
1243死锁
125并发控制的时间戳方法
1251粒度时间戳
1252时间戳排序
1253解决时间戳中的冲突
1254时间戳的缺点
126乐观的并发控制方法
1261读阶段
1262验证阶段
1263写阶段
1264乐观的并发控制方法的优点
1265乐观的并发控制方法的问题
1266乐观的并发控制方法的应用
习题
第13章数据库恢复系统
131引言
132数据库恢复概念
133数据库故障类型
134数据库恢复的类型
1341向前恢复(或重做)
1342向后恢复(或撤销)
1343介质恢复
135恢复技术
1351延迟更新
1352立即更新
1353影子分页
1354检查点
136缓冲区管理
习题
第14章数据库安全
141引言
142数据库安全的目标
1421数据库安全的威胁
1422数据库安全问题的类型
1423授权和认证
143自主访问控制
1431授予和收回权限
1432审计跟踪
144强制访问控制
145防火墙
146统计数据库安全
147数据加密
1471简单替换方法
1472多字母替换方法
习题
第五部分基于对象的数据库
第15章面向对象数据库
151引言
152面向对象数据模型
1521面向对象数据库的特征
1522OODM与ER模型的比较
153面向对象数据库的概念
1531对象
1532对象标识
1533对象属性
1534类
1535对象间的关联或联系
1536结构、继承和概括
1537操作
1538多态性
1539OO概念的优点
154面向对象DBMS
1541OODBMS特性
1542OODBMS的优点
1543OODBMS的缺点
155对象数据管理组和面向对象语言
1551对象模型
1552对象定义语言
1553对象查询语言
习题
第16章对象-关系数据库
161引言
162对象-关系DBMS的历史
1621RDBMS的缺点
1622复杂对象
1623ORDBMS的出现
163ORDBMS查询语言(SQL3)
164ORDBMS设计
1641ORDBMS的挑战
1642ORDBMS的特点
1643ORDBMS和OODBMS的比较
1644ORDBMS的优点
1645ORDBMS的缺点
习题
第六部分高级和新兴的数据库概念
第17章并行数据库系统
171引言
172并行数据库
1721并行数据库的优点
1722并行数据库的缺点
173并行数据库的架构
1731共享内存的多CPU并行数据库架构
1732共享磁盘的多CPU并行数据库架构
1733无共享的多CPU并行数据库架构
174并行数据库处理的关键要素
1741加速比
1742可扩展性
1743同步
1744加锁
175查询并行机制
1751I/O并行机制(数据分区)
1752查询内并行机制
1753交互查询并行机制
1754操作内并行机制
1755交互操作并行机制
习题
第18章分布式数据库系统
181引言
182分布式数据库
1821并行数据库与分布式数据库之间的区别
1822分布式数据库的期望性质
1823分布式数据库的类型
1824分布式数据库的期望功能
1825分布式数据库的优点
1826分布式数据库的缺点
183分布式数据库的架构
1831客户/服务器架构
1832合作服务器系统
1833中间件系统
184分布式数据库系统设计
1841数据分解
1842数据分配
1843数据复制
185分布式查询处理
186分布式数据库中的并发控制
1861分布式加锁
1862分布式死锁
1863时间戳
187分布式数据库中的恢复控制
1871两阶段提交
1872三阶段提交
习题
第19章决策支持系统
191引言
192决策支持系统的历史
193决策支持系统的定义
1931DSS的性质
1932DSS的优点
1933DSS的组件
194操作型数据与DSS数据
习题
第20章数据仓库与数据挖掘
201引言
202数据仓库
2021数据仓库概念的演变
2022数据仓库的主要组成
2023数据仓库的特点
2024数据仓库的优点
2025数据仓库的局限性
203数据仓库的架构
2031数据集市
2032联机分析处理
204数据挖掘
2041数据挖掘过程
2042数据挖掘知识发现
2043数据挖掘的目标
2044数据挖掘工具
2045数据挖掘应用
习题
第21章新的数据库技术
211引言
212Internet数据库
2121Internet技术
2122万维网
2123Web技术
2124Web数据库
2125Web数据库的优点
2126Web数据库的缺点
213数字图书馆
2131数字图书馆简介
2132数字图书馆的组成
2133对数字图书馆的需求
2134科学杂志的数字图书馆
2135数字图书馆中的技术开发
2136数字图书馆的技术领域
2137访问数字图书馆
2138数字图书馆数据库
2139数字图书馆的潜在优点
214多媒体数据库
2141多媒体资源
2142多媒体数据库查询
2143多媒体数据库应用
215移动数据库
2151移动数据库的架构
2152移动计算的特点
2153移动DBMS
2154商业移动数据库
216空间数据库
2161空间数据
2162空间数据库特性
2163空间数据模型
2164空间数据库查询
2165空间数据库查询技术
217基于集群的灾难预防数据库
习题
第七部分案例学习
第22章数据库设计:案例学习
221引言
222小额银行存放业务的数据库设计
2221需求定义及分析
2222概念设计:实体-联系图
2223逻辑数据库设计:表定义
2224逻辑数据库设计:示例表数据
223辅助制造系统的数据库设计
2231需求定义及分析
2232概念设计:实体-联系图
2233逻辑数据库设计:表定义
2234逻辑数据库设计:示例表数据
2235函数依赖图
224年费用合同系统的数据库设计
2241需求定义及分析
2242概念设计:实体-联系图
2243逻辑数据库设计:表定义
2244逻辑数据库设计:示例表数据
2245函数依赖图
225技术培训学院的数据库设计
2251需求定义及分析
2252概念设计:实体-联系图
2253逻辑数据库设计:表定义
226网上书店的数据库设计
2261需求定义及分析
2262概念设计:实体-联系图
2263逻辑数据库设计:表定义
2264需求定义中的更改(附加)
2265修改的表定义
2266模式求精
2267修改实体-联系图
2268逻辑数据库设计:示例表数据
227客户订购仓库的数据库设计
2271需求定义及分析
2272概念设计:实体-联系图
2273逻辑数据库设计:表定义
2274逻辑数据库设计:示例表数据
2275函数依赖图
2276逻辑记录结构及访问路径
习题
第八部分商业数据库
第23章IBM DB2 通用数据库
231引言
232DB2产品
233DB2通用数据库
2331DB2 UDB的配置
2332其他DB2 UDB相关的产品
2333DB2通用数据库的主要组件
2334DB2 UDB的特性
234安装DB2 UDB服务器的必备条件
2341安装必备条件:DB2 UDB个人版(Windows)
2342安装必备条件:DB2 工作组服务器版和无分区的DB2企业服务器版(Windows)
2343安装必备条件:分区的DB2企业服务器版(Windows)
2344安装必备条件:DB2连接个人版(Windows)
2345安装必备条件:DB2连接企业版(Windows)
2346安装必备条件:DB2 查询巡视器服务器(Windows)
2347安装必备条件:DB2多维视图(Windows)
235安装DB2客户端的必备条件
2351安装必备条件:DB2客户端(Windows)
2352安装必备条件:DB2查询巡视器客户端(Windows)
236安装和配置DB2 UDB服务器
习题
第24章Oracle
241引言
242Oracle的历史
2421Oracle家族
2422Oracle软件
243Oracle特性
2431应用程序开发特性
2432通信特性
2433分布式数据库特性
2434数据移动特性
2435性能特性
2436数据库管理特性
2437备份和恢复特性
2438Oracle Internet开发人员套件
2439Qracle Lite
244SQL*Plus
2441SQL*Plus的特性
2442使用SQL*Plus
2443编辑器命令
2444SQL*Plus帮助系统以及其他使用的命令
2445格式化输出
245Oracle的数据字典
2451数据字典表
2452数据字典视图
246Oracle系统架构
2461存储管理和进程
2462逻辑数据库结构
2463物理数据库结构
247Oracle 9i安装指南
习题
第25章Microsoft SQL Server
251引言
252Microsoft SQL Server设置
2521SQL Server 2000版本
2522SQL Server 2005版本
2523Microsoft SQL Server的特性
253SQL Server中的存储过程
2531存储过程的优点
2532存储过程的结构
254安装Microsoft SQL Server 2000
2541安装步骤
2542启动和停止SQL Server
2543自动启动SQL Server服务
2544到Microsoft SQL Server数据库系统的连接
2545数据的源
2546安全性
255Microsoft SQL Server的数据库操作
2551数据库连接
2552创建数据库
习题
第26章Microsoft Access
261引言
262Access数据库
2621表
2622查询
2623报表
2624窗体
2625宏
263Access中的数据库操作
2631创建窗体
2632创建一个简单的查询
2633修改查询
264Microsoft Access的特性
习题
第27章MySQL
271引言
272MySQL概览
2721MySQL特性
2722MySQL稳定性
2723MySQL表大小
2724MySQL开发途径
2725MySQL 40中可使用的特性
2726嵌入的MySQL服务器
2727MySQL 41的特性
2728MySQL 50:下一个开发的版本
2729MySQL邮件发送清单
27210MySQL支持的操作系统
273PHP简介
2731PHP语言语法
2732PHP变量
2733PHP操作
2734安装PHP
274MySQL数据库
2741创建自己的第一个数据库
2742MySQL连接
2743选择使用的数据库
2744MySQL表
2745创建MySQL表
2746在MySQL表中插入数据
2747MySQL查询
2748从MySQL中检索信息
275在Windows中安装MySQL
2751Windows系统需求
2752选择一个安装包
2753使用自动的安装程序安装MySQL
2754使用MySQL安装向导
2755下载与启动MySQL安装向导
2756MySQL安装步骤
2757建立许可和密码
习题
参考文献