图书介绍

数据库系统基础 第5版2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

数据库系统基础 第5版
  • (美)埃尔姆斯里(Elmasri,R.E.),(美)内瓦西(Navathe,S.B.)著;邵佩英等译 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:7115164088
  • 出版时间:2007
  • 标注页数:409页
  • 文件大小:36MB
  • 文件页数:426页
  • 主题词:数据库系统-理论

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

数据库系统基础 第5版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第一部分 引言与概念建模2

第1章 数据库与数据库用户2

1.1 引言2

1.2 一个示例4

1.3 数据库方法的特征6

1.3.1 数据库系统的自描述性7

1.3.2 程序与数据分离和数据抽象7

1.3.3 支持数据的多视图9

1.3.4 数据共享和多用户事务处理9

1.4 幕前角色10

1.4.1 数据库管理员10

1.4.2 数据库设计者10

1.4.3 最终用户10

1.4.4 系统分析员和应用程序员(软件工程师)11

1.5 幕后工作者11

1.6 使用DBMS方法的优势12

1.6.1 控制冗余12

1.6.2 限制非授权的访问12

1.6.3 为程序对象提供持久性存储13

1.6.4 提供高效查询处理的存储结构13

1.6.5 提供备份与恢复14

1.6.6 提供多用户界面14

1.6.7 表示数据间复杂联系14

1.6.8 确保完整性约束14

1.6.9 允许使用规则进行推理和动作15

1.6.10 使用数据库方法的其他含义15

1.7 数据库应用简史16

1.7.1 使用分层和网状系统的早期数据库应用16

1.7.2 关系数据库提供应用灵活性16

1.7.3 面向对象的应用和对更复杂数据库的需求16

1.7.4 在Web上交换数据实现电子商务17

1.7.5 为新应用扩展数据库功能17

1.7.6 数据库与信息检索17

1.8 什么时候不应该使用DBMS18

1.9 小结18

复习题18

练习题19

选读文献19

第2章 数据库系统的概念和体系结构20

2.1 数据模型、模式和实例20

2.1.1 数据模型的分类21

2.1.2 模式、实例和数据库状态21

2.2 三层模式体系结构和数据独立性23

2.2.1 三层模式体系结构23

2.2.2 数据独立性24

2.3 数据库语言和界面25

2.3.1 DBMS的语言25

2.3.2 DBMS界面26

2.4 数据库系统的环境27

2.4.1 DBMS的组成模块27

2.4.2 数据库系统实用工具29

2.4.3 工具、应用环境和通信软件29

2.5 DBMS的集中式和客户/服务器体系结构30

2.5.1 集中式DBMS体系结构30

2.5.2 基本的客户/服务器体系结构31

2.5.3 DBMS两层客户/服务器体系结构32

2.5.4 面向Web应用的三层和n层体系结构32

2.6 数据库管理系统的分类33

2.7 小结35

复习题36

练习题36

选读文献37

第3章 使用实体-联系(ER)模型的数据建模38

3.1 使用高级概念数据模型进行数据库设计39

3.2 一个数据库应用示例40

3.3 实体类型、实体集、属性和码40

3.3.1 实体和属性41

3.3.2 实体类型、实体集、码和值集43

3.3.3 COMPANY数据库的初步概念设计45

3.4 联系类型、联系集、角色和结构约束46

3.4.1 联系类型、联系集和联系实例47

3.4.2 联系度、角色名称和递归联系48

3.4.3 联系类型的约束49

3.4.4 联系类型的属性50

3.5 弱实体类型51

3.6 COMPANY数据库ER设计的改进52

3.7 ER图、命名约定和设计问题53

3.7.1 ER图表示法小结53

3.7.2 模式结构的正确命名53

3.7.3 ER概念设计的设计选择54

3.7.4 ER图的候选表示法55

3.8 其他表示法示例:UML类图55

3.9 高于2度的联系类型57

3.9.1 对二元和三元(或高度)联系的选择57

3.9.2 三元(或高度)联系上的约束60

3.10 小结60

复习题61

练习题61

实验题66

选读文献66

第4章 增强的实体-联系(EER)建模68

4.1 子类、超类和继承68

4.2 特化和泛化69

4.2.1 特化69

4.2.2 泛化71

4.3 特化和泛化层次的约束和特征71

4.3.1 特化与泛化的约束72

4.3.2 特化和泛化的层次和格73

4.3.3 利用特化与泛化改进概念模型75

4.4 采用类别的并类型建模76

4.5 示例UNIVERSITY的EER模式设计选择和形式化定义78

