图书目录

第1部分  数据库概念

第1章  数据库系统 3

1.1  数据与信息 3

1.2  数据库和数据库管理系统

简介 5

1.2.1  DBMS的作用和

优势 5

1.2.2  数据库类型 7

1.3  数据库设计为什么很

重要 8

1.4  历史根源:文件和文件

系统 9

1.5  文件系统数据管理存在

的问题 12

1.5.1  结构依赖和数据

依赖 13

1.5.2  字段定义和命名

规范 13

1.5.3  数据冗余 15

1.6  数据库系统 16

1.6.1  数据库系统环境 17

1.6.2  DBMS功能 19

1.6.3  管理数据库系统:

焦点转移 21

本章小结 22

思考题 22

习题 23

第2章  数据模型 25

2.1  数据建模及数据模型 25

2.2  数据模型的重要性 26

2.3  数据模型基本组成 27

2.4  业务规则 28

2.4.1  发现业务规则 29

2.4.2  将业务规则转化成

数据模型组件 29

2.5  数据模型的发展 30

2.5.1  层次模型 30

2.5.2  网状模型 31

2.5.3  关系模型 32

2.5.4  实体联系模型 34

2.5.5  面向对象模型 35

2.5.6  数据模型合并 37

2.5.7  数据库模型和

互联网 38

2.5.8  数据模型:总结 38

2.6  数据抽象程度 41

2.6.1  外模型 41

2.6.2  概念模型 43

2.6.3  内模型 43

2.6.4  物理模型 44

本章总结 45

思考题 45

习题 46

第2部分  数据库设计概念

第3章  关系数据库模型 53

3.1  数据的逻辑视图 53

3.1.1  表及其特性 54

3.2  码 56

3.3  完整性规则 60

3.4  关系集合操作 62

3.5  数据字典和系统目录 67

3.6  关系数据库中的联系 68

3.6.1  1︰M联系 68

3.6.2  1︰1联系 69

3.6.3  M︰N联系 71

3.7  再论数据冗余 74

3.8  索引 76

3.9  Codd的关系数据库规则 77

本章总结 78

思考题 78

习题 79

第4章  实体联系(ER)模型 87

4.1  实体联系模型(ERM) 87

4.1.1  实体 88

4.1.2  属性 88

4.1.3  联系 92

4.1.4  互连和基数 93

4.1.5  存在依赖性 93

4.1.6  联系强度 94

4.1.7  弱实体 96

4.1.8  联系的参与 97

4.1.9  联系的度 99

4.1.10  递归联系 100

4.1.11  联合(复合)

实体 102

4.2  开发ER图 104

4.3  数据库设计挑战:

冲突目标 110

本章总结 112

思考题 112

习题 114

第5章  数据库表的规范化 117

5.1  数据库表和规范化 117

5.2  规范化的需求 118

5.3  规范化处理 120

5.3.1  转化为第一范式 121

5.3.2  转化为第二范式 124

5.3.3  转化为第三范式 125

5.4  改进数据库设计 126

5.5  代理码的考虑 130

5.6  高阶范式 131

5.6.1  鲍依斯-科得范式

(BCNF) 131

5.6.2  第四范式(4NF) 133

5.7  规范化和数据库设计 135

5.8  反规范化 138

本章总结 140

思考题 142

习题 143

第6章  高级数据建模 150

6.1  扩展实体关系模型 150

6.1.1  实体超类和实体

子类 150

6.1.2  特殊化层次结构 151

6.1.3  继承 152

6.1.4  子类辨识器 153

6.1.5  不相交/重叠约束 153

6.1.6  完备性约束 154

6.1.7  特殊化与一般化 155

6.2  实体簇 155

6.3  实体完整性与主码选择 156

6.3.1  自然码与主码 157

6.3.2  主码选择原则 157

6.6.3  什么时候使用

复合主码 158

6.3.4  什么时候使用

代理主码 159

6.4  设计实例:学习灵活的

数据库设计 160

6.4.1  设计示例#1:实现

1︰1型联系 160

6.4.2  设计示例#2:维护

时变数据的历史 161

6.4.3  设计示例#3:扇形

陷阱 163

6.4.4  设计示例#4:冗余

联系 164

6.5  数据建模一览表 165

本章总结 166

思考题 167

习题 167

第3部分  高级数据库设计与实现

第7章  结构化查询语言(SQL)

简介 177

7.1  SQL概述 177

7.2  数据定义命令 179

7.2.1  数据库模型 180

7.2.2  创建数据库 181

7.2.3  数据库模式 182

7.2.4  数据类型 182

7.2.5  创建表结构 185

7.2.6  SQL约束 188

7.2.7  SQL索引 192

7.3  数据操纵命令 193

7.3.1  添加表记录 193

