《数据库系统概念 本科教学版 原书第5版》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:AbrahamSilberschatz,HenryF.KorthS.Sudarshan著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2008
  • ISBN:9787111234227
  • 页数:402 页
图书介绍:本书是经典的数据库教材。

第1章 引言 1

1.1 数据库系统的应用 1

1.2 数据库系统的目标 2

1.3 数据视图 3

1.3.1 数据抽象 4

1.3.2 实例和模式 5

1.3.3 数据模型 5

1.4 数据库语言 6

1.4.1 数据操纵语言 6

1.4.2 数据定义语言 6

1.5 关系数据库 7

1.5.1 表 7

1.5.2 数据操纵语言 8

1.5.3 数据定义语言 8

1.5.4 来自应用程序的数据库访问 9

1.6 数据库设计 9

1.6.1 设计过程 9

1.6.2 银行企业的数据库设计 10

1.6.3 实体-联系模型 10

1.6.4 规范化 11

1.7 基于对象数据库和半结构化数据库 12

1.7.1 基于对象数据模型 12

1.7.2 半结构化数据模型 12

1.8 数据存储和查询 12

1.8.1 存储管理器 13

1.8.2 查询处理器 13

1.9 事务管理 13

1.10 数据挖掘与分析 14

1.11 数据库体系结构 15

1.12 数据库用户和管理员 16

1.12.1 数据库用户和用户界面 16

1.12.2 数据库管理员 17

1.13 数据库系统的历史 17

1.14 小结 19

术语回顾 19

实践习题 20

习题 20

文献注解 20

工具 20

第一部分 关系数据库 22

第2章 关系模型 22

2.1 关系数据库的结构 22

2.1.1 基本结构 22

2.1.2 数据库模式 23

2.1.3 码 25

2.1.4 查询语言 26

2.2 关系代数基本运算 27

2.2.1 选择运算 27

2.2.2 投影运算 27

2.2.3 并运算 28

2.2.4 集合差运算 28

2.2.5 笛卡儿积运算 29

2.2.6 更名运算 31

2.2.7 关系代数的形式化定义 32

2.3 附加的关系代数运算 32

2.3.1 集合交运算 33

2.3.2 自然连接运算 33

2.3.3 除运算 34

2.3.4 赋值运算 35

2.4 扩展的关系代数运算 35

2.4.1 广义投影 36

2.4.2 聚集函数 36

2.4.3 外连接 37

2.5 空值 39

2.6 数据库的修改 40

2.6.1 删除 40

2.6.2 插入 40

2.6.3 更新 41

2.7 小结 41

术语回顾 42

实践习题 42

习题 42

文献注解 43

第3章 SQL 45

3.1 背景 45

3.2 数据定义 46

3.2.1 基本域类型 46

3.2.2 SQL中的基本模式定义 46

3.3 SQL查询的基本结构 48

3.3.1 select子句 48

3.3.2 where子句 49

3.3.3 from子句 49

3.3.4 更名运算 50

3.3.5 元组变量 50

3.3.6 字符串运算 51

3.3.7 排列元组的显示次序 52

3.3.8 重复 52

3.4 集合运算 53

3.4.1 union运算 53

3.4.2 intersect运算 53

3.4.3 except运算 54

3.5 聚集函数 54

3.6 空值 56

3.7 嵌套子查询 57

3.7.1 集合成员资格 57

3.7.2 集合的比较 58

3.7.3 测试是否为空关系 58

3.7.4 测试是否存在重复元组 59

3.8 复杂查询 60

3.8.1 派生关系 60

3.8.2 with子句 60

3.9 视图 61

3.9.1 视图定义 62

3.9.2 用其他视图定义视图 63

3.10 数据库的修改 64

3.10.1 删除 64

3.10.2 插入 65

3.10.3 更新 66

3.10.4 视图的更新 67

3.10.5 事务 68

3.11 连接关系 69

3.11.1 举例 69

3.11.2 连接类型和条件 70

3.12 小结 72

术语回顾 72

实践习题 72

习题 74

文献注解 75

第4章 高级SQL 76

4.1 SQL的数据类型与模式 76

4.1.1 SQL中内建的数据类型 76

4.1.2 用户定义类型 77

4.1.3 大对象类型 78