4.5.1 UNIVERSITY数据库示例78

4.5.2 特化/泛化的设计选择79

4.5.3 EER模型概念的形式化定义80

4.6 其他表示法的示例:UML类图中的特化/泛化81

4.7 数据抽象、知识表示和本体论概念82

4.7.1 分类和实例化82

4.7.2 标识83

4.7.3 特化和泛化83

4.7.4 聚集和关联83

4.7.5 本体论和语义网85

4.8 小结86

复习题86

练习题86

实验题91

选读文献93

第二部分 关系模型:概念、约束、语言、设计和编程第5章 关系数据模型和关系数据库约束96

5.1 关系模型概念96

5.1.1 域、属性、元组和关系97

5.1.2 关系的特性99

5.1.3 关系模型表示法101

5.2 关系模型约束和关系数据库模式101

5.2.1 域约束102

5.2.2 码约束和NULL值约束102

5.2.3 关系数据库和关系数据库模式103

5.2.4 实体完整性、参照完整性和外码104

5.2.5 其他类型的约束106

5.3 更新操作、事务和处理违例约束107

5.3.1 插入操作107

5.3.2 删除操作108

5.3.3 更新操作109

5.3.4 事务的概念109

5.4 小结109

复习题110

练习题110

选读文献113

第6章 关系代数和关系演算114

6.1 一元关系操作:SELECT和PROJECT115

6.1.1 SELECT操作115

6.1.2 PROJECT操作116

6.1.3 操作序列和RENAME操作117

6.2 基于集合论的关系代数操作118

6.2.1 UNION、INTERSECTION和MINUS操作118

6.2.2 笛卡儿积(或叉积)操作120

6.3 二元关系操作:JOIN和DIVISION121

6.3.1 JOIN操作121

6.3.2 JOIN的变体EQUIJOIN和NATURAL JOIN122

6.3.3 关系代数操作的完备集124

6.3.4 DIVISION操作124

6.3.5 查询树表示法126

6.4 其他关系操作127

6.4.1 广义投影127

6.4.2 聚集函数和分组127

6.4.3 递归闭包操作128

6.4.4 OUTER JOIN操作130

6.4.5 OUTER UNION操作130

6.5 关系代数中的查询示例131

6.6 元组关系演算133

6.6.1 元组变量和值域关系133

6.6.2 元组关系演算中的表达式与公式134

6.6.3 存在量词与全称量词134

6.6.4 使用存在量词的查询示例135

6.6.5 查询图表示法136

6.6.6 全称量词与存在量词的转换137

6.6.7 使用全称量词137

6.6.8 安全表达式138

6.7 域关系演算139

6.8 小结140

复习题141

练习题141

实验题144

选读文献146

第7章 使用ER到关系的映射和EER到关系的映射进行关系数据库设计147

7.1 使用ER到关系的映射进行关系数据库设计147

7.1.1 ER到关系的映射算法147

7.1.2 ER模型构造映射的讨论和总结151

7.2 EER模型构造到关系的映射152

7.2.1 特化或泛化的映射153

7.2.2 共享子类(多重继承)的映射154

7.2.3 类别的映射(并类型)155

7.3 小结156

复习题156

练习题156

实验题157

选读文献157

第8章 SQL-99:模式定义、约束、查询和视图158

8.1 SQL数据定义和数据类型159

8.1.1 SQL2中模式和目录的概念159

8.1.2 SQL的CREATE TABLE命令160

8.1.3 SQL中的属性数据类型和域161

8.2 在SQL中定义约束162

8.2.1 指定属性约束和属性默认值162

8.2.2 指定码和参照完整性约束163

8.2.3 为约束命名164

8.2.4 使用CHECK指定元组约束164

8.3 SQL中的模式更改语句165

8.3.1 DROP命令165

8.3.2 ALTER命令165

8.4 SQL中的基本查询166

8.4.1 基本SQL查询的SELECT-FROM-WHERE结构166

8.4.2 多义属性名、别名和元组变量168

8.4.3 未指定WHERE子句的查询语句和星号(*)的用法170

8.4.4 SQL中作为集合的表170

8.4.5 子串样式匹配和算术操作符172

8.4.6 查询结果排序173

8.5 更复杂的SQL查询173

8.5.1 包含NULL和三值逻辑的比较173

8.5.2 嵌套查询、元组与集/多集比较174

8.5.3 关联嵌套查询176

8.5.4 SQL中的EXISTS和UNIQUE函数177

8.5.5 SQL中的显式集合和属性重新命名178

