《数据库系统原理与设计》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:万常选,廖国琼,吴京慧,刘喜平编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2009
  • ISBN:9787302205906
  • 页数:391 页
图书介绍:本书强调数据库应用与设计能力的培养,将数据库设计的内容分散在第4、5、6章以及第7.6、9.6节等逐层推进。

第1章 数据库系统概论 1

1.1 数据库系统的作用 1

1.1.1 数据与数据管理 2

1.1.2 数据管理技术的产生与发展 2

1.1.3 数据库应用 8

1.2 数据模型 9

1.2.1 数据模型的分类 10

1.2.2 数据模型的组成要素 11

1.2.3 层次模型 12

1.2.4 网状模型 14

1.2.5 关系模型 14

1.2.6 面向对象模型 16

1.2.7 XML模型 20

1.3 数据抽象与数据库三级模式 29

1.4 数据库系统 32

1.4.1 数据库系统组成 32

1.4.2 数据库管理系统 33

1.4.3 数据库系统的相关人员 38

本章小结 40

习题1 42

第2章 关系模型与关系代数 44

2.1 关系模型 45

2.1.1 关系数据结构 45

2.1.2 关系完整性约束条件 49

2.1.3 关系操作 55

2.2 关系代数 56

2.2.1 传统的集合运算 57

2.2.2 专门的关系运算 57

2.2.3 关系代数查询综合举例 64

本章小结 67

习题2 68

第3章 SQL语言 70

3.1 SQL概述 71

3.1.1 SQL发展 71

3.1.2 SQL特点 72

3.1.3 SQL查询基本概念 73

3.2 简单查询 74

3.2.1 投影运算 76

3.2.2 选择运算 79

3.2.3 排序运算 84

3.2.4 查询表 84

3.3 连接查询 85

3.3.1 等值与非等值连接 85

3.3.2 自表连接 88

3.3.3 外连接 89

3.4 嵌套子查询 91

3.4.1 使用IN的子查询 91

3.4.2 使用比较运算符的子查询 95

3.4.3 使用存在量词EXISTS的子查询 96

3.5 聚合查询 99

3.5.1 聚合函数 99

3.5.2 分组聚合 100

3.5.3 复杂查询 102

3.6 集合运算 104

3.7 SQL查询一般格式 106

3.8 SQL数据定义语言 108

3.8.1 数据库的定义 108

3.8.2 基本表的定义 112

3.8.3 索引的定义 116

3.9 SQL数据更新语言 118

3.9.1 插入数据 118

3.9.2 删除数据 120

3.9.3 修改数据 120

3.10 视图 121

3.10.1 定义视图 122

3.10.2 查询视图 124

3.10.3 更新视图 125

3.10.4 删除视图 127

本章小结 127

习题3 128

第4章 数据库建模(实体-联系模型) 132

4.1 数据库设计过程 133

4.2 E-R模型基本概念及表示 134

4.3 约束 137

4.3.1 映射约束 137

4.3.2 码约束 140

4.3.3 参与约束 141

4.3.4 存在依赖与弱实体集 141

4.4 扩展E-R特征 143

4.5 E-R模型设计原则 144

4.6 数据库概念设计实例——大学选课系统 148

4.6.1 概念设计任务 148

4.6.2 系统需求分析 148

4.6.3 数据库概念设计 151

4.6.4 大学选课系统总E-R图 152

4.7 逻辑设计——E-R模型转化为关系模型 153

4.7.1 E-R模型转化方法 153

4.7.2 大学选课系统E-R模型转化实例 156

本章小结 157

习题4 158

第5章 关系数据理论与模式求精 160

5.1 问题提出 161

5.2 函数依赖定义 163

5.3 函数依赖理论 166

5.3.1 函数依赖集闭包 166

5.3.2 属性集闭包 167

5.3.3 正则覆盖 168

5.3.4 无损连接分解 170

5.3.5 保持依赖分解 170

5.4 范式 171

5.4.1 第一范式(1NF) 171

5.4.2 第二范式(2NF) 171

5.4.3 Boyce-Codd范式(BCNF) 172

5.4.4 第三范式(3NF) 173

5.5 模式分解算法 174

5.5.1 BCNF分解算法 174

5.5.2 3NF分解算法 175

5.6 数据库模式求精 176

本章小结 178

习题5 179

第6章 关系数据库设计实例——网上书店 181

6.1 需求描述和系统边界 182

6.2 需求分析 182

6.2.1 业务需求及处理流程 182

6.2.2 功能需求分析 183