7.3.2  保存表的修改 195

7.3.3  显示表记录 195

7.3.4  更新表记录 196

7.3.5  恢复表的内容 197

7.3.6  删除表记录 197

7.3.7  用SELECT子查询

插入表记录 198

7.4  SELECT查询 199

7.4.1  条件约束查询 199

7.4.2  算术运算符:优先级

规则 203

7.4.3  逻辑运算符:AND、

OR和NOT 204

7.4.4  特殊运算符 205

7.5  高级数据定义命令 209

7.5.1  修改字段的数据

类型 209

7.5.2  修改字段的数据

特征 210

7.5.3  增加字段 210

7.5.4  删除字段 210

7.5.5  高级数据更新 211

7.5.6  复制部分表 212

7.5.7  增加主码和外码 214

7.5.8  删除数据库中的表 215

7.6  高级SELECT查询 215

7.6.1  查询结果排序 215

7.6.2  显示唯一值 217

7.6.3  聚集函数 217

7.6.4  数据分组 221

7.7  虚拟表:创建视图 223

7.8  数据库表连接 224

7.8.1  带别名的表连接 227

7.8.2  递归连接 227

7.8.3  外连接 228

本章总结 229

思考题 230

习题 233

第8章  高级SQL 241

8.1  关系集合运算符 241

8.1.1  UNION 242

8.1.2  UNION ALL 243

8.1.3  INTERSECT 244

8.1.4  MINUS 245

8.1.5  语法替换 246

8.2  SQL连接运算符 248

8.2.1  交叉连接 249

8.2.2  自然连接 250

8.2.3  用子句连接 251

8.2.4  在子句中连接 251

8.2.5  外连接 252

8.3  子查询和关联查询 255

8.3.1  WHERE子查询 256

8.3.2  IN子查询 257

8.3.3  HAVING子查询 258

8.3.4  多行子查询运算符:

ANY和ALL 258

8.3.5  FROM子查询 260

8.3.6  属性列表子查询 261

8.3.7  关联查询 263

8.4  SQL函数 265

8.4.1  日期和时间函数 265

8.4.2  数字函数 268

8.4.3  字符串函数 269

8.4.4  转换函数 270

8.5  Oracle子查询 272

8.6  可更新的视图 275

8.7  过程SQL 277

8.7.1  触发器 281

8.7.2  存储过程 289

8.7.3  带游标的PL/SQL

处理 293

8.7.4  PL/SQL存储函数 295

8.8  嵌入式SQL 295

本章总结 299

思考题 301

习题 302

第9章  数据库设计 306

9.1  信息系统 306

9.2  信息系统开发生命周期 308

9.2.1  计划 308

9.2.2  分析 309

9.2.3  详细的系统设计 310

9.2.4  实现 310

9.2.5  维护 311

9.3  数据库生命周期 311

9.3.1  数据库初步研究 311

9.3.2  数据库设计 315

9.3.3  实现和装载 328

9.3.4  测试和评价 331

9.3.5  运行 332

9.3.6  维护和演化 332

9.4  数据库设计策略 333

9.5  集中式和分散式设计的

对比 335

本章总结 336

思考题 336

习题 336

第4部分  高级数据库概念

第10章  事务管理与并发控制 341

10.1  什么是事务 341

10.1.1  演化事务结果 343

10.1.2  事务的性质 345

10.1.3  用SQL的事务

管理 346

10.1.4  事务日志 346

10.2  并发控制 348

10.2.1  更新丢失 348

10.2.2  未提交数据 349

10.2.3  不一致检索 350

10.2.4  调度器 351

10.3  用锁方法进行并发控制 352

10.3.1  锁粒度 353

10.3.2  锁类型 355

10.3.3  两阶段加锁 357

10.3.4  死锁 357

10.4  用时间戳方法进行并发

控制 359

10.4.1  WAIT/DIE和

WOUND/WAIT

调度方案 359

10.5  用优化方法进行并发控制 360

10.6  数据库恢复管理 360

10.6.1  事务恢复 361

本章总结 364

思考题 365

习题 365

第11章  数据库性能调整与

查询优化器 368

11.1  数据库性能调整的概念 368

11.1.1  性能调整:客户和

服务器 369

11.1.2  DBMS架构 370

11.1.3  数据库统计 371

11.2  查询处理 373

11.2.1  SQL分析阶段 373

11.2.2  SQL执行阶段 375

11.2.3  SQL提取阶段 375

11.2.4  查询处理瓶颈 375

11.3  索引和查询优化 376

11.4  优化选择 378

11.4.1  使用提示影响优化

选择 379

11.5  SQL性能调整 380

11.5.1  索引选择性 380

11.5.2  条件表达式 381

11.6  查询制定 383