4.1.4 模式、目录与环境 78

4.2 完整性约束 79

4.2.1 单个关系上的约束 79

4.2.2 not null约束 79

4.2.3 unique约束 80

4.2.4 check子句 80

4.2.5 参照完整性 81

4.2.6 断言 83

4.3 授权 83

4.4 嵌入式SQL 84

4.5 动态SQL 87

4.5.1 ODBC 87

4.5.2 JDBC 89

4.6 函数和过程化结构 92

4.6.1 SQL函数和过程 92

4.6.2 过程化结构 93

4.6.3 外部语言例程 95

4.7 递归查询 96

4.7.1 使用迭代的传递闭包 96

4.7.2 SQL中的递归 97

4.8 高级SQL特性 98

4.8.1 create table的扩展 99

4.8.2 关于子查询的更多内容 99

4.8.3 数据库更新的高级结构 100

4.9 小结 100

术语回顾 101

实践习题 101

习题 102

文献注解 103

第5章 其他关系语言 104

5.1 元组关系演算 104

5.1.1 查询的例子 104

5.1.2 形式化定义 106

5.1.3 表达式的安全性 106

5.1.4 语言的表达能力 107

5.2 域关系演算 107

5.2.1 形式化定义 107

5.2.2 查询的例子 108

5.2.3 表达式的安全性 108

5.2.4 语言的表达能力 109

5.3 QBE 109

5.3.1 框架表 110

5.3.2 在单个关系上的查询 110

5.3.3 在多个关系上的查询 111

5.3.4 条件框 112

5.3.5 结果关系 113

5.3.6 在Microsoft Access中的QBE 114

5.4 Datalog 115

5.4.1 基本结构 116

5.4.2 Datalog规则的语法 117

5.4.3 非递归Datalog的语义 118

5.4.4 安全性 119

5.4.5 Datalog中的关系运算 120

5.4.6 Datalog中的递归 121

5.4.7 递归的能力 122

5.5 小结 124

术语回顾 124

实践习题 124

习题 125

文献注解 126

工具 127

第二部分 数据库设计 129

第6章 数据库设计和E-R模型 129

6.1 设计过程概览 129

6.1.1 设计阶段 129

6.1.2 设计选择 130

6.2 实体-联系模型 130

6.2.1 实体集 131

6.2.2 联系集 132

6.2.3 属性 134

6.3 约束 135

6.3.1 映射基数 135

6.3.2 码 136

6.3.3 参与约束 137

6.4 实体-联系图 137

6.5 实体-联系设计问题 141

6.5.1 用实体集还是用属性 141

6.5.2 用实体集还是用联系集 142

6.5.3 二元联系集与n元联系集 143

6.5.4 联系属性的布局 144

6.6 弱实体集 144

6.7 扩展E-R特性 146

6.7.1 特殊化 146

6.7.2 一般化 147

6.7.3 属性继承 148

6.7.4 一般化上的约束 148

6.7.5 聚集 150

6.7.6 可选择的E-R符号 151

6.8 银行企业的数据库设计 152

6.8.1 E-R设计的可选方案 152

6.8.2 银行数据库的数据需求 153

6.8.3 银行数据库中的实体集 153

6.8.4 银行数据库中的联系集 153

6.8.5 银行数据库中的E-R图 154

6.9 转换为关系模式 155

6.9.1 强实体集的表示方式 155

6.9.2 弱实体集的表示方式 155

6.9.3 联系集的表示方式 156

6.9.4 复合属性和多值属性 157

6.9.5 一般化的表示方式 158

6.9.6 聚集的表示方式 158

6.9.7 银行企业的关系模式 159

6.10 数据库设计的其他方面 159

6.10.1 数据约束和关系数据库设计 159

6.10.2 使用需求:查询和性能 160

6.10.3 授权需求 160

6.10.4 数据流、工作流 161

6.10.5 数据库设计的其他问题 161

6.11 小结 161

术语回顾 162

实践习题 162

习题 164

文献注解 165

工具 166

第7章 关系数据库设计 167

7.1 好的关系设计的特点 167

7.1.1 设计选择:更大的模式 167

7.1.2 设计选择:更小的模式 169

7.2 原子域和第一范式 171

7.3 使用函数依赖的分解 171

