图书目录

目    录

第1章  数据库系统概述 1

1.1  数据管理技术的发展 1

1.1.1  人工管理阶段 1

1.1.2  文件系统阶段 2

1.1.3  数据库系统阶段 4

1.2  数据和数据库 8

1.3  数据库管理系统 9

1.4  数据库系统 9

1.5  数据库系统结构 12

1.5.1  数据库系统的三级模式结构 12

1.5.2  数据库的二级映像与数据独立性 14

1.5.3  数据库系统的外部体系结构 15

1.6  小结 18

1.7  思考练习 18

第2章  数据模型 20

2.1  模型与数据模型 20

2.2  概念数据模型 21

2.3  逻辑数据模型 24

2.3.1  逻辑数据模型概述 24

2.3.2  层次模型 25

2.3.3  网状模型 27

2.3.4  关系模型 29

2.3.5  面向对象数据模型 31

2.4  半结构化数据模型 33

2.5  小结 34

2.6  思考练习 34

第3章  关系数据库 36

3.1  关系模型的基本概念 36

3.1.1  关系数据结构 36

3.1.2  关系模式 39

3.2  关系的完整性 40

3.3  关系操作 42

3.3.1  基本的关系操作 42

3.3.2  关系操作语言的种类 42

3.4  关系代数 43

3.4.1  传统的集合运算 44

3.4.2  专门的关系运算 45

3.5  关系演算 50

3.5.1  元组关系演算 51

3.5.2  域关系演算 52

3.6  小结 54

3.7  思考练习 55

第4章  关系数据库标准语言SQL 57

4.1  SQL概述 57

4.1.1  SQL的产生和发展 57

4.1.2  SQL的功能 58

4.1.3  SQL的特点 59

4.2  数据定义 60

4.2.1  SQL的数据类型 61

4.2.2  模式的定义和删除 62

4.2.3  基本表的定义、修改

和删除 63

4.2.4  索引的建立和删除 66

4.3  数据查询 68

4.3.1  单表查询 69

4.3.2  连接查询 75

4.3.3  嵌套查询 76

4.3.4  集合查询 80

4.4  数据更新 81

4.4.1  插入数据 81

4.4.2  修改数据 82

4.4.3  删除数据 83

4.5  视图 84

4.5.1  视图的定义和删除 84

4.5.2  基于视图的查询 86

4.5.3  更新视图 87

4.5.4  视图的作用 88

4.6  嵌入式SQL 89

4.6.1  嵌入式SQL概述 89

4.6.2  嵌入式SQL的一般形式 90

4.6.3  嵌入式SQL语句与

主语言之间的通信 90

4.6.4  不使用游标的SQL语句 93

4.6.5  使用游标的SQL语句 95

4.6.6  动态SQL 97

4.7  小结 99

4.8  思考练习 100

第5章  数据库完整性与安全性 102

5.1  完整性概述 102

5.1.1  完整性概念 102

5.1.2  完整性约束条件 103

5.1.3  完整性控制机制 104

5.2  实体完整性 104

5.2.1  实体完整性定义 105

5.2.2  实体完整性检查和违约处理 105

5.3  参照完整性 106

5.3.1  参照完整性定义 107

5.3.2  参照完整性检查和违约处理 107

5.4  用户自定义完整性 108

5.4.1  属性上的约束条件 108

5.4.2  元组上的约束条件 109

5.4.3  域约束 110

5.4.4  断言约束 111

5.5  完整性约束的修改 112

5.5.1  完整性约束命名 112

5.5.2  修改完整性约束 113

5.6  触发器 113

5.6.1  定义触发器 114

5.6.2  激活触发器 116

5.6.3  删除触发器 116

5.7  安全性概述 117

5.7.1  安全性概念 117

5.7.2  数据库安全性的保护范围 117

5.7.3  数据库安全保护的任务和措施 119

5.8  DBMS中的安全性保护 119

5.8.1  用户标识和鉴别 120

5.8.2  存取控制 121

5.8.3  审计跟踪 122

5.9  SQL中的安全性机制 123

5.9.1  授权机制 123

5.9.2  视图机制 126

5.9.3  角色机制 126

5.10  其他安全机制 128

5.10.1  数据加密 128

5.10.2  统计数据库的安全性 129

5.11  小结 130

5.12  思考练习 130

第6章  关系数据理论 132

6.1  问题的提出 132

6.1.1  数据冗余导致的问题 132

6.1.2  问题分析 133

6.2  函数依赖 134

6.2.1  函数依赖定义 134

6.2.2  码 136

6.2.3  逻辑蕴含 137

6.2.4  闭包 138

6.2.5  极小函数依赖集 140

6.3  规范化 141

6.3.1  第一范式(1NF) 141

6.3.2  第二范式(2NF) 142

6.3.3  第三范式(3NF) 144

6.3.4  BCNF 145

6.3.5  多值依赖与第四范式(4NF) 147

6.3.6  连接依赖与第五范式(5NF) 150

6.3.7  规范化小结 151

6.4  模式分解 152

6.4.1  模式分解的相关定义 152

6.4.2  分解的无损连接性和保持函数依赖性 154

6.4.3  模式分解算法 156

6.5  小结 158

6.6  思考练习 159

第7章  实体-联系(E-R)模型 161

7.1  E-R模型的基本概念 161

7.1.1  实体 162

7.1.2  联系 163

7.1.3  属性 165

7.1.4  约束 168

7.2  E-R模型存在的问题 169

7.2.1  扇形陷阱 169

7.2.2  深坑陷阱 170

7.3  E-R图符号 172

7.4  E-R模型例子 172

