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

  • 购买积分:14 如何计算积分?
  • 作  者:Silberschatz,Korth,Sudarshan著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2013
  • ISBN:9787111400851
  • 页数:435 页
图书介绍:本书是数据库系统方面的经典教材之一。国际上许多著名大学包括斯坦福大学、耶鲁大学、得克萨斯大学、康奈尔大学、伊利诺伊大学、印度理工学院等都采用本书作为教科书。我国也有许多所大学采用本书以前版本的中文版作为本科生和研究生的数据库课程的教材和主要教学参考书,收到了良好的效果。

第1章 引言 1

1.1数据库系统的应用 1

1.2数据库系统的目标 2

1.3数据视图 4

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来自应用程序的数据库访问 8

1.6数据库设计 9

1.6.1设计过程 9

1.6.2大学机构的数据库设计 9

1.6.3实体-联系模型 10

1.6.4规范化 11

1.7数据存储和查询 11

1.7.1存储管理器 12

1.7.2查询处理器 12

1.8事务管理 12

1.9数据库体系结构 13

1.9.1客户/服务器系统 13

1.9.2并行数据库系统 15

1.9.3分布式数据库系统 15

1.10数据挖掘与信息检索 16

1.11特种数据库 16

1.11.1基于对象的数据模型 16

1.11.2半结构化数据模型 17

1.12数据库用户和管理员 17

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

1.12.2数据库管理员 17

1.13数据库系统的历史 18

1.14总结 19

术语回顾 20

实践习题 20

习题 20

工具 21

文献注解 21

第一部分 关系数据库 24

第2章 关系模型介绍 24

2.1关系数据库的结构 24

2.2数据库模式 25

2.3码 26

2.4模式图 27

2.5关系查询语言 28

2.6关系运算 29

2.7总结 30

术语回顾 31

实践习题 31

习题 32

文献注解 32

第3章SQL 33

3.1 SQL查询语言概览 33

3.2 SQL数据定义 34

3.2.1基本类型 34

3.2.2基本模式定义 34

3.3 SQL查询的基本结构 36

3.3.1单关系查询 36

3.3.2多关系查询 37

3.3.3自然连接 40

3.4附加的基本运算 42

3.4.1更名运算 42

3.4.2字符串运算 43

3.4.3 select子句中的属性说明 44

3.4.4排列元组的显示次序 44

3.4.5 where子句谓词 44

3.5集合运算 45

3.5.1并运算 45

3.5.2交运算 46

3.5.3差运算 46

3.6空值 47

3.7聚集函数 48

3.7.1基本聚集 48

3.7.2分组聚集 48

3.7.3 having子句 49

3.7.4对空值和布尔值的聚集 50

3.8嵌套子查询 50

3.8.1集合成员资格 51

3.8.2集合的比较 51

3.8.3空关系测试 52

3.8.4重复元组存在性测试 53

3.8.5 from子句中的子查询 54

3.8.6 with子句 55

3.8.7标量子查询 55

3.9数据库的修改 56

3.9.1删除 56

3.9.2插入 57

3.9.3更新 58

3.10总结 59

术语回顾 60

实践习题 60

习题 62

工具 63

文献注解 63

第4章 中级SQL 65

4.1连接表达式 65

4.1.1连接条件 65

4.1.2外连接 66

4.1.3连接类型和条件 69

4.2视图 69

4.2.1视图定义 70

4.2.2 SQL查询中使用视图 70

4.2.3物化视图 71

4.2.4视图更新 71

4.3事务 73

4.4完整性约束 73

4.4.1单个关系上的约束 74

4.4.2 not null约束 74

4.4.3 unique约束 74

4.4.4 check子句 74

4.4.5参照完整性 75

4.4.6事务中对完整性约束的违反 76

4.4.7复杂check条件与断言 77

4.5 SQL的数据类型与模式 78

4.5.1 SQL中的日期和时间类型 78

4.5.2默认值 79

4.5.3创建索引 79

4.5.4大对象类型 79

4.5.5用户定义的类型 80

4.5.6 create table的扩展 81

4.5.7模式、目录与环境 81

