
本书作为计算机技术与软件专业技术资格(水平)考试的中级职称的指定教材,具有比较权威的指导意义。本书根据2018年审定通过的《数据库系统工程师考试大纲》的重点,阐述了14章的内容,考生在学习教材内容的同时,还须对照考试大纲认真学习和复习大纲的知识点。
本书是在《数据库系统工程师考试大纲》的指导下,对《数据库系统工程师教程(第2版)》进行了认真修编,重写而成。
本书适合参加本考试的考生和大学在校生作为教材。
第3版
全国计算机技术与软件专业技术资格(水平)考试实施至今已经历了二十余年,在社会上产生了很大的影响,对我国软件产业的形成和发展做出了重要的贡献。为了适应我国计算机信息技术发展的需求,人力资源和社会保障部、工业和信息产业部决定将考试的级别拓展到计算机信息技术行业的各个方面,以满足社会上对各种计算机信息技术人才的需要。
编者受全国计算机专业技术资格考试办公室委托,对《数据库系统工程师教程》一书进行改写,以适应新的考试大纲要求。在考试大纲中,要求考生掌握的知识面很广,每个章节的内容都能构成相关领域的一门课程,因此编写的难度很高。考虑到参加考试的人员已有一定的基础,所以本书中只对考试大纲中所涉及的知识领域的要点加以阐述,但限于篇幅所限,不能详细地展开,请读者谅解。
全书共分14章,各章节内容安排如下:
第1章主要介绍计算机系统基础知识、计算机体系结构以及安全性、可靠性和系统性能评测基础、多媒体基础知识。
第2章主要介绍程序设计语言的基本概念与基本成分,阐述了汇编程序、编译程序与解释程序的基本原理。
第3章主要介绍数据结构中线性结构、数组、矩阵、树和图的基本概念,阐述了查找和排序的基本方法和算法;算法设计与分析的基本概念等。
第4章主要介绍操作系统中进程管理、存储管理、设备管理、文件管理、作业管理以及网络语嵌入式操作系统基础知识。
第5章主要介绍网络体系结构、网络互联硬件、网络协议与标准、Internet应用以及网络安全知识。
第6章主要介绍数据库系统的基本概念、数据模型、数据存储与查询、数据仓库与数据挖掘基础知识。
第7章主要介绍关系数据库基本概念、关系运算、元组演算、域演算、查询优化以及关系数据库设计基础理论。
第8章主要介绍SQL的功能与特点、SQL数据定义语言(表、视图、索引、约束)、 SQL数据操作语言(数据检索、数据插入/删除/更新)、创建与删除触发器、SQL数据控制语言(安全性和授权、事务处理)以及嵌入式SQL。
第9章主要介绍软件工程基础知识、面向对象的基本概念、面向对象程序设计与开发技术、讨论了面向对象分析与设计方法,介绍了软件系统设计、实施和运行维护方面的知识。
第10章主要介绍数据库应用系统设计过程涉及的内容,包括概念结构设计、逻辑结构设计、物理结构设计、数据库系统实施、数据库运行维护与管理、性能调整以及用户支持。
第11章主要介绍事务的基本概念、并发控制和封锁协议、数据库备份与恢复、数据库的安全性与完整性。
第12章主要介绍分布式数据库基本概念与应用、网络环境下数据库系统的设计与实施、面向Web的数据库管理系统(DBMS)技术以及数据库系统的发展趋势。
第13章主要介绍标准化与知识产权基础知识。
第14章主要介绍数据库应用案例,重点介绍SQL应用案例和数据库设计应用案例。
本书第1~3章由张淑平编写,第4章由王亚平编写,第5章由严体华编写,第6~8章由王亚平编写,第9章由褚华编写,第10章由王亚平、苏向阳编写,第11章由王亚平编写,第12章由高海昌编写,第13章由刘强编写,第14章由王亚平编写,最后由王亚平统稿。
在本书的编写过程中,参考了许多相关的书籍和资料,编者在此对这些参考文献的作者表示感谢。同时感谢清华大学出版社在本书出版过程中所给予的支持和帮助。
因作者的水平有限,书中难免存在错漏和不妥之处,望读者指正,以利改进和提高。
编 者
2018年元月
目 录
第1章 计算机系统知识 1
1.1 计算机系统基础知识 1
1.1.1 中央处理单元 1
1.1.2 数据表示和校验 5
1.2 计算机体系结构 13
1.2.1 概述 13
1.2.2 存储系统 19
1.2.3 输入输出技术 29
1.2.4 总线结构 33
1.3 安全性、可靠性与系统性能评测
基础知识 36
1.3.1 计算机安全概述 36
1.3.2 加密技术和认证技术 38
1.3.3 计算机可靠性 45
1.3.4 计算机系统的性能评价 48
1.4 多媒体基础知识 52
1.4.1 多媒体计算机系统 53
1.4.2 声音 55
1.4.3 图形和图像 60
1.4.4 动画和视频 66
1.4.5 虚拟现实 73
第2章 程序语言基础知识 76
2.1 程序语言概述 76
2.1.1 程序语言的基本概念 76
2.1.2 程序语言的基本成分 81
2.2 程序语言翻译基础 87
2.2.1 汇编程序基本原理 87
2.2.2 编译程序基本原理 90
2.2.3 解释程序基本原理 110
第3章 数据结构与算法 113
3.1 线性结构 113
3.1.1 线性表 113
3.1.2 栈和队列 119
3.1.3 串 124
3.2 数组和矩阵 128
3.3 树和图 131
3.3.1 树 131
3.3.2 图 139
3.4 常用算法 143
3.4.1 算法概述 143
3.4.2 排序 148
3.4.3 查找 156
3.4.4 递归算法 165
3.4.5 图的相关算法 167
第4章 操作系统知识 172
4.1 操作系统基础知识 172
4.1.1 操作系统的基本概念 172
4.1.2 操作系统分类及特点 173
4.1.3 操作系统的发展 177
4.2 进程管理 177
4.2.1 基本概念 177
4.2.2 进程的控制 181
4.2.3 进程间的通信 181
4.2.4 管程 185
4.2.5 进程调度 187
4.2.6 死锁 189
4.2.7 线程 193
4.3 存储管理 194
4.3.1 基本概念 194
4.3.2 存储管理方案 195
4.3.3 分页存储管理 197
4.3.4 分段存储管理 199
4.3.5 段页式存储管理 201
4.3.6 虚拟存储管理 202
4.4 设备管理 207
4.4.1 概述 207
4.4.2 I/O软件 208
4.4.3 设备管理采用的相关技术 209
4.4.4 磁盘调度 212
4.5 文件管理 215
4.5.1 基本概念 215
4.5.2 文件的结构和组织 216
4.5.3 文件 218
4.5.4 存取方法和存储空间的管理 220
4.5.5 文件的使用 221
4.5.6 文件的共享和保护 222
4.5.7 系统的安全与可靠性 224
4.6 作业管理 225
4.6.1 基本概念 225
4.6.2 作业调度 226
4.6.3 用户界面 228
第5章 网络基础知识 230
5.1 计算机网络概述 230
5.1.1 计算机网络的概念 230
5.1.2 计算机网络的分类 233
5.1.3 网络的拓扑结构 234
5.2 网络硬件基础 236
5.2.1 网络设备 236
5.2.2 网络传输介质 239
5.3 ISO/OSI网络体系结构 241
5.4 网络的协议与标准 243
5.4.1 网络的标准 244
5.4.2 局域网协议 245
5.4.3 广域网协议 249
5.4.4 TCP/IP协议簇 252
5.5 Internet基础知识 257
5.5.1 Internet概述 258
5.5.2 Internet地址 258
5.5.3 Internet服务 266
5.6 信息安全基础知识 272
5.7 网络安全概述 275
第6章 数据库技术基础 280
6.1 基本概念 280
6.1.1 数据库与数据库管理系统 280
6.1.2 数据库技术的发展 282
6.1.3 DBMS的功能和特点 285
6.1.4 数据库系统的体系结构 287
6.1.5 数据库系统的三级模式结构 290
6.2 数据模型 293
6.2.1 数据模型的基本概念 293
6.2.2 数据模型的三要素 294
6.2.3 E-R模型 294
6.2.4 基本的数据模型 303
6.3 数据存储和查询 307
6.3.1 存储管理器 307
6.3.2 查询处理器 307
6.4 数据仓库和数据挖掘基础知识 307
6.4.1 数据仓库 308
6.4.2 数据挖掘 312
第7章 关系数据库 316
7.1 关系数据库概述 316
7.1.1 基础知识 316
7.1.2 关系数据库模式 319
7.1.3 关系的完整性约束 320
7.2 关系运算 320
7.2.1 关系代数运算 321
7.2.2 五种基本的关系代数运算 321
7.2.3 扩展的关系运算 323
7.3 元组演算 333
7.3.1 原子公式 333
7.3.2 公式的定义 333
7.3.3 关系代数运算转换为元组
演算表达式 334
7.4 域演算 337
7.4.1 原子公式 337
7.4.2 公式的定义 337
7.4.3 举例 338
7.5 查询优化 339
7.5.1 基本概念 339
7.5.2 关系代数表达式中的查询
优化 340
7.6 关系数据库设计基础理论 343
7.6.1 基础知识 343
7.6.2 规范化 346
7.6.3 Armstrong公理系统 350
7.6.4 模式分解及分解后的特性 353
第8章 SQL语言 360
8.1 数据库语言 360
8.1.1 数据库语言概述 360
8.1.2 数据库语言的分类 361
8.2 SQL概述 361
8.2.1 SQL语言的特征 361
8.2.2 SQL的基本组成 363
8.3 数据库定义 363
8.3.1 基本域类型 363
8.3.2 创建表 (CREATE TABLE) 364
8.3.3 修改表和删除表 365
8.3.4 创建和删除索引 365
8.3.5 视图创建和删除 367
8.4 数据操作 368
8.4.1 Select基本结构 368
8.4.2 简单查询 369
8.4.3 连接查询 370
8.4.4 子查询与聚集函数 370
8.4.5 分组查询 373
8.4.6 更名操作 374
8.4.7 字符串操作 375
8.4.8 集合操作 376
8.4.9 视图查询与更新 377
8.5 SQL中的授权 379
8.5.1 主键(Primary Key)约束 379
8.5.2 外键(Foreign Key)约束 381
8.5.3 属性值上的约束 382
8.5.4 全局约束 382
8.5.5 授权(GRANT)与销权
(REVOKE) 383
8.6 创建与删除触发器 385
8.6.1 概述 386
8.6.2 创建触发器 386
8.6.3 更改和删除触发器 389
8.7 嵌入式SQL 390
8.7.1 SQL与宿主语言接口 390
8.7.2 动态SQL 393
8.8 SQL-99所支持的对象关系模型 394
8.8.1 嵌套关系 394
8.8.2 复杂类型 396
8.8.3 继承 400
8.8.4 引用类型 403
8.8.5 与复杂类型有关的查询 403
8.8.6 函数和过程 406
第9章 系统开发和运行知识 411
9.1 软件工程基础知识 411
9.1.1 软件工程基本原理 411
9.1.2 软件生存周期模型 413
9.1.3 软件开发方法 418
9.1.4 软件项目管理 420
9.1.5 软件工具与开发环境 425
9.2 系统分析基础知识 427
9.2.1 系统分析概述 427
9.2.2 需求分析 428
9.2.3 结构化分析方法 429
9.2.4 面向对象分析方法 435
9.3 系统设计基础知识 448
9.3.1 系统设计内容和步骤 448
9.3.2 系统设计的基本原理 449
9.3.3 系统模块结构设计 451
9.3.4 结构化设计方法 453
9.3.5 面向对象设计方法 455
9.3.6 系统输入输出设计 457
9.3.7 处理过程设计 458
9.4 系统实施基础知识 459
9.4.1 系统实施概述 459
9.4.2 系统测试 460
9.4.3 测试策略和测试方法 462
9.4.4 系统转换 469
9.5 系统运行与维护基础知识 470
9.5.1 系统维护概述 470
9.5.2 系统评价 472
第10章 数据库设计 474
10.1 数据库设计概述 474
10.1.1 数据库应用系统的生命期 474
10.1.2 数据库设计的一般策略 475
10.1.3 数据库设计的基本步骤 475
10.2 系统需求分析 476
10.2.1 需求分析的任务、方法和
目标 477
10.2.2 需求分析阶段的文档 478
10.2.3 案例分析 478
10.3 概念结构设计 480
10.3.1 概念结构设计策略与方法 481
10.3.2 用E-R方法建立概念模型 482
10.4 逻辑结构设计 484
10.4.1 E-R图向关系模式的转换 484
10.4.2 关系模式的规范化 485
10.4.3 确定完整性约束 486
10.4.4 用户视图的确定 486
10.4.5 应用程序设计 486
10.5 数据库的物理设计 488
10.5.1 数据库物理设计工作过程 488
10.5.2 数据库物理设计工作步骤 489
10.6 数据库系统的实施阶段 491
10.7 数据库运行维护与管理 494
10.7.1 制订数据库系统的运行
计划 494
10.7.2 数据库系统的运行和维护 502
10.7.3 数据库系统的管理 499
10.7.4 性能调整 501
10.7.5 用户支持 503
第11章 事务管理 504
11.1 事务的基本概念 504
11.1.1 事务 504
11.1.2 事务的特性 505
11.1.3 事务的状态 506
11.2 数据库的并发控制 508
11.2.1 事务调度 509
11.2.2 并发操作带来的问题 511
11.2.3 并发调度的可串行性 513
11.2.4 并发控制技术 515
11.2.5 两段锁协议 516
11.2.6 多粒度封锁协议 517
11.2.7 案例分析 520
11. 3 数据库的备份与恢复 522
11.3.1 数据库系统故障种类 522
11.3.2 数据库备份 523
11.3.3 数据库恢复 524
11. 4 数据库的安全性与完整性 525
11.4.1 数据库的安全性 525
11.4.2 数据库的完整性 530
第12章 数据库发展和新技术 532
12.1 分布式数据库 532
12.1.1 分布式数据库的概念 533
12.1.2 分布式数据库的体系结构 536
12.1.3 分布式查询处理和优化 545
12.1.4 分布事务管理 546
12.1.5 新型分布式海量数据库 554
12.2 Web与数据库 555
12.2.1 Web概述 555
12.2.2 Web服务器脚本程序与
服务器的接口 557
12.2.3 CGI的应用 558
12.2.4 ASP的应用 559
12.2.5 Servlet和JSP的应用 561
12.3 XML与数据库 562
12.3.1 什么是XML 562
12.3.2 XML的文件存储面临的
问题 563
12.3.3 XML与数据库的数据转换 564
12.4 面向对象数据库 568
12.4.1 面向对象数据库系统的特征 569
12.4.2 面向对象数据模型 570
12.4.3 面向对象数据库语言 574
12.4.4 对象关系数据库系统 576
12.5 决策支持系统与数据库 582
12.5.1 决策支持系统的概念 582
12.5.2 数据仓库设计 584
12.5.3 数据转移技术 587
12.5.4 联机分析处理(OLAP) 591
12.5.5 联机事务处理(OLTP) 594
12.6 非关系型数据库NoSQL 597
12.6.1 NoSQL概述 597
12.6.2 相关理论基础 598
12.6.3 NoSQL数据库的种类 606
第13章 标准化和知识产权基础知识 622
13.1 标准化基础知识 622
13.1.1 标准化的基本概念 622
13.1.2 信息技术标准化 625
13.1.3 标准化组织 627
13.1.4 ISO 9000标准简介 629
13.1.5 能力成熟度模型简介 630
13.2 知识产权基础知识 632
13.2.1 知识产权基本概念 632
13.2.2 计算机软件著作权 634
13.2.3 计算机软件的商业秘密权 646
13.2.4 专利权概述 648
第14章 数据库案例分析 654
14.1 SQL应用案例 654
14.1.1 SQL应用案例一 654
14.1.2 SQL应用案例二 657
14.2 数据库设计应用案例 661
14.2.1 高校实验室管理信息系统 661
14.2.2 旅游管理信息系统 665
14.2.3 图书管理信息系统 669
数据库系统工程师教程(第5版)依据2018年审定通过的数据库系统工程师考试大纲大纲编写,涵盖数据库系统工程师(中级)岗位所要求的主要知识及应用技术。
通过数据库系统工程师考试的考生可以获得由人力资源和社会保障部、工业和信息化部认可的职业资格证书,本考试为中级资格认证。
数据库系统工程师教程(第5版)依据2018年审定通过的数据库系统工程师考试大纲大纲编写,涵盖数据库系统工程师(中级)岗位所要求的主要知识及应用技术。
通过数据库系统工程师考试的考生可以获得由人力资源和社会保障部、工业和信息化部认可的职业资格证书,本考试为中级资格认证。