图书目录

目录

第1章数据库系统引论1

1.1数据管理技术的发展1

1.1.1人工管理阶段1

1.1.2文件系统阶段2

1.1.3数据库系统阶段3

1.2什么是数据库5

1.3数据模型6

1.4数据库系统结构7

1.4.1数据库系统的三级模式结构8

1.4.2三级模式结构的二级映像9

1.5数据库管理系统9

1.5.1数据库管理系统的功能9

1.5.2数据库管理系统的组成12

1.5.3数据库系统的工作过程12

1.6数据库系统的不同视图13

1.7数据库技术的发展15

1.8小结16

习题16

第2章数据模型18

2.1ER概念模型18

2.1.1ER数据模型中的基本概念18

2.1.2ER数据模型21

2.2层次数据模型25

2.3网状数据模型26

2.4关系数据模型28

2.4.1关系模型的基本概念和结构28

2.4.2关系模型的数据完整性约束30

2.4.3关系模型的数据操纵30

2.4.4关系模型与网状和层次模型的比较31

2.5面向对象数据模型32

2.6小结33目录〖2〗〖2〗〖1〗〖2〗数据库系统原理习题34

第3章关系数据库35

3.1关系模型的基本概念35

3.1.1关系的定义35

3.1.2关系模式和关系数据库37

3.1.3键37

3.1.4完整性约束38

3.2关系代数39

3.2.1传统的集合运算40

3.2.2专门的关系运算41

3.2.3扩充的关系运算44

3.2.4举例46

3.2.5ISBL语言47

3.3元组关系演算48

3.3.1元组关系演算简介48

3.3.2元组关系演算语言ALPHA50

3.4域关系演算52

3.4.1域关系演算简介52

3.4.2域关系演算语言QBE53

3.4.3关系运算的安全限制和三种关系运算的等价性56

3.5小结58

习题58

第3章关系数据库标准语言SQL60

4.1SQL简介60

4.2SQL的系统结构61

4.3SQL的数据定义61

4.3.1SQL模式的定义和删除62

4.3.2基本表的定义、修改和删除62

4.3.3索引的建立和删除65

4.4SQL的数据操纵66

4.4.1数据查询66

4.4.2数据更新74

4.5SQL中的视图76

4.5.1视图的定义77

4.5.2视图上的操作78

4.5.3视图的优点80

4.6SQL的数据控制81

4.6.1授权82

4.6.2权限回收83

4.7嵌入式SQL83

4.7.1嵌入式SQL与主语言的接口84

4.7.2不用游标的嵌入式SQL85

4.7.3用游标的嵌入式SQL87

4.7.4嵌入式SQL 应用实例89

4.7.5动态SQL91

4.8小结92

习题92

第5章查询处理和查询优化94

5.1关系数据库系统的查询处理94

5.1.1查询处理过程94

5.1.2执行查询操作的基本算法95

5.2关系数据库系统的查询优化99

5.2.1查询优化技术99

5.2.2查询优化实例100

5.3代数优化102

5.3.1关系代数表达式的等价变换规则103

5.3.2代数优化策略105

5.3.3代数优化算法105

5.4基于存取路径的优化108

5.5基于代价估算的优化109

5.5.1选择操作的代价估算110

5.5.2连接操作的代价估算111

5.6小结112

习题112

第6章数据库的安全性114

6.1计算机安全性概述114

6.2数据库安全性概述116

6.3用户标识与鉴别117

6.4存取控制118

6.4.1自主存取控制118

6.4.2强制存取控制123

6.5视图机制124

6.6数据加密126

6.7数据库审计127

6.8统计数据库的安全性127

6.9SQL Server的安全控制128

6.9.1SQL Server的安全体系结构128

6.9.2登录管理129

6.9.3数据库用户管理131

6.9.4权限管理132

6.9.5角色管理134

6.9.6审计136

6.10小结137

习题138

第7章数据库的完整性139

7.1数据库的完整性概述139