6.2.3 业务规则分析 185

6.3 确定实体集及属性 185

6.4 确定联系集及E-R图 188

6.5 检查是否满足需求 190

6.6 逻辑数据库设计 191

6.7 模式求精 196

6.8 进一步思考 196

本章小结 196

习题6 197

第7章 数据库存储结构 199

7.1 文件组织 199

7.1.1 存储介质 200

7.1.2 存储访问 201

7.1.3 定长记录与变长记录 202

7.2 记录组织 204

7.3 顺序索引 207

7.3.1 索引基本概念 207

7.3.2 索引顺序文件 208

7.3.3 多级索引 209

7.3.4 索引的更新 210

7.3.5 辅助索引 211

7.4 B+树索引 212

7.4.1 B+树索引的结构 212

7.4.2 B+树索引的查询与更新 214

7.4.3 B+树文件组织 215

7.5 散列 216

7.5.1 散列文件组织 216

7.5.2 散列索引 217

7.5.3 动态散列 218

7.5.4 散列与顺序索引的比较 218

7.6 物理数据库设计 219

本章小结 222

习题7 225

第8章 查询处理 227

8.1 查询处理 227

8.1.1 查询处理过程 228

8.1.2 查询代价度量 229

8.1.3 选择运算 230

8.1.4 连接运算 235

8.1.5 其他运算 242

8.1.6 表达式计算 243

8.2 查询优化 244

8.2.1 查询优化概述 244

8.2.2 关系表达式转换 245

8.2.3 结果集大小估计 247

8.2.4 选择执行计划 249

本章小结 253

习题8 254

第9章 数据库完整性与安全 257

9.1 数据库安全性 258

9.1.1 数据库安全的基本概念 258

9.1.2 安全标准 259

9.1.3 SQL存取控制机制 261

9.1.4 审计机制 266

9.2 数据库完整性 267

9.2.1 完整性约束条件 268

9.2.2 实体完整性 269

9.2.3 参照完整性 271

9.2.4 用户自定义完整性 274

9.2.5 完整性约束的修改 276

9.3 游标 277

9.3.1 游标的使用 277

9.3.2 当前游标集的修改 280

9.4 存储过程 281

9.4.1 创建存储过程 282

9.4.2 执行存储过程 288

9.4.3 修改和删除存储过程 288

9.5 触发器 290

9.5.1 创建触发器 290

9.5.2 修改和删除触发器 294

9.5.3 触发器的作用 295

9.6 应用与安全设计 297

本章小结 299

习题9 300

第10章 事务管理与恢复 303

10.1 事务 304

10.1.1 问题背景 304

10.1.2 事务概念 305

10.1.3 事务特性 306

10.1.4 事务并发执行与调度 307

10.1.5 事务调度及正确性准则 309

10.2 并发控制 312

10.2.1 基于封锁的协议 312

10.2.2 两阶段封锁协议 314

10.3 恢复与备份 316

10.3.1 故障分类及恢复策略 316

10.3.2 事务访问数据方式 318

10.3.3 基于日志的故障恢复策略 319

10.3.4 检查点 322

10.3.5 备份与介质故障恢复 324

本章小结 325

习题10 327

第11章 数据库应用开发 329

11.1 数据库系统的体系结构 330

11.1.1 软件开发体系结构概述 330

11.1.2 C/S体系结构 331

11.1.3 B/S体系结构 334

11.1.4 C/S与B/S结构的结合 336

11.1.5 常用开发体系结构 338

11.2 数据库访问技术 340

11.2.1 ODBC API和ODBC库 341

11.2.2 MFC DAO 343

11.2.3 RDO 344

11.2.4 OLE DB 344

11.2.5 ADO 346

11.2.6 ADO.NET 346

11.2.7 JDBC 347

11.2.8 数据库访问技术小结 348

11.3 数据库应用开发实践 351

11.3.1 ADO编程对象模型 351

11.3.2 直接使用ADO Data控件访问数据库 356

11.3.3 使用智能指针访问数据库 360

11.3.4 使用VC++ Extensions for ADO访问数据库 366

本章小结 371

习题11 372

第12章 Web数据库 374

12.1 什么是Web数据库 375

12.2 Web基础 375

12.3 脚本语言 376

12.4 Web数据库访问模式 377

12.5 Web服务器接口 377

12.6 Web数据库访问技术 378

12.7 XML数据库 380

12.7.1 XML应用场景 380

12.7.2 XML与数据库 382

12.7.3 什么是XML数据库 384

本章小结 387

习题12 389

参考文献 391