8.5.6 SQL中的连接表和外连接179

8.5.7 SQL中的聚集函数180

8.5.8 分组:GROUP BY和HAVING子句181

8.5.9 SQL查询的讨论与小结183

8.6 SQL中的插入、删除和更新语句184

8.6.1 INSERT命令184

8.6.2 DELETE命令185

8.6.3 UPDATE命令186

8.7 指定约束作为断言和触发器186

8.8 SQL中的视图(虚表)187

8.8.1 SQL中视图的概念187

8.8.2 SQL中的视图规范188

8.8.3 视图的实现和更新188

8.9 SQL的其他特性190

8.10 小结190

复习题192

练习题192

实验题194

选读文献195

第9章 SQL程序设计技术简介197

9.1 数据库程序设计:问题与技术197

9.1.1 数据库程序设计方法198

9.1.2 阻抗失配198

9.1.3 数据库程序设计中的典型交互序列199

9.2 嵌入式SQL、动态SQL和SQLJ199

9.2.1 用嵌入式SQL检索单个元组199

9.2.2 在嵌入式SQL中使用游标检索多个元组202

9.2.3 使用动态SQL在运行时指定查询203

9.2.4 SQLJ:Java中嵌入SQL命令204

9.2.5 SQLJ中使用迭代器检索多个元组206

9.3 使用函数调用的数据库程序设计:SQL/CLI和JDBC207

9.3.1 以C语言为宿主语言,使用SQL/CLI进行数据库程序设计208

9.3.2 JDBC:面向Java程序设计的SQL函数调用211

9.4 数据库存储过程与SQL/PSM214

9.4.1 数据库存储过程和函数214

9.4.2 SQL/PSM:扩展SQL以指定持久存储模块215

9.5 小结216

复习题216

练习题216

实验题217

选读文献218

第三部分 数据库设计理论和方法学第10章 函数依赖和关系数据库的规范化220

10.1 关系模式的非形式化设计准则221

10.1.1 给予关系中的属性以清晰的语义221

10.1.2 元组中的冗余信息和更新异常223

10.1.3 元组中的NULL值225

10.1.4 生成寄生元组226

10.1.5 总结和讨论设计准则227

10.2 函数依赖228

10.2.1 函数依赖的定义228

10.2.2 函数依赖的推理规则229

10.2.3 函数依赖集的等价232

10.2.4 最小函数依赖集232

10.3 基于主码的范式233

10.3.1 关系的规范化233

10.3.2 范式的实际使用234

10.3.3 码的定义和参与码的属性234

10.3.4 第一范式235

10.3.5 第二范式238

10.3.6 第三范式239

10.4 第二范式和第三范式的通用定义239

10.4.1 第二范式的通用定义240

10.4.2 第三范式的通用定义241

10.4.3 解释第三范式的通用定义241

10.5 Boyce-Codd范式241

10.6 小结243

复习题244

练习题244

实验题247

选读文献248

第11章 关系数据库设计算法和其他依赖249

11.1 关系分解的性质250

11.1.1 关系分解和范式的不足250

11.1.2 分解的依赖保持性质250

11.1.3 分解的非加性(无损)连接性质251

11.1.4 检验二元分解的非加性连接性质253

11.1.5 连续非加性连接分解254

11.2 关系数据库模式设计算法254

11.2.1 依赖保持分解成3NF模式254

11.2.2 非加性连接分解成BCNF模式255

11.2.3 依赖保持和非加性(无损)连接分解成3NF模式256

11.2.4 NULL值和悬挂元组问题258

11.2.5 规范化算法的讨论258

11.3 多值依赖和第四范式261

11.3.1 多值依赖的形式化定义261

11.3.2 函数依赖和多值依赖的推理规则263

11.3.3 第四范式263

11.3.4 非加性连接分解成4NF关系264

11.4 连接依赖和第五范式265

11.5 包含依赖266

11.6 其他依赖和范式267

11.6.1 模板依赖267

11.6.2 域-码范式268

11.7 小结268

复习题268

练习题269

实验题270

选读文献270

第12章 实际数据库设计方法学和UML图的使用271

12.1 组织中信息系统的角色271

12.1.1 使用数据库系统的组织环境271

12.1.2 信息系统的生命周期273

12.1.3 数据库应用系统的生命周期274

12.2 数据库设计与实现过程275

12.2.1 第1阶段:需求汇集和分析276

12.2.2 第2阶段:概念数据库设计277

12.2.3 第3阶段:DBMS的选择284