7.3.1 码和函数依赖 172

7.3.2 Boyce-Codd范式 173

7.3.3 BCNF和保持依赖 173

7.3.4 第三范式 175

7.3.5 更高的范式 177

7.4 函数依赖理论 177

7.4.1 函数依赖集的闭包 177

7.4.2 属性集的闭包 179

7.4.3 正则覆盖 180

7.4.4 无损分解 182

7.4.5 保持依赖 183

7.5 用于分解的算法 184

7.5.1 BCNF分解 184

7.5.2 3NF分解 186

7.5.3 BCNF和3NF的比较 187

7.6 使用多值依赖的分解 188

7.6.1 多值依赖 188

7.6.2 第四范式 189

7.6.3 4NF分解 190

7.7 更多的范式 191

7.8 数据库设计过程 191

7.8.1 E-R模型和规范化 191

7.8.2 属性和联系的命名 192

7.8.3 为了性能解除规范化 193

7.8.4 其他设计问题 193

7.9 时态数据建模 193

7.10 小结 195

术语回顾 196

实践习题 196

习题 198

文献注解 198

第8章 应用设计和开发 200

8.1 用户界面和工具 200

8.1.1 表格和图形用户界面 200

8.1.2 报表生成器 201

8.2 数据库的Web界面 202

8.3 Web基础 203

8.3.1 统一资源定位符 203

8.3.2 超文本标记语言 203

8.3.3 客户端脚本和applet 204

8.3.4 Web服务器和会话 205

8.4 servlet和JSP 207

8.4.1 一个servlet的例子 207

8.4.2 servlet会话 208

8.4.3 servlet的生命周期 208

8.4.4 servlet支持 208

8.4.5 服务器端脚本 209

8.5 建立大型Web应用 210

8.5.1 构建Web界面 210

8.5.2 Microsoft ASP 210

8.5.3 提高应用程序性能 211

8.6 触发器 212

8.6.1 对触发器的需求 212

8.6.2 SQL中的触发器 213

8.6.3 何时不用触发器 215

8.7 SQL中的授权 216

8.7.1 权限的授予 216

8.7.2 在SQL中授权 217

8.7.3 角色 218

8.7.4 收回权限 219

8.7.5 视图、函数和过程的授权 220

8.7.6 SQL授权的局限 220

8.7.7 审计追踪 221

8.8 应用系统安全性 221

8.8.1 加密技术 221

8.8.2 数据库中的加密支持 222

8.8.3 鉴定 223

8.8.4 保护应用程序 225

8.8.5 隐私 225

8.9 小结 226

术语回顾 227

实践习题 227

习题 227

项目建议 228

文献注解 230

工具 231

第三部分 基于对象的数据库和XML 233

第9章 基于对象的数据库 233

9.1 概述 233

9.2 复杂数据类型 233

9.3 SQL中的结构类型和继承 235

9.3.1 结构类型 235

9.3.2 类型继承 237

9.4 表继承 238

9.5 SQL中的数组和多重集合类型 239

9.5.1 创建和访问集合体值 240

9.5.2 查询以集合体为值的属性 240

9.5.3 嵌套和解除嵌套 241

9.6 对象标识和SQL中的引用类型 243

9.7 O-R特性的实现 244

9.8 持久化程序设计语言 245

9.8.1 对象的持久化 246

9.8.2 对象标识和指针 246

9.8.3 持久对象的存储和访问 247

9.8.4 持久化C++系统 247

9.8.5 持久化Java系统 249

9.9 面向对象与对象-关系 250

9.10 小结 251

术语回顾 251

实践习题 252

习题 253

文献注解 254

工具 254

第10章 XML 255

10.1 动机 255

10.2 XML数据的结构 257

10.3 XML文档模式 259

10.3.1 文档类型定义 260

10.3.2 XML Schema 262

10.4 查询和转换 264

10.4.1 XPath 264

10.4.2 XQuery 266

10.4.3 XSLT 270

10.5 XML应用程序接口 272

10.6 XML数据的存储 273

10.6.1 非关系的数据存储 273

10.6.2 关系数据库 273

10.6.3 SQL/XML 275

10.7 XML应用 277

10.7.1 存储复杂结构的数据 277

