第1章 计算机基础知识 1
1.1 计算机系统组成 1
1.1.1 计算机的发展阶段 1
1.1.2 “存储程序”工作原理 2
1.1.3 计算机指令系统 2
1.1.4 计算机的硬件组成 4
1.1.5 微处理器 5
1.1.6 总线 5
1.1.7 计算机的软件组成 6
1.1.8 计算机的配置和技术指标 8
1.1.9 计算机的应用领域 11
1.2 计算机中的信息表示 12
1.2.1 计算机中的信息单位 12
1.2.2 基本二进制运算 13
1.2.3 数据在计算机中的表示方式 14
1.2.4 计算机中的非数值信息 15
1.3 计算机网络基础 17
1.3.1 网络的基本概念 17
1.3.2 网络的分类 18
1.3.3 Internet基础 21
1.3.4 Internet提供的服务 25
1.3.5 Internet的基本接入方式 28
1.4 信息安全基础 31
1.4.1 密码技术 32
1.4.2 信息认证 33
1.4.3 恶意软件 35
1.4.4 计算机病毒 37
1.4.5 防火墙技术 39
1.4.6 网络安全 40
1.4.7 操作系统安全 44
1.4.8 数据库安全 47
习题1 48
第2章 数据结构与算法 49
2.1 基本概念 49
2.1.1 数据结构的基本概念 49
2.1.2 主要的数据存储方式 50
2.1.3 算法的设计与分析 51
2.2 线性表 52
2.2.1 顺序表和一维数组 53
2.2.2 链表 54
2.2.3 栈 56
2.2.4 队列 58
2.2.5 串 60
2.3 多维数组、稀疏矩阵和广义表 60
2.3.1 多维数组的顺序存储 60
2.3.2 稀疏矩阵的存储 61
2.3.3 广义表的定义和存储 63
2.4 树形结构 64
2.4.1 树的定义 64
2.4.2 二叉树的定义 65
2.4.3 树的二叉树表示 66
2.4.4 二叉树和树的周游 66
2.4.5 二叉树的存储和线索二叉树 67
2.4.6 二叉树周游算法 69
2.4.7 霍夫曼算法及其应用 70
2.5 查找 72
2.5.1 线性表查找 73
2.5.2 树形结构与查找 77
2.6 排序 84
2.6.1 插入排序 84
2.6.2 选择排序 86
2.6.3 交换排序 90
2.6.4 归并排序 92
习题2 93
第3章 操作系统 95
3.1 操作系统概述 95
3.1.1 操作系统的基本概念 95
3.1.2 操作系统的功能 96
3.1.3 操作系统的分类 97
3.1.4 操作系统与用户的接口 99
3.1.5 操作系统的结构 100
3.2 操作系统的硬件环境 101
3.2.1 中央处理器(CPU) 101
3.2.2 存储体系 102
3.2.3 中断系统 102
3.2.4 I/O控制方式 104
3.2.5 时钟 104
3.3 进程管理 105
3.3.1 进程的基本概念 105
3.3.2 进程控制 107
3.3.3 线程的基本概念 108
3.3.4 进程(线程)调度 109
3.3.5 进程同步机制 111
3.3.6 进程间通信 115
3.3.7 死锁 117
3.4 存储管理 121
3.4.1 存储管理概述 121
3.4.2 可变分区存储管理方案 123
3.4.3 页式存储管理方案 126
3.4.4 虚拟页式存储管理方案 129
3.4.5 虚拟存储管理的性能问题 132
3.5 文件管理 133
3.5.1 文件管理概述 133
3.5.2 文件结构和存取方式 134
3.5.3 文件目录及实现 137
3.5.4 文件的操作及实现 139
3.5.5 文件系统的实现 140
3.5.6 文件系统的安全 143
3.5.7 文件系统的性能 145
3.6 设备管理 146
3.6.1 设备管理概述 146
3.6.2 通道技术 147
3.6.3 缓冲技术 149
3.6.4 虚拟设备技术(SPOOLing技术) 149
3.6.5 设备分配及处理 150
3.6.6 磁盘调度 152
习题3 154
第4章 数据库技术基础 156
4.1 数据库技术基本概念 156
4.1.1 信息、数据与数据处理 156
4.1.2 数据管理技术的发展和数据库方法的特征 157
4.1.3 数据库、数据字典、数据库管理系统、数据库系统 158
4.1.4 数据库技术的研究领域 160
4.2 数据模型 161
4.2.1 数据模型的概念 161
4.2.2 数据模型的要素 161
4.2.3 数据模型的分类 162
4.2.4 概念数据模型——ER模型 163
4.2.5 常用的逻辑数据模型 166
4.3 数据库系统的模式结构 169
4.3.1 数据库系统中的模式、实例和数据库状态 169
4.3.2 数据库系统的三级模式结构 172
4.3.3 数据库的二层映象与数据独立性 173
习题4 174
第5章 关系数据库系统 175
5.1 关系数据库系统和关系数据模型 175
5.1.1 关系数据库系统的发展历史 175
5.1.2 关系数据模型 176
5.2 关系模型的数据结构 177
5.2.1 关系模型的数据结构和基本术语 177
5.2.2 关系的形式定义和关系数据库对关系的限定 179
5.2.3 关系数据库中常用的表示法 181
5.3 关系模型的完整性约束 182
5.3.1 关系模型的完整性约束分类 182
5.3.2 域完整性约束 182
5.3.3 实体完整性约束 183
5.3.4 参照完整性约束 183
5.3.5 关系模型数据完整性约束的检查 184
5.4 关系代数 185
5.4.1 关系代数操作的分类 185
5.4.2 基于传统集合论的关系代数操作 186
5.4.3 一元的专门关系操作 188
5.4.4 二元的专门关系操作 190
5.4.5 扩展的关系操作 193
习题5 195
第6章 关系数据库标准语言SQL 196
6.1 SQL概述 196
6.1.1 SQL的标准化历程 196
6.1.2 SQL的功能特点 196
6.1.3 SQL的基本组成 197
6.1.4 SQL的数据类型 199
6.2 SQL的数据定义 200
6.2.1 SQL的模式 200
6.2.2 SQL的基本表 201
6.2.3 SQL的索引 203
6.2.4 SQL的域 204
6.3 SQL的数据查询 204
6.3.1 简单查询 205
6.3.2 连接查询 207
6.3.3 嵌套查询 208
6.3.4 集合查询 209
6.3.5 SQL中的连接表和外连接 209
6.4 SQL的数据修改 211
6.4.1 SQL的插入操作 211
6.4.2 SQL的删除操作 211
6.4.3 SQL的更新操作 212
6.5 SQL的视图 212
6.5.1 视图的概念 212
6.5.2 视图的查询 214
6.5.3 视图的修改 215
6.5.4 视图的作用 216
6.6 SQL的数据控制 217
6.6.1 授予权限 217
6.6.2 收回权限 219
6.7 嵌入式SQL和动态SQL 219
6.7.1 嵌入式SQL 219
6.7.2 动态SQL 222
习题6 223
第7章 关系数据库的规范化理论与数据库设计 225
7.1 “不好”的关系模式中存在的问题 225
7.2 函数依赖 226
7.2.1 函数依赖的定义 226
7.2.2 函数依赖的逻辑蕴含 227
7.2.3 码 227
7.2.4 函数依赖的公理系统 227
7.3 1NF,2NF,3NF,BCNF 228
7.3.1 第一范式(1NF)及进一步规范化 228
7.3.2 第二范式(2NF) 229
7.3.3 第三范式(3NF) 229
7.3.4 Boyce-Codd范式(BCNF) 230
7.4 多值依赖和4NF 230
7.4.1 多值依赖 230
7.4.2 第四范式(4NF) 232
7.5 关系模式的分解 232
7.5.1 模式分解的等价标准 233
7.5.2 关于模式分解的几个事实 234
7.6 数据库设计 235
7.6.1 设计过程概览 235
7.6.2 概念结构设计 235
7.6.3 逻辑结构设计 237
7.6.4 物理结构设计 238
7.7 规范化理论在数据库设计中的应用 239
习题7 239
第8章 数据库系统实现技术 241
8.1 数据库管理系统概述 241
8.1.1 数据库管理系统的基本功能 241
8.1.2 数据库管理系统的主要成分和工作流程 242
8.2 存储管理 243
8.2.1 物理存储介质简介 243
8.2.2 数据存储组织 244
8.2.3 缓冲区管理 245
8.2.4 数据字典 245
8.2.5 索引结构 246
8.3 查询处理 247
8.3.1 查询处理概述 247
8.3.2 查询执行 248
8.3.3 查询优化 249
8.4 事务管理 251
8.4.1 事务的概念和特性 251
8.4.2 故障恢复 253
8.4.3 并发控制 255
习题8 262
第9章 主流关系数据库管理系统 263
9.1 关系数据库管理系统综述 263
9.1.1 关系DBMS的发展历史 263
9.1.2 新的应用需求对关系DBMS的挑战 264
9.1.3 关系DBMS的选择 265
9.1.4 关系DBMS的发展趋势 266
9.2 SQL Server 267
9.2.1 SQL Server概述 267
9.2.2 SQL Server 2000的体系结构 267
9.2.3 SQL Server 2000的功能特点 268
9.2.4 SQL Server 2000多版本支持及操作系统的选择 269
9.2.5 SQL Server 2000数据库 270
9.2.6 从Internet访问SQL Server 2000数据库 271
9.3 Oracle 272
9.3.1 Oracle系统概述 272
9.3.2 Oracle体系结构 272
9.3.3 Oracle数据库服务器功能及其特色 274
9.3.4 Oracle的工具及其功能 275
9.3.5 Oracle的数据仓库和Internet解决方案 276
9.3.6 Oracle的对象—关系特性 277
9.4 SQL Server和Oracle的安全性 279
习题9 282
第10章 新一代数据库系统工具 284
10.1 新一代数据库系统工具概述 284
10.1.1 数据库系统工具的分类 284
10.1.2 新一代数据库系统工具的特征和发展趋势 285
10.2 系统开发工具的选择 287
10.2.1 当前应用开发对工具的总需求 287
10.2.2 目前应用开发工具存在的问题 288
10.3 基于浏览器/服务器结构的软件开发 288
10.3.1 信息系统的层次结构划分 288
10.3.2 浏览器/服务器系统开发工具 289
10.4 数据库建模工具——PowerDesigner 292
10.4.1 PowerDesigner功能介绍 293
10.4.2 PowerDesigner主要模块 294
10.4.3 利用PowerDesigner进行数据库设计 295
10.5 可视化程序开发工具Delphi 297
10.5.1 Delphi的主要特点 297
10.5.2 Delphi可视化编程环境 298
10.5.3 Delphi对数据库应用的开发 298
10.6 应用开发工具PowerBuilder 300
10.6.1 PowerBuilder的主要特点 300
10.6.2 PowerBuilder的数据窗口 301
10.7 Windows平台应用程序开发工具Visual Studio 302
10.7.1 Visual Studio的历史 302
10.7.2 Visual Studio的主要特点 303
10.7.3 Visual Studio 2008的新功能 303
习题10 306
第11章 数据库技术的发展 308
11.1 数据库技术发展阶段 308
11.1.1 第一代数据库系统 308
11.1.2 第二代数据库系统 309
11.1.3 第三代数据库系统 309
11.2 数据库系统体系结构 310
11.2.1 集中式数据库系统体系结构 310
11.2.2 分布式数据库系统体系结构 311
11.2.3 客户机/服务器数据库系统体系结构 313
11.2.4 面向Web应用的数据库系统体系结构 314
11.3 面向对象的数据库系统 315
11.3.1 面向对象的基本概念 315
11.3.2 面向对象数据库管理系统 317
11.3.3 面向对象数据库系统模型和其他模型的简单比较 322
11.4 移动数据库系统 322
11.4.1 移动环境的特征 322
11.4.2 移动数据库的数据管理 323
11.5 多媒体数据库系统 324
11.5.1 多媒体数据库的基本概念 324
11.5.2 多媒体数据库的数据管理 324
11.5.3 多媒体数据库系统的重要问题 325
11.6 数据仓库和联机分析处理 326
11.6.1 数据仓库的基本概念 326
11.6.2 数据仓库的数据模型 328
11.6.3 数据仓库的体系结构 330
11.6.4 联机分析处理的功能 331
11.7 数据挖掘 333
11.7.1 知识发现与数据挖掘 333
11.7.2 数据挖掘的目标和任务 334
11.7.3 数据仓库与数据挖掘的结合 335
11.8 Web挖掘 336
11.8.1 Web信息的特点 336
11.8.2 Web挖掘的流程和分类 337
习题11 338
附录1 全国计算机等级考试三级数据库技术考试大纲(2007年版) 339
附录2 2011年3月全国计算机等级考试三级笔试试题及参考答案——数据库技术 341
附录3 习题答案 349
参考文献 351