7.1.1完整性约束条件139

7.1.2实现数据完整性的方法141

7.2实体完整性141

7.2.1实体完整性的定义142

7.2.2实体完整性检查和违约处理143

7.3参照完整性143

7.4用户定义的完整性146

7.5触发器148

7.6SQL Server中数据库完整性的实现152

7.7小结157

习题158

第8章数据库恢复技术160

8.1事务的基本概念和特征160

8.1.1事务的基本概念160

8.1.2事务特征160

8.1.3事务状态162

8.1.4事务原子性和持久性的实现163

8.1.5事务的并发运行163

8.2数据库恢复的必要性164

8.3数据库恢复策略164

8.4数据转储与恢复166

8.5基于日志的数据库恢复168

8.5.1数据库系统日志文件168

8.5.2使用日志恢复数据库168

8.6检查点恢复技术171

8.7数据库镜像恢复技术172

8.8SQL Server的数据恢复机制173

8.8.1SQL Server 中的事务173

8.8.2备份和恢复174

8.9小结179

习题180

第9章并发控制181

9.1并发事务运行存在的异常问题181

9.2并发调度的可串行性183

9.2.1可串行化调度183

9.2.2调度的冲突等价性184

9.2.3调度的状态等价性185

9.2.4调度的可串行性测试186

9.3基于封锁的并发控制技术187

9.3.1锁187

9.3.2封锁协议188

9.3.3活锁189

9.3.4死锁190

9.3.5两阶段封锁协议192

9.3.6锁表192

9.4多粒度封锁194

*9.5基于时间戳协议的并发控制196

9.5.1时间戳196

9.5.2时间戳协议196

*9.6基于有效性确认的并发控制198

9.7插入与删除操作对并发控制的影响200

9.8SQL Server中的并发控制202

9.8.1事务的隔离级别202

9.8.2专用锁203

9.8.3锁的使用与管理204

9.9小结205

习题206

第10章关系数据库设计理论208

10.1关系模型的存储异常208

10.2函数依赖210

10.2.1函数依赖的定义210

10.2.2函数依赖的蕴涵性212

10.3函数依赖公理212

10.3.1Armstrong公理212

10.3.2函数依赖集的等价和覆盖216

10.4模式分解218

10.4.1无损连接分解219

10.4.2分解的保持依赖性222

10.5关系模式的规范化223

10.5.1第一范式224

10.5.2第二范式(2NF)225

10.5.3第三范式226

10.5.4BoyceCodd范式(BCNF)227

10.5.5模式分解算法228

10.6多值依赖和4NF230

10.6.1多值依赖230

10.6.24NF233

*10.7连接依赖和投影连接范式(ProjectJoin NF)234

10.7.1连接依赖234

10.7.2投影连接范式(ProjectJoin NF)235

10.8小结236

习题236

第11章数据库设计238

11.1数据库设计方法238

11.2数据模型与数据建模240

11.3IDEF1X数据建模方法242

11.3.1数据模型的结构243

11.3.2逻辑模型243

11.3.3物理模型244

11.4IDEF1X的语法和语义244

11.5IDEF1X建模过程250

11.5.1阶段0——设计的开始250

11.5.2阶段1——定义实体251

11.5.3阶段2——定义联系252

11.5.4阶段3——定义键253

11.5.5阶段4——定义属性254

11.6ERwin数据建模254

11.6.1ERwin的工作空间254

11.6.2建立实体联系255

11.6.3两个实体的多个联系的处理256

11.6.4递归联系258

11.6.5分类联系258

11.6.6使用域简化数据类型的设置260

11.6.7将数据模型导入到数据库261

11.7合同管理系统数据建模263

11.7.1合同管理应用需求263

11.7.2合同管理应用系统功能需求265

11.7.3实体的确定267

11.7.4联系的确定267

11.7.5确定属性268

11.8小结269

习题269

第12章数据库编程271

12.1TransactSQL271

12.1.1TransactSQL元素272