11.7  DBMS性能调整 384

11.8  查询优化示例 386

本章总结 391

思考题 392

习题 393

第12章  分布式数据库管理系统 397

12.1  分布式数据库管理系统

的发展 397

12.2  DDBMS的优点和缺点 399

12.3  分布式处理和分布式

数据库 400

12.4  分布式数据库管理系统

的特征 402

12.5  DDBMS的组成 403

12.6  数据层和分布式处理 404

12.6.1  单点处理与单点

数据 404

12.6.2  多点处理与单点

数据 405

12.6.3  多点处理与多点

数据 406

12.7  分布式数据库的透明性 407

12.8  分布透明性 408

12.9  事务处理透明性 410

12.9.1  分布式请求和

分布式事务 410

12.9.2  分布式并发控制 413

12.9.3  两阶段提交协议 414

12.10  性能透明性和查询优化 415

12.11  分布式数据库设计 416

12.11.1  数据分割 416

12.11.2  数据复制 419

12.11.3  数据放置 421

12.12  客户/服务器与DDBMS

的比较 421

12.13  C. J. Date关于分布式数

据库的12条告诫 422

本章总结 423

思考题 424

习题 424

第13章  业务智能和数据仓库 427

13.1  数据分析需求 427

13.2  业务智能 428

13.3  业务智能架构 429

13.4  决策支持数据 433

13.4.1  运营数据对决策

支持数据 433

13.4.2  决策支持数据库

需求 435

13.5  数据仓库 437

13.5.1  12条定义数据

仓库的规则 440

13.5.2  决策支持架构

风格 441

13.6  联机分析处理 442

13.6.1  多维数据分析

技术 442

13.6.2  高级数据库支持 443

13.6.3  易于使用的终端

用户界面 444

13.6.4  客户端/服务器端

架构 444

13.6.5  OLAP架构 445

13.6.6  关系联机分析

处理 448

13.6.7  多维联机分析

处理 450

13.6.8  ROLAP对

MOLAP 451

13.7  星形模式 452

13.7.1  事实 452

13.7.2  维度 453

13.7.3  属性 453

13.7.4  属性层次结构 455

13.7.5  星形模式表示 456

13.7.6  用于星形模式的

性能提高技术 458

13.8  实现数据仓库 461

13.8.1  数据仓库作为

一个积极的决策

支持框架 461

13.8.2  需要用户参与的

全公司范围的

努力 461

13.8.3  满意三部曲:

数据、分析和

用户 461

13.8.4  应用数据库

设计过程 462

13.9  数据挖掘 463

13.10  OLAP的SQL扩展 465

13.10.1  ROLLUP扩展 466

13.10.2  CUBE扩展 467

13.10.3  物化视图 468

本章小结 471

思考题 472

习题 473

第5部分  数据库与Internet

第14章  数据库互连和Web技术 479

14.1  数据库连接 479

14.1.1  本机SQL连接 480

14.1.2  ODBC、DAO和

RDO 481

14.1.3  OLE-DB 483

14.1.4  ADO.NET 485

14.1.5  Java数据库连接

(JDBC) 488

14.2  互联网数据库 489

14.2.1  Web到数据库

中间件:服务器

端的扩展 490

14.2.2  Web服务器接口 491

14.2.3  Web浏览器 492

14.2.4  客户端扩展 494

14.2.5  Web应用服务器 495

14.3  可扩展标记语言(XML) 495

14.3.1  文档类型定义

(DTD)与XML

模式 497

14.3.2  XML表示 500

14.3.3  XML应用程序 501

本章小结 503

思考题 504

习题 504

第6部分  数据库与管理

第15章  数据库管理和安全 509

15.1  数据是公司资产 509

15.2  机构中数据库的角色

需求 510

15.3  数据库引入:特定

考虑 511

15.4  数据库管理职能开发 512

15.5  数据库环境中人的构成 515

15.5.1  DBA的管理

角色 517

15.5.2  DBA的技术

角色 522

15.6  安全性 527

15.6.1  安全策略 528

15.6.2  安全漏洞 528

15.6.3  数据库安全 529

15.7  数据库管理工具 530

15.7.1  数据字典 531

15.7.2  CASE工具 533

15.8  开发数据管理策略 535

15.9  DBA工作:Oracle数据

库管理 536

15.9.1  Oracle数据库

管理工具 537

15.9.2  默认登录 537

15.9.3  保证RDBMS自动

开始 538

15.9.4  创建表空间和数据

文件 539

15.9.5  管理数据库对象:

表、视图、触发器和

存储过程 541

15.9.6  管理用户和构建

安全性 542

15.9.7  自定义数据库初

始化参数 543

15.9.8  创建新数据库 544

本章小结 549

思考题 550

词汇表 553