第1章 数据库系统概论 1
目录 1
1.1 引言 2
1.1.1 信息与数据 2
1.1.2 数据处理 2
1.2 数据管理技术的演变 3
1.2.1 人工管理阶段 3
1.2.2 文件系统阶段 3
1.2.4 高级数据库阶段 4
1.2.3 数据库阶段 4
1.3 数据库系统的组成与结构 6
1.3.1 数据库系统的组成 6
1.3.2 数据库系统的结构 8
1.4 数据库管理系统 12
1.4.1 DBMS的主要功能 12
1.4.2 DBMS的组成 13
1.5.1 数据模型的组成要素 15
1.4.3 DBMS的数据存取过程 15
1.5 数据模型 15
1.5.2 数据之间的联系 16
1.5.3 数据模型的分类 18
1.6 数据库系统的发展 22
小结 24
习题 24
第2章 关系模型 26
2.1 关系模型 27
2.1.1 关系数据结构 27
2.1.2 关系操作集合 27
2.1.3 关系的三类完整性约束 28
2.2 关系的形式化定义 28
2.2.1 域 28
2.2.2 笛卡儿积 28
2.2.3 关系 29
2.3 关系的性质 30
2.4.1 候选码与主码 31
2.4 关系的码 31
2.4.2 主属性与非码属性 32
2.4.3 外部关键码 32
2.4.4 关系模型的完整性 32
2.5 关系模式与关系数据库 34
2.5.1 关系模式 34
2.5.2 关系数据库 35
2.6 关系代数 36
2.6.1 关系代数的分类及其运算符 36
2.6.2 传统的集合运算 36
2.6.3 专门的关系运算 38
2.7 关系演算 41
2.7.1 元组关系演算语言 42
2.7.2 域关系演算语言 44
2.8 关系代数表达式的优化 45
2.8.1 关系代数表达式的等价变换规则 45
2.8.3 关系代数表达式的优化策略 47
2.8.2 关系代数表达式的优化算法 47
小结 48
习题 48
第3章 结构化查询语言SQL 53
3.1 SQL的基本概念 54
3.1.1 基本操作模式、数据类型和空值 55
3.1.2 表达式与函数 59
3.1.3 SQL命令和保留字 67
3.2.1 基本表的定义、修改和删除 70
3.2 SQL的数据定义功能 70
3.2.2 视图 71
3.2.3 索引 73
3.3 SQL的数据操纵功能 73
3.3.1 SQL查询语句 73
3.3.2 SQL更新语句 86
3.3.3 视图的查询、更新 89
3.3.4 关系操作符 91
3.4 SQL的数据控制功能 97
习题 100
小结 100
第4章 关系数据库理论 106
4.1 问题的提出 107
4.1.1 冗余量大 108
4.1.2 插入异常 108
4.1.3 删除异常 108
4.1.4 潜在的不一致性 108
4.2 函数依赖性 109
4.2.1 函数依赖 109
4.2.2 函数依赖的蕴涵性 110
4.2.3 关键字 111
4.3 关于函数依赖性的公理系统 111
4.3.1 阿姆斯特朗公理 111
4.3.2 阿姆斯特朗公理的完备性 112
4.3.3 闭包的计算 114
4.3.4 函数依赖集的等价、覆盖和最小集 115
4.4.1 无损连接分解 117
4.4 关系模式的分解 117
4.4.2 保持依赖的分解 121
4.5 关系模式的规范化 122
4.5.1 第一范式和第二范式 122
4.5.2 第三范式 123
4.5.3 BCNF范式 125
4.5.4 BCNF范式的无损连接分解 126
4.5.5 第三范式的保持依赖分解 127
4.5.6 第三范式的无损连接且保持依赖的分解 129
4.5.7 多值依赖和4NF 130
小结 132
习题 132
第5章 数据库文件存储技术 135
5.1 文件组织 136
5.1.1 文件组织方式 136
5.1.2 顺序文件组织 140
5.1.3 聚集文件组织 142
5.2.1 基本概念 143
5.2 索引技术 143
5.2.2 线性索引 144
5.2.3 B树索引文件 144
5.2.4 B+树索引文件 146
5.3 哈希技术 151
5.3.1 基本概念 151
5.3.2 哈希索引 155
习题 156
小结 156
第6章 安全性与完整性 158
6.1 数据库的安全性 159
6.1.1 数据库安全性的含义 159
6.1.2 安全性控制的一般方法 159
6.2 完整性控制 163
6.2.1 数据库完整性的含义 163
6.2.2 完整性规则的组成 163
6.2.3 完整性约束条件的分类 165
6.3.2 事务 166
6.3 并发控制与封锁 166
6.3.1 数据库并发性的含义 166
6.3.3 并发控制的数据不一致性与加锁 168
6.4 数据库的恢复 174
6.4.1 数据库恢复的含义 174
6.4.2 恢复的原理及其实现技术 174
6.4.3 数据库的故障和恢复策略 177
小结 179
习题 180
第7章 数据库设计 182
7.1 数据库设计概述 183
7.1.1 数据库设计的任务、内容和特点 183
7.1.2 数据库设计方法简述 184
7.1.3 数据库设计的步骤 186
7.2 系统需求分析 188
7.2.1 系统需求分析的任务 189
7.2.2 系统需求分析的方法 190
7.3.2 概念结构设计的方法与步骤 193
7.3 概念结构设计 193
7.3.1 概念模型的特点 193
7.3.3 数据抽象与局部E-R模型设计 194
7.3.4 视图的集成 197
7.4 逻辑结构设计 201
7.4.1 逻辑结构设计的任务和步骤 201
7.4.2 E-R图向数据模型的转换 201
7.4.3 数据模型的优化 202
7.4.4 设计用户子模式 204
7.5.1 选择存取方法 205
7.5 数据库物理设计 205
7.5.2 确定数据库的存储结构 206
7.5.3 评价物理结构 206
7.6 数据库实施 207
7.6.1 建立实际数据库结构 207
7.6.2 装入数据 207
7.6.3 应用程序编码与调试 207
7.7 数据库运行和维护 208
7.6.4 数据库试运行 208
7.6.5 整理文档 208
7.7.1 维护数据库的安全性与完整性 209
7.7.2 监测并改善数据库性能 209
7.7.3 重新组织和构造数据库 209
小结 210
习题 210
第8章 数据库设计的典型案例 213
8.1 案例的系统需求简介 214
8.1.1 总体需求描述 214
8.1.2 用户总体业务构造 214
8.1.3 其他要求 214
8.1.4 系统功能设想 214
8.1.5 业务流程分析 215
8.2 需求描述 216
8.2.1 数据流图 216
8.2.2 数据字典 219
8.3 概念设计 220
8.3.1 实体 221
8.3.2 系统局部E-R图 221
8.3.3 系统全局E-R图 223
8.4 逻辑设计 224
8.4.1 E-R图到关系模式的转换 224
8.4.2 关系模式的规范及调整 224
8.4.3 各个数据表的表结构设计 225
8.5.1 存储介质的选择 227
8.5 数据库的物理设计 227
8.5.2 数据库“学生选课”的存储结构设计 228
8.5.3 各个数据表(视图)的建立 229
8.5.4 选择存取方法 230
8.5.5 数据库服务器性能优化 231
小结 231
习题 232
第9章 SQL Server数据库基础 233
9.2 SQL Server 2000应用环境概述 234
9.1 客户/服务器体系结构 234
9.2.1 SQL Server 2000软件架构 235
9.2.2 SQL Server数据库组成 236
9.2.3 SQL Server工具 243
9.3 Transact-SQL程序设计 246
9.3.1 Transact-SQL的数据定义功能及实例 247
9.3.2 Transact-SQL的数据操纵功能及实例 249
9.3.3 注释符与运算符 253
9.3.4 变量 254
9.3.5 流程控制语句 254
9.3.6 常用命令 258
9.3.7 函数 260
9.4 存储过程 260
9.4.1 存储过程的类型 260
9.4.2 创建存储过程 261
9.4.3 执行存储过程 262
9.4.4 存储过程实例 263
9.5.1 触发器结构 265
9.5 触发器 265
9.5.2 创建触发器 266
9.5.3 触发器实例 269
小结 271
习题 271
第10章 数据库应用系统开发技术 273
10.1 概述 274
10.2 C/S体系结构 275
10.2.1 传统的二层C/S结构 276
10.2.2 二层C/S结构的问题 276
10.2.3 “瘦客户机/胖服务器”模式 277
10.2.4 层及多层的C/S结构 278
10.2.5 N层体系结构 279
10.3 B/S结构 280
10.4 开放式数据库开发 281
10.4.1 ODBC 282
10.4.2 基于ODBC接口的编程 284
10.4.3 数据库操作对象ADO 286
10.5 ADO.NET技术 290
10.5.1 ADO.NET的设计目标 291
10.5.2 ADO.NET模型构造 291
10.5.3 .NET Framework数据提供程序 292
10.5.4 DataSet 297
10.5.5 基于Visual Studio.NET环境应用程序示例 306
习题 314
小结 314
第11章 Web数据库及其开发技术 316
11.1 Web数据库概述 317
11.2 ASP.NET概述 317
11.2.1 ASP.NET初识 317
11.2.2 ASP.NET的编程模型 318
11.2.3 安装和配置IIS 5.0 319
11.2.4 安装.NET Framework 319
11.2.5 选择开发环境 319
11.3.1 DataGrid控件介绍 320
11.3 Web数据库应用实例 320
11.3.2 DataGrid控件实现数据库记录的分页显示 323
11.3.3 DataGrid控件对记录排序 326
11.3.4 DataGrid控件定制列元素 328
小结 340
习题 340
第12章 数据库新技术 341
12.2.1 面向对象的模型的核心概念 342
12.2 面向对象的数据库技术 342
12.1 概述 342
12.2.2 面向对象的数据库系统的特点 344
12.2.3 面向对象的数据库语言 345
12.2.4 面向对象的数据库研究内容 350
12.3 分布式数据库技术 352
12.3.1 分布式数据库系统的概念 352
12.3.2 分布式数据库系统的体系结构 353
12.3.3 分布式数据库系统的设计 354
12.3.4 分布式查询 357
12.3.5 分布式并发控制 359
12.4 数据仓库技术 360
12.4.1 数据仓库的概念 360
12.4.2 数据仓库系统的体系结构 362
12.4.3 数据仓库中的数据 367
12.4.4 数据仓库的数据模型 367
12.4.5 数据仓库的设计和开发 368
12.4.6 数据仓库的解决方案及工具介绍 374
12.4.7 数据仓库的主要技术 377
12.5 其他新型的数据库系统 379
12.5.1 知识库 379
12.5.2 模糊数据库与演绎数据库 380
12.5.3 主动数据库 380
12.5.4 移动数据库 384
12.5.5 统计数据库 385
小结 386
习题 386
参考文献 387