10.7.2 标准化数据交换格式 277

10.7.3 Web服务 278

10.7.4 数据中介 278

10.8 小结 279

术语回顾 280

实践习题 280

习题 281

文献注解 282

工具 282

第四部分 数据存储、查询和事务管理 285

第11章 数据存储和数据存取 285

11.1 物理存储介质概述 285

11.2 磁盘 287

11.2.1 磁盘的物理特性 287

11.2.2 磁盘性能的度量 288

11.2.3 磁盘块访问的优化 289

11.3 存储访问和缓冲区 289

11.3.1 缓冲区管理器 290

11.3.2 缓冲区替换策略 290

11.4 文件和记录的组织 292

11.4.1 文件组织 292

11.4.2 文件中记录的组织 293

11.5 数据字典存储 294

11.6 索引的基本概念 295

11.7 顺序索引 296

11.7.1 稠密索引和稀疏索引 297

11.7.2 多级索引 298

11.7.3 辅助索引 299

11.8 B+树索引文件 300

11.8.1 B+树的结构 300

11.8.2 B+树的查询 302

11.8.3 B+树的更新 302

11.9 散列文件组织和散列索引 307

11.9.1 散列函数 307

11.9.2 桶溢出处理 308

11.9.3 散列索引 310

11.9.4 动态散列 310

11.9.5 顺序索引和散列的比较 311

11.10 SQL中的索引定义 312

11.11 小结 312

术语回顾 314

实践习题 314

习题 315

文献注解 315

第12章 查询处理和查询优化 317

12.1 概述 317

12.2 查询代价的度量 318

12.3 关系代数运算的执行 319

12.3.1 选择运算 319

12.3.2 连接运算 321

12.4 表达式计算 327

12.4.1 实体化 327

12.4.2 流水线 328

12.5 查询优化 329

12.5.1 查询优化概述 329

12.5.2 关系表达式的转换 330

12.5.3 表达式结果集统计大小的估计 333

12.5.4 选择执行计划 336

12.6 小结 339

术语回顾 340

实践习题 340

习题 341

文献注解 342

第13章 事务管理 345

13.1 事务概念 345

13.2 事务的并发执行和调度 348

13.2.1 并发执行 348

13.2.2 可串行化 350

13.2.3 可恢复性 351

13.3 并发控制 352

13.3.1 基于锁的协议 352

13.3.2 基于时间戳的协议 358

13.3.3 基于有效性检查的协议 359

13.4 恢复系统 360

13.4.1 故障分类 360

13.4.2 数据访问 360

13.4.3 基于日志的恢复 361

13.5 小结 366

术语回顾 367

实践习题 368

习题 368

文献注解 369

第五部分 高级话题 372

第14章 数据分析与挖掘 372

14.1 决策支持系统 372

14.2 数据分析和联机分析处理 373

14.2.1 联机分析处理 373

14.2.2 OLAP实现 376

14.3 数据仓库工程 377

14.3.1 数据仓库的成分 377

14.3.2 数据仓库模式 378

14.4 数据挖掘 379

14.4.1 数据挖掘应用 379

14.4.2 分类 380

14.4.3 关联规则 380

14.4.4 其他类型的关联 382

14.4.5 聚类 383

14.4.6 其他类型的挖掘 384

14.5 小结 384

术语回顾 385

实践习题 385

习题 385

文献注解 386

工具 386

第15章 高级应用开发 387

15.1 性能调整 387

15.1.1 瓶颈的位置 387

15.1.2 可调参数 388

15.1.3 硬件的调整 388

15.1.4 模式的调整 390

15.1.5 索引的调整 390

15.1.6 使用物化视图 390

15.1.7 物理设计的自动调整 391

15.1.8 事务的调整 392

15.1.9 性能模拟 393

15.2 性能基准程序 393

15.2.1 任务集 393

15.2.2 数据库应用类型 394

15.2.3 TPC基准程序 394

15.2.4 OODB基准程序 395

15.3 标准化 396

15.3.1 SQL标准 396

15.3.2 数据库连接标准 397

15.3.3 对象数据库标准 398

15.3.4 基于XML的标准 398

15.4 应用系统移植 399

15.5 小结 400

术语回顾 400

实践习题 400

习题 401

文献注解 401