4.6授权 82

4.6.1权限的授予与收回 82

4.6.2角色 83

4.6.3视图的授权 84

4.6.4模式的授权 85

4.6.5权限的转移 85

4.6.6权限的收回 85

4.7总结 86

术语回顾 87

实践习题 87

习题 88

文献注解 89

第5章 高级SQL 90

5.1使用程序设计语言访问数据库 90

5.1.1 JDBC 91

5.1.2 ODBC 95

5.1.3嵌入式SQL 97

5.2函数和过程 99

5.2.1声明和调用SQL函数和过程 100

5.2.2支持过程和函数的语言构造 101

5.2.3外部语言过程 103

5.3触发器 104

5.3.1对触发器的需求 104

5.3.2 SQL中的触发器 104

5.3.3何时不用触发器 107

5.4递归查询 108

5.4.1用迭代来计算传递闭包 108

5.4.2 SQL中的递归 109

5.5高级聚集特性?? 111

5.5.1排名 111

5.5.2分窗 112

5.6 OLAP 114

5.6.1联机分析处理 114

5.6.2交叉表与关系表 116

5.6.3 SQL中的OLAP 118

5.7总结 120

术语回顾 120

实践习题 121

习题 122

工具 123

文献注解 123

第6章 形式化关系查询语言 125

6.1关系代数 125

6.1.1基本运算 125

6.1.2关系代数的形式化定义 130

6.1.3附加的关系代数运算 131

6.1.4扩展的关系代数运算 134

6.2元组关系演算 137

6.2.1查询示例 137

6.2.2形式化定义 139

6.2.3表达式的安全性 139

6.2.4语言的表达能力 140

6.3域关系演算 140

6.3.1形式化定义 140

6.3.2查询的例子 140

6.3.3表达式的安全性 141

6.3.4语言的表达能力 142

6.4总结 142

术语回顾 142

实践习题 142

习题 144

文献注解 145

第二部分 数据库设计 148

第7章 数据库设计和E-R模型 148

7.1设计过程概览 148

7.1.1设计阶段 148

7.1.2设计选择 149

7.2实体-联系模型 150

7.2.1实体集 150

7.2.2联系集 150

7.2.3属性 152

7.3约束 153

7.3.1映射基数 154

7.3.2参与约束 154

7.3.3码 155

7.4从实体集中删除冗余属性 155

7.5实体-联系图 157

7.5.1基本结构 157

7.5.2映射基数 158

7.5.3复杂的属性 158

7.5.4角色 159

7.5.5非二元的联系集 159

7.5.6弱实体集 159

7.5.7大学的E-R图 161

7.6转换为关系模式 161

7.6.1具有简单属性的强实体集的表示 162

7.6.2具有复杂属性的强实体集的表示 162

7.6.3弱实体集的表示 163

7.6.4联系集的表示 163

7.7实体-联系设计问题 165

7.7.1用实体集还是用属性 165

7.7.2用实体集还是用联系集 166

7.7.3二元还是n元联系集 167

7.7.4联系属性的布局 167

7.8扩展的E-R特性 168

7.8.1特化 168

7.8.2概化 169

7.8.3属性继承 170

7.8.4概化上的约束 170

7.8.5聚集 171

7.8.6转换为关系模式 172

7.9数据建模的其他表示法 173

7.9.1 E-R图的其他表示法 173

7.9.2统一建模语言UML 175

7.10数据库设计的其他方面 176

7.10.1数据约束和关系数据库设计 176

7.10.2使用需求:查询、性能 177

7.10.3授权需求 177

7.10.4数据流、工作流 177

7.10.5数据库设计的其他问题 178

7.11总结 178

术语回顾 179

实践习题 179

习题 181

工具 182

文献注解 182

第8章 关系数据库设计 183

8.1好的关系设计的特点 183

8.1.1设计选择:更大的模式 183

8.1.2设计选择:更小的模式 184

8.2原子域和第一范式 185

8.3使用函数依赖进行分解 186

8.3.1码和函数依赖 187

8.3.2 Boyce-Codd范式 188