12.1.2过程的类型275

12.1.3变量和参数277

12.1.4控制流程277

12.1.5错误处理278

12.2TransactSQL游标280

12.2.1游标的基本概念与操作281

12.2.2处理游标中的行283

12.3TransactSQL存储过程285

12.3.1什么是存储过程285

12.3.2存储过程的类型286

12.3.3设计与实现存储过程287

12.4TransactSQL用户定义函数290

12.4.1多语句表值函数292

12.4.2标量函数293

12.4.3内联表值函数294

12.5TransactSQL触发器295

12.5.1TransactSQL触发器基本概念295

12.5.2DML触发器296

12.5.3deleted表和inserted表297

12.5.4AFTER触发器297

12.5.5INSTEAD OF触发器300

12.6ADO.NET303

12.6.1数据提供程序306

12.6.2数据集308

12.7小结309

习题310

第13章数据库的存储结构311

13.1数据库存储设备311

13.1.1物理存储设备概述311

13.1.2存储器的层次结构312

13.1.3数据库的存储体系313

13.1.4磁盘容错技术314

13.2记录的存储结构315

13.3文件的存储结构317

13.3.1无序文件318

13.3.2顺序文件319

13.3.3散列文件320

13.3.4多表聚集文件322

13.4索引文件323

13.4.1索引概述323

13.4.2稀疏索引和稠密索引325

13.4.3聚集索引和辅助索引325

13.4.4B+树索引327

13.4.5散列索引330

13.5典型DBMS的存储结构331

13.5.1SQL Server的存储结构331

13.5.2Oracle的存储结构332

13.6小结333

习题334

第14章分布式数据库系统335

14.1分布式数据库系统概述335

14.1.1分布式数据库系统的定义335

14.1.2分布式数据系统的基本特征336

14.1.3分布式数据库系统的组成337

14.1.4分布式数据库的模式结构338

14.1.5分布式数据库系统的分类339

14.2数据分布和分布透明性339

14.2.1数据分片339

14.2.2数据分布340

14.2.3分布透明性341

14.3分布式查询处理和优化343

14.3.1分布式查询的分类343

14.3.2分布式查询处理过程344

14.3.3分布式查询优化345

14.4分布式事务管理347

14.4.1分布式事务恢复348

14.4.2分布式并发控制350

14.5分布式目录管理352

14.6小结352

习题353

第15章对象和对象关系数据库354

15.1概述354

15.2面向对象数据库356

15.2.1面向对象数据模型357

15.2.2面向对象数据库语言359

15.2.3面向对象数据库系统362

15.3对象关系数据库363

15.3.1对象关系数据模型363

15.3.2对象关系数据库系统368

15.4小结368

习题368

第16章多媒体数据库369

16.1多媒体数据库的特点369

16.2系统体系结构370

16.2.1多媒体数据库系统的层次结构370

16.2.2多媒体数据库系统的组织结构371

16.3多媒体数据模型373

16.3.1数据模型的需求373

16.3.2通用数据模型373

16.4多媒体数据的查询374

16.5特征提取、索引和相似性度量376

16.6QoS保证377

16.7多媒体数据库的实现378

16.8其他问题380

16.9小结381

习题382

第17章数据库新技术与新应用383

17.1数据库新技术384

17.1.1面向对象数据库384

17.1.2实时数据库385

17.1.3主动数据库386

17.1.4分布式数据库386

17.1.5数据挖掘387

17.1.6多媒体数据库387

17.2并行数据库387

17.2.1并行数据库系统的体系结构387

17.2.2并行处理技术389

17.2.3商用并行数据库系统的并行策略390

17.3主动数据库391

17.4空间数据库395

17.4.1基本概念395

17.4.2空间数据操作398

17.4.3空间数据建模398

17.4.4空间数据索引400

17.5XML数据库401

17.5.1原生XML数据库402

17.5.2XML数据库的研究问题405

17.6小结407

习题407

参考文献408