7.5  小结 174

7.6  思考练习 175

第8章  数据库恢复技术 176

8.1  事务的基本概念 176

8.2  数据库恢复概述 178

8.3  故障的分类 178

8.4  恢复的实现技术 180

8.4.1  数据转储 180

8.4.2  日志文件(Logging) 181

8.5  恢复策略 183

8.5.1  事务故障的恢复 183

8.5.2  系统故障的恢复 184

8.5.3  介质故障的恢复 184

8.6  具有检查点的恢复技术 185

8.7  数据库镜像 187

8.8  小结 188

8.9  思考练习 188

第9章  并发控制 189

9.1  并发控制概述 189

9.2  封锁 191

9.2.1  锁 192

9.2.2  封锁协议 192

9.3  活锁和死锁 193

9.3.1  活锁 194

9.3.2  死锁 194

9.4  并发调度的可串行化 196

9.4.1  可串行化调度 196

9.4.2  冲突可串行化调度 197

9.5  两段锁协议 198

9.6  封锁的粒度 198

9.6.1  锁的粒度 198

9.6.2  多粒度封锁 199

9.6.3  意向锁 200

9.7  小结 201

9.8  思考练习 201

第10章  查询处理和优化 202

10.1  查询处理 202

10.1.1  查询处理步骤 202

10.1.2  查询执行代价度量 203

10.2  查询优化 204

10.2.1  查询优化的必要性 205

10.2.2  查询优化的可行性 206

10.3  代数优化 207

10.3.1  关系代数表达式等价变换规则 207

10.3.2  语法树 210

10.3.3  关系代数表达式优化算法 210

10.4  物理优化 214

10.4.1  基于启发式规则的存取路径选择优化 214

10.4.2  基于代价估算的优化 218

10.5  实际应用中的查询优化 220

10.5.1  基于索引的优化 220

10.5.2  查询语句的优化 221

10.6  小结 224

10.7  思考练习 224

第11章  数据库管理系统 225

11.1  DBMS的基本功能 225

11.2  DBMS的系统结构 226

11.2.1  DBMS的层次结构 226

11.2.2  DBMS的运行过程 228

11.3  主流商用DBMS介绍 229

11.3.1  Oracle 229

11.3.2  Microsoft SQL Server 233

11.3.3  DB2 236

11.3.4  MySQL 238

11.3.5  Sybase 241

11.3.6  Visual FoxPro 244

11.3.7  Access 245

11.4  小结 245

11.5  思考练习 246

第12章  数据库技术的发展 247

12.1  数据库技术的发展历程 247

12.1.1  第一代数据库系统 247

12.1.2  第二代数据库系统 248

12.1.3  第三代数据库系统 249

12.2  数据库技术的发展趋势 249

12.2.1  数据库发展特点 250

12.2.2  数据库技术发展趋势 250

12.3  新一代数据库技术 252

12.3.1  面向对象数据库 252

12.3.2  时态数据库 253

12.3.3  主动数据库 255

12.3.4  主存数据库 256

12.3.5  并行数据库 258

12.3.6  分布式数据库 259

12.3.7  空间数据库 261

12.3.8  知识数据库 261

12.3.9  多媒体数据库 262

12.3.10  XML数据库 262

12.4  小结 263

12.5  思考练习 263

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

13.1  数据仓库概述 264

13.1.1  数据仓库的定义 264

13.1.2  数据仓库的基本结构 266

13.1.3  数据仓库的主要应用 267

13.2  数据挖掘概述 268

13.2.1  数据挖掘的定义 268

13.2.2  数据挖掘技术及应用 268

13.2.3  数据挖掘与数据仓库的联系与区别 270

13.3  常用的数据挖掘工具 271

13.3.1  数据挖掘工具的种类 271

13.3.2  常用数据挖掘工具 271

13.4  小结 273

13.5  思考练习 273

第14章  数据库设计 274

14.1  数据库设计概述 274

14.1.1  数据库设计的特点 275

14.1.2  数据库设计的方法 275

14.1.3  数据库设计的步骤 276

14.1.4  数据库设计过程中的各级模式 278

14.2  需求分析 278

14.2.1  需求分析的任务 278

14.2.2  编写需求分析说明书 280

14.2.3  需求分析的方法 280

14.3  概念结构设计 284

14.3.1  概念结构设计概述 284

14.3.2  概念结构设计的方法与步骤 285

14.3.3  局部概念模型设计 286

14.3.4  全局概念模型设计视图的集成 287

14.4  逻辑结构设计 288

14.4.1  E-R图向关系模型的转换 288

14.4.2  数据模型的优化 291

14.4.3  外模式设计 291

14.5  物理结构设计 292

14.5.1  物理结构设计的目标和内容 292

14.5.2  确定数据库的存取方法 293

14.5.3  确定数据库的存储结构 294

14.5.4  物理结构评价 295

14.6  数据库的实施 295

14.6.1  数据的载入 295

14.6.2  数据库应用程序的调试和试运行 296

14.7  数据库运行维护 297

14.8  小结 298

14.9  思考练习 298

第15章  数据库设计工具PowerDesigner 300

15.1  PowerDesigner简介 300

15.1.1  PowerDesigner建模 工具简介 300

15.1.2  PowerDesigner的主要 功能和模型 301

15.2  PowerDesigner安装 303

15.3  概念数据模型设计 306

15.4  物理数据模型设计 310

15.4.1  使用CDM生成PDM 310

15.4.2  直接创建PDM 311

15.4.3  使用物理数据模型创建数据库脚本 313

15.5  小结 316

15.6  思考练习 316

参考文献 317