8.3.3 BCNF和保持依赖 189

8.3.4第三范式 190

8.3.5更高的范式 191

8.4函数依赖理论 191

8.4.1函数依赖集的闭包 191

8.4.2属性集的闭包 193

8.4.3正则覆盖 193

8.4.4无损分解 195

8.4.5保持依赖 196

8.5分解算法 197

8.5.1 BCNF分解 197

8.5.2 3 NF分解 199

8.5.3 3 NF算法的正确性 200

8.5.4 BCNF和3NF的比较 200

8.6使用多值依赖的分解 201

8.6.1多值依赖 201

8.6.2第四范式 203

8.6.3 4NF分解 203

8.7更多的范式 204

8.8数据库设计过程 204

8.8.1 E-R模型和规范化 204

8.8.2属性和联系的命名 205

8.8.3为了性能去规范化 205

8.8.4其他设计问题 206

8.9时态数据建模 206

8.10总结 208

术语回顾 208

实践习题 208

习题 210

文献注解 211

第9章 应用设计和开发 212

9.1应用程序和用户界面 212

9.2 Web基础 213

9.2.1统一资源定位符 213

9.2.2超文本标记语言 213

9.2.3 Web服务器和会话 215

9.3 servlet和JSP 216

9.3.1一个servlet的例子 217

9.3.2 servlet会话 218

9.3.3 servlet的生命周期 218

9.3.4 servlet支持 218

9.3.5服务器端脚本 219

9.3.6客户端脚本 220

9.4应用架构 221

9.4.1业务逻辑层 222

9.4.2数据访问层和对象-关系映射 222

9.4.3 Web服务 224

9.4.4断连操作 224

9.5快速应用开发 224

9.5.1构建用户界面的工具 225

9.5.2 Web应用框架 226

9.5.3报表生成器 226

9.6应用程序性能 227

9.6.1利用缓存减少开销 227

9.6.2并行处理 228

9.7应用程序安全性 228

9.7.1 SQL注入 228

9.7.2跨站点脚本和请求伪造 229

9.7.3密码泄露 229

9.7.4应用程序认证 230

9.7.5应用级授权 231

9.7.6审计追踪 232

9.7.7隐私 232

9.8加密及其应用 233

9.8.1加密技术 233

9.8.2数据库中的加密支持 234

9.8.3加密和认证 235

9.9总结 236

术语回顾 237

实践习题 237

习题 238

项目建议 239

工具 241

文献注解 241

第三部分 数据存储、查询和事务管理 244

第10章 数据存储和数据存取 244

10.1物理存储介质概述 244

10.2磁盘和闪存 246

10.2.1磁盘的物理特性 246

10.2.2磁盘性能的度量 247

10.2.3磁盘块访问的优化 248

10.2.4快闪存储 250

10.3文件和记录的组织 250

10.3.1文件组织 250

10.3.2文件中记录的组织 252

10.4数据字典存储 253

10.5数据库缓冲区 254

10.5.1缓冲区管理器 254

10.5.2缓冲区替换策略 255

10.6索引的基本概念 256

10.7顺序索引 257

10.7.1稠密索引和稀疏索引 257

10.7.2多级索引 259

10.7.3辅助索引 260

10.7.4多码上的索引 261

10.8 B+树索引文件 261

10.8.1 B+树的结构 261

10.8.2 B+树的查询 263

10.8.3 B+树的更新 265

10.8.4不唯一的搜索码 270

10.8.5 B+树更新的复杂性 270

10.9散列文件组织和散列索引 270

10.9.1散列函数 271

10.9.2桶溢出处理 272

10.9.3散列索引 273

10.9.4动态散列 273

10.9.5顺序索引和散列的比较 274

10.10 SQL中的索引定义 275

10.11总结 276

术语回顾 277

实践习题 277

习题 278

文献注解 278

第11章 查询处理和查询优化 280

11.1概述 280

11.2查询代价的度量 281

11.3关系代数运算的执行 282

11.3.1选择运算 282

11.3.2连接运算 284

11.4表达式计算 290

11.4.1物化 290

11.4.2流水线 291