12.2.4 第4阶段:数据模型映射(逻辑数据库设计)285

12.2.5 第5阶段:物理数据库设计286

12.2.6 第6阶段:数据库系统的实现和调优286

12.3 使用UML图作为数据库设计规范说明的辅助工具287

12.3.1 UML作为设计规范说明的标准287

12.3.2 将UML用于数据库应用设计287

12.3.3 各种UML图288

12.3.4 建模和设计的示例:UNIVERSITY数据库291

12.4 基于UML的设计工具:Rational Rose293

12.4.1 面向数据库设计的Rational Rose293

12.4.2 Rational Rose Data Modeler293

12.4.3 使用Rational Rose Data Modeler的数据建模294

12.5 自动化数据库设计工具297

12.6 小结299

复习题299

选读文献300

第四部分 数据存储、索引、查询处理和物理设计第13章 磁盘存储、基本文件结构和散列304

13.1 概述304

13.1.1 存储层次和存储设备304

13.1.2 数据库的存储305

13.2 二级存储设备306

13.2.1 磁盘设备的硬件描述306

13.2.2 磁带存储设备310

13.3 块缓冲311

13.4 把文件记录保存在磁盘上312

13.4.1 记录和记录类型312

13.4.2 文件、定长记录和变长记录313

13.4.3 记录块、跨块记录与非跨块记录314

13.4.4 在磁盘上分配文件块315

13.4.5 文件首部315

13.5 文件操作315

13.6 无序记录文件(堆文件)317

13.7 有序记录文件(排序文件)318

13.8 散列技术320

13.8.1 内部散列321

13.8.2 磁盘文件的外部散列法323

13.8.3 允许动态文件扩展的散列技术324

13.9 其他主文件组织327

13.9.1 混合记录文件327

13.9.2 B树和其他数据结构作为主组织327

13.10 使用RAID技术的并行磁盘访问327

13.10.1 用RAID增强可靠性328

13.10.2 用RAID改善性能329

13.10.3 RAID组织体系和级别329

13.11 新的存储系统331

13.11.1 存储局域网331

13.11.2 网络连接存储331

13.12 小结332

复习题332

练习题333

选读文献335

第14章 文件的索引结构336

14.1 单级有序索引的类型336

14.1.1 主索引337

14.1.2 聚簇索引339

14.1.3 辅助索引339

14.1.4 小结344

14.2 多级索引344

14.3 使用B树与B+树的动态多级索引346

14.3.1 搜索树和B树347

14.3.2 B+树350

14.4 多码上的索引357

14.4.1 多属性上的有序索引357

14.4.2 分区散列法357

14.4.3 网格文件358

14.5 其他类型的索引358

14.5.1 使用散列和其他数据结构作为索引358

14.5.2 逻辑索引与物理索引359

14.5.3 讨论359

14.6 小结359

复习题360

练习题360

选读文献362

第15章 查询处理和优化的算法363

15.1 把SQL查询转换成关系代数364

15.2 外排序算法365

15.3 SELECT与JOIN操作的算法366

15.3.1 SELECT操作的实现366

15.3.2 JOIN操作的实现369

15.4 PROJECT和集合操作的算法374

15.5 聚集操作和外连接的实现375

15.5.1 聚集操作的实现375

15.5.2 外连接的实现375

15.6 用流水线组合操作376

15.7 在查询优化中使用启发式规则376

15.7.1 查询树和查询图的表示法377

15.7.2 查询树的启发式优化378

15.7.3 将查询树转换为查询执行计划383

15.8 利用选择性和代价估算进行查询优化383

15.8.1 查询执行的代价成分383

15.8.2 代价函数中使用的目录信息384

15.8.3 SELECT操作的代价函数示例384

15.8.4 JOIN的代价函数示例386

15.8.5 多关系查询和连接顺序387

15.8.6 说明基于代价的查询优化的示例388

15.9 Oracle中的查询优化概述390

15.10 语义查询优化390

15.11 小结391

复习题391

练习题391

选读文献392

第16章 物理数据库设计和调优393

16.1 关系数据库中的物理数据库设计393

16.1.1 影响物理数据库设计的因素393

16.1.2 物理数据库设计决策394

16.2 关系系统中的数据库调优概述396

16.2.1 索引的调优396

16.2.2 数据库设计的调优397

16.2.3 查询的调优398

16.2.4 其他的查询调优原则399

16.3 小结400

复习题400

选读文献400

附录A ER模型的可选图形表示法401

附录B 磁盘参数403

附录C QBE语言概述405

热门推荐