11.5查询优化 292

11.5.1查询优化概述 292

11.5.2关系表达式的转换 294

11.5.3表达式结果集统计大小的估计 297

11.5.4执行计划选择 301

11.6总结 303

术语回顾 304

实践习题 305

习题 306

文献注解 306

第12章 事务管理 308

12.1事务概念 308

12.2事务原子性和持久性 310

12.3事务隔离性 312

12.4可串行化 314

12.5可恢复性 315

12.5.1可恢复调度 316

12.5.2无级联调度 316

12.5.3事务隔离性级别 316

12.6并发控制 317

12.6.1基于锁的协议 317

12.6.2基于时间戳的协议 322

12.6.3基于有效性检查的协议 323

12.7恢复系统 323

12.7.1故障分类 324

12.7.2数据访问 324

12.7.3恢复与原子性 325

12.8总结 330

术语回顾 331

实践习题 332

习题 333

文献注解 334

第四部分 高级话题 336

第13章 数据仓库与数据挖掘 336

13.1决策支持系统 336

13.2数据仓库 337

13.2.1数据仓库成分 337

13.2.2数据仓库模式 338

13.2.3面向列的存储 339

13.3数据挖掘 339

13.3.1分类 340

13.3.2关联规则 341

13.3.3聚类 342

13.3.4其他类型的数据挖掘 343

13.4总结 344

术语回顾 344

实践习题 344

习题 345

工具 345

文献注解 345

第14章 基于对象的数据库 347

14.1概述 347

14.2复杂数据类型 347

14.3 SQL中的结构类型和继承 349

14.3.1结构类型 349

14.3.2类型继承 351

14.4表继承 352

14.5 SQL中的数组和多重集合类型 353

14.5.1创建和访问集合体值 354

14.5.2查询以集合体为值的属性 354

14.5.3嵌套和解除嵌套 355

14.6 SQL中的对象标识和引用类型 356

14.7 O-R特性的实现 357

14.8持久化程序设计语言 358

14.8.1对象的持久化 359

14.8.2对象标识和指针 359

14.8.3持久对象的存储和访问 360

14.8.4持久化C++++系统 360

14.8.5持久化Java系统 361

14.9对象-关系映射 363

14.10面向对象与对象-关系 363

14.11总结 364

术语回顾 364

实践习题 364

习题 365

工具 366

文献注解 366

第15章XML 367

15.1动机 367

15.2 XML数据结构 369

15.3 XML文档模式 372

15.3.1文档类型定义 372

15.3.2 XML Schema 374

15.4查询和转换 377

15.4.1 XML树模型 377

15.4.2 XPath 377

15.4.3 XQuery 379

15.5 XML应用程序接口 382

15.6 XML数据存储 383

15.6.1非关系的数据存储 383

15.6.2关系数据库 384

15.6.3 SQL/XML 386

15.7 XML应用 387

15.7.1存储复杂结构数据 387

15.7.2标准化数据交换格式 387

15.7.3 Web服务 388

15.7.4数据中介 388

15.8总结 389

术语回顾 389

实践习题 390

习题 391

工具 391

文献注解 392

第16章 高级应用开发 393

16.1性能调整 393

16.1.1提高面向集合的特性 393

16.1.2批量加载和更新的调整 394

16.1.3瓶颈位置 395

16.1.4可调参数 396

16.1.5硬件调整 397

16.1.6模式调整 398

16.1.7索引调整 398

16.1.8使用物化视图 399

16.1.9物理设计的自动调整 399

16.1.10并发事务调整 400

16.1.11性能模拟 401

16.2性能基准程序 402

16.2.1任务集 402

16.2.2数据库应用类型 402

16.2.3 TPC基准程序 403

16.3应用系统开发的其他问题 404

16.3.1应用系统测试 404

16.3.2应用系统移植 405

16.4标准化 405

16.4.1 SQL标准 406

16.4.2数据库连接标准 406

16.4.3对象数据库标准 407

16.4.4基于XML的标准 407

16.5总结 408

术语回顾 408

实践习题 409

习题 409

文献注解 410

参考文献 411