数据库系统工程师考点笔记

目录

  • 第一章 计算机系统知识
    • 1.1 计算机系统基础知识
      • 1.1.1 中央处理单元
      • 1.1.2 数据表示和校验
    • 1.2 计算机体系结构
      • 1.2.1 概述
      • 1.2.2 存储系统
      • 1.2.3 输入输出技术
      • 1.2.4 总线结构
    • 1.3 安全性、可靠性与系统性能评测基础知识
      • 1.3.1 计算机安全概述
      • 1.3.2 加密技术和认证技术
      • 1.3.3 计算机可靠性
      • 1.3.4 计算机系统的性能评价
    • 1.4 多媒体基础知识
      • 1.4.1 多媒体计算机系统
      • 1.4.2 声音
      • 1.4.3 图形和图像
      • 1.4.4 动画和视频
      • 1.4.5 虚拟现实
  • 第二章 程序语言基础知识
    • 2.1 程序语言概述
      • 2.1.1 程序语言的基本概念
      • 2.1.2 程序语言的基本成分
    • 2.2 程序语言翻译基础
      • 2.2.1 汇编程序基本原理
      • 2.2.2 编译程序基本原理
      • 2.2.3 解释程序基本原理
  • 第三章 数据结构与算法
    • 3.1 线性结构
      • 3.1.1 线性表
      • 3.1.2 线和队列
      • 3.1.3 串
    • 3.2 数组和矩阵
    • 3.3 树和图
      • 3.3.1 树
      • 3.3.2 图
    • 3.4 常用算法
      • 3.4.1 算法概述
      • 3.4.2 排序
      • 3.4.3 查找
      • 3.4.4 递归算法
      • 3.4.5 图的相关算法
  • 第四章 操作系统知识
    • 4.1 操作系统基础知识
      • 4.1.1 操作系统的基本概念
      • 4.1.2 操作系统分类及特点
      • 4.1.3 操作系统的发展
    • 4.2 进程管理
      • 4.2.1 基本概念
      • 4.2.2 进程的控制
      • 4.2.3 进程间的通信
      • 4.2.4 管程
      • 4.2.4 进程调度
      • 4.2.5 死锁
      • 4.2.6 线程
    • 4.3 存储管理
      • 4.3.1 基本概念
      • 4.3.2 存储管理方案
      • 4.3.3 分页存储管理
      • 4.3.4 分段存储管理
      • 4.3.5 段页式存储管理
      • 4.3.6 虚拟存储管理
    • 4.4 设备管理
      • 4.4.1 概述
      • 4.4.2 I/O 软件
      • 4.4.3 设备管理采用的相关技术
      • 4.4.4 磁盘调度
    • 4.5 文件管理
      • 4.5.1 基本概念
      • 4.5.2 文件的结构和组织
      • 4.5.3 文件目录
      • 4.5.4 存取方法和存储空间的管理
      • 4.5.5 文件的使用
      • 4.5.6 文件的共享和保护
      • 4.5.7 系统的安全与可靠性
    • 4.6 作业管理
      • 4.6.1 基本概念
      • 4.6.2 作业调度
      • 4.6.3 用户界面
  • 第五章 网络基础知识
    • 5.1 计算机网络概述
      • 5.1.1 计算机网络概念
      • 5.1.2 计算机网络的分类
      • 5.1.3 网络的拓扑结构
    • 5.2 网络硬件基础
      • 5.2.1 网络设备
      • 5.2.2 网络传输介质
    • 5.3 ISO/OSI 网络体系结构
    • 5.4 网络的协议与标准
      • 5.4.1 网络的标准
      • 5.4.2 局域网协议
      • 5.4.3广域网协议
      • 5.4.4 TCP/IP协议簇
    • 5.5 Internet 基础知识
      • 5.5.1 Inernet概述
      • 5.5.2 Internet地址
      • 5.5.3 Internet服务
    • 5.6 信息安全基础知识
    • 5.7 网络安全概述
  • 第六章 数据库技术基础
    • 6.1 基础概念
      • 6.1.1 数据库与数据库管理系统
      • 6.1.2 数据库技术的发展
      • 6.1.3 DBMS的功能和特点
      • 6.1.4 数据库系统的三级模式结构
      • 6.1.5 数据库系统的三级模式结构
    • 6.2 数据模型
      • 6.2.1 数据模型的基本概念
      • 6.2.2 数据模型的三要素
      • 6.2.3 E-R 模型
      • 6.2.4 基本的数据模型
    • 6.3 数据存储和查询
      • 6.3.1 存储管理器
      • 6.3.2 查询处理器
    • 6.4 数据仓库和数据挖掘基础知识
      • 6.4.1 数据仓库
      • 6.4.2 数据挖掘
  • 第七章 关系数据库
    • 7.1 关系数据库概述
      • 7.1.1 基础知识
      • 7.1.2 关系数据库模式
      • 7.1.3 关系的完整性约束
    • 7.2 关系运算
      • 7.2.1 关系代数运算
      • 7.2.2 五种基本的关系代数运算
      • 7.2.3 扩展的关系运算
    • 7.3 元组演算
      • 7.3.1 原子公式
      • 7.3.2 公式的定义
      • 7.3.3 关系代数运算转换为元组演算表达式
    • 7.4 域演算
      • 7.4.1 原子公式
      • 7.4.2 公式的定义
      • 7.4.3 举例
    • 7.5 查询优化
      • 7.5.1 基本概念
      • 7.5.2 关系代数表达式中的查询优化
    • 7.6 关系数据库设计基础理论
      • 7.6.1 基础知识
      • 7.6.2 规范化
      • 7.6.3 Armstrong 公理系统
      • 7.6.4 模式分解及分解后的特性
  • 第八章 SQL 语言
    • 8.1 数据库语言
      • 8.1.1 数据库语言概述
      • 8.1.2 数据库语言的分类
    • 8.2 SQL 概述
      • 8.2.1 SQL 语言的特征
      • 8.2.2 SQL 的基本组成
    • 8.3 数据库定义
      • 8.3.1 基本域类型
      • 8.3.2 创建表(CREATE TABLE)
      • 8.3.3 修改表和删除表
      • 8.3.4 创建和删除索引
      • 8.3.5 视图创建和删除
    • 8.4 数据操作
      • 8.4.1 Select 基本结构
      • 8.4.2 简单查询
      • 8.4.3 连接查询
      • 8.4.4 子查询与聚集函数
      • 8.4.5 分组查询
      • 8.4.6 更名操作
      • 8.4.7 字符串操作
      • 8.4.8 集合操作
      • 8.4.9 视图查询与更新
    • 8.5 SQL 中的授权
      • 8.5.1 主键(Primary Key) 约束
      • 8.5.2 外键(Foreign Key)约束
      • 8.5.3 属性值上的约束
      • 8.5.4 全局约束
      • 8.5.5 授权(GRANT) 与销权(REVOKE)
    • 8.6 创建与删除触发器
      • 8.6.1 概述
      • 8.6.2 创建触发器
      • 8.6.3 更改和删除触发器
    • 8.7 嵌入式SQL
      • 8.7.1 SQL 与宿主语言接口
      • 8.7.2 动态SQL
    • 8.8 SQL-99所支持的对象关系模型
      • 8.8.1 嵌套关系
      • 8.8.2 复杂类型
      • 8.8.3 继承
      • 8.8.4 引用类型
      • 8.8.5 与复杂类型有关的查询
      • 8.8.6 函数和过程
  • 第九章 系统开发和运行知识
    • 9.1 软件工程基础知识
      • 9.1.1 软件工程基本原理
      • 9.1.2 软件生存周期模型
      • 9.1.3 软件开发方法
      • 9.1.4 软件项目管理
      • 9.1.5 软件工具与开发环境
    • 9.2 系统分析基础知识
      • 9.2.1 系统分析概述
      • 9.2.2 需求分析
      • 9.2.3 结构化分析方法
      • 9.2.4 面向对象分析方法
    • 9.3 系统设计基础知识
      • 9.3.1 系统设计内容和步骤
      • 9.3.2 系统设计的基本原理
      • 9.3.3 系统模块结构设计
      • 9.3.4 结构化设计方法
      • 9.3.5 面向对象设计方法
      • 9.3.6 系统输入和输出设计
      • 9.3.7 处理过程设计
    • 9.4 系统实施基础知识
      • 9.4.1 系统实施概述
      • 9.4.2 系统测试
      • 9.4.3 测试策略和测试方法
      • 9.4.4 系统转换
    • 9.5 系统运行和维护基础知识
      • 9.5.1 系统维护概述
      • 9.5.2 系统评价
  • 第十章 数据库设计
    • 10.1 数据库设计概述
      • 10.1.1 数据库应用系统的生命期
      • 10.1.2 数据库设计的一般策略
      • 10.1.3 数据库设计的基本步骤
    • 10.2 系统需求分析
      • 10.2.1 需求分析的任务、方法和目标
      • 10.2.2 需求分析阶段的文档
      • 10.2.3 案例分析
    • 10.3 概念结构设计
      • 10.3.1 概念结构设计策略与方法
      • 10.3.2 用E-R 方法建立概念模型
    • 10.4 逻辑结构设计
      • 10.4.1 E-R 图向关系模式的转换
      • 10.4.2 关系模式的规范化
      • 10.4.3 确定完整性约束
      • 10.4.4 用户视图的确定
      • 10.4.5 应用程序设计
    • 10.5 数据库的物理设计
      • 10.5.1 数据库物理设计工作过程
      • 10.5.2 数据库物理设计工作步骤
    • 10.6 数据库系统的实施阶段
    • 10.7 数据库运行维护与管理
      • 10.7.1 制定数据库系统的运行计划
      • 10.7.2 数据库系统的运行和维护
      • 10.7.3 数据库系统的管理
      • 10.7.4 性能调整
      • 10.7.5 用户支持
  • 第十一章 事务管理
    • 11.1 事务的基础概念
      • 11.1.1 事务
      • 11.1.2 事务的特性
      • 11.1.3 事务的状态
    • 11.2 数据库的并发控制
      • 11.2.1 事务调度
      • 11.2.2 并发操作带来的问题
      • 11.2.3 并发调度的可串行性
      • 11.2.4 并发控制技术
      • 11.2.5两段锁协议
      • 11.2.6 多粒度封锁协议
      • 11.2.7 案例分析
    • 11.3 数据库的备份与恢复
      • 11.3.1 数据库系统故障种类
      • 11.3.2 数据库备份
      • 11.3.3 数据库恢复
    • 11.4 数据库的安全性与完整性
      • 11.4.1 数据库的安全性
      • 11.4.2 数据库的完整性
  • 第十二章 数据库发展和新技术
    • 12.1 分布式数据库
      • 12.1.1 分布式数据库的概念
      • 12.1.2 分布式数据库的体系结构
      • 12.1.3 分布式查询处理和优化
      • 12.1.4 分布式事务管理
      • 12.1.5 新型分布式海量数据库
    • 12.2 Web 与数据库
      • 12.2.1 Web概述
      • 12.2.2 Web 服务器脚本程序与服务器的接口
      • 12.2.3 CGI 的应用
      • 12.2.4 ASP 的应用
      • 12.2.5 Servlet 和 JSP的应用
    • 12.3 XML 与数据库
      • 12.3.1 什么是XML
      • 12.3.2 XML 的文件存储面临的问你
      • 12.3.3 XML与数据库的数据转换
    • 12.4 面向对象数据库
      • 12.4.1 面向对象数据库系统的特性
      • 12.4.2 面向对象数据模型
      • 12.4.3 面向对象数据库语言
      • 12.4.4 对象关系数据库系统
    • 12.5 决策支持系统与数据库
      • 12.5.1 决策支持系统的概念
      • 12.5.2 数据仓库的设计
      • 12.5.3 数据转移技术
      • 12.5.4 联机分析处理(OLAP)
      • 12.5.5 联机事务处理(OLTP)
    • 12.6 非关系型数据库 NoSQL
      • 12.6.1 NoSQL 概述
      • 12.6.2 相关理论基础
      • 12.6.3 NoSQL 数据库的种类
  • 第十三章 标准化和知识产权基础知识
    • 13.1 标准化基础知识
      • 13.1.1 标准化的基本概念
      • 13.1.2 信息技术标准化
      • 13.1.3 标准化组织
      • 13.1.4 ISO 9000标准简介
      • 13.1.5 能力成熟度模型简介
    • 13.2 知识产权基础知识
      • 13.2.1 知产产权基本概念
      • 13.2.2 计算机软件著作权
      • 13.2.3 计算机软件的商业秘密权
      • 13.2.4 专利权概述
  • 第十四章 数据库案例分析
    • 14.1 SQL 应用案例
      • 14.1.1 SQL 应用案例一
      • 14.1.2 SQL 应用案例二
    • 14.2 数据库设计应用案例
      • 14.2.1 高校实验室管理信息系统
      • 14.2.2 旅游管理信息系统
      • 14.2.3 图书管理信息系统
  • 附录:杂七杂八

第一章 计算机系统知识

1.1 计算机系统基础知识

数据库系统工程师考点笔记_第1张图片

1.1.1 中央处理单元

1. 运算器中各部件的组成和功能
(1) 算术逻辑单元(ALU)
处理数据,实现对数据的算术运算和逻辑运算
(2) 累加寄存器(AC)
暂存源操作数和计算结果
(3) 数据缓冲寄存器(DR)
暂存由内存储器读写的一条指令或一个数据字,将不同时间段内读写的数据隔离开来
(4) 状态条件寄存器(PSW)
保存根据算术指令和逻辑指令运行或测试的结构建立的各种条件码内容

2. 控制器的部件
(1)指令寄存器(IR)
暂存从内存读取的指令
(2)程序计数器(PC)
保存待读取指令在内存中的地址
(3)地址寄存器(AR)
暂存要访问的内存单元的地址
(4)指令译码器(ID)

例:计算机指令一般包括操作码和地址码两部分,为分析执行一条指令,则其(操作码和地址码都应存入指令寄存器(IR))
解:程序被加载到内存后开始运行,当CPU执行一条指令时,先把它从内存储器取到缓冲寄存器DR中,再送入IR暂存,指令译码器根据IR的内容产生各种微操作指令,控制其他的组成部件工作,完成所需的功能。
指令寄存器(IR) 用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存取到数据寄存器(DR) 中,然后再传送到IR。而指令又分为操作码和地址码。

在Windows系统中,磁盘碎片整理程序可以分析本地卷,以及合并卷上的可用空间使其成为连续的空闲区域,从而使系统可以更有效地访问文件或文件夹。

计算机系统中的CPU内部对通用寄存器的存取操作是最快的,其次是Cache,内存的存取速度再次。

1.1.2 数据表示和校验

  1. 数的进制
    a. 十进制:用0~9表示
    在这里插入图片描述
    b. 二进制:用0 和 1表示
    c. 八进制:用0~7表示
    在这里插入图片描述
    d. 十六进制:用0~9 和 A~F表示
    在这里插入图片描述
  2. 进制转换
    a. 十进制转二进制
    把被转换的十进制整数反复地除以2,直到商为0,所得的余数(从末位读起)就是这个数的二进制表示。简称“除2取余法”。
    例:
    数据库系统工程师考点笔记_第2张图片
    b. 二进制转十进制
    二进制按权数展开求和。

C语言、C++、Shell、Python、Java语言及其他相近的语言使用字首“0x”,例如“0x5A3”。开头的“0”令解析器更易辨认数,而“x”则代表十六进制(就如“O”代表八进制)。在“0x”中的“x”可以大写或小写。对于字符量C语言中则以0x+两位十六进制数的方式表示,如0xFF。

海明码
在数据位之间插入k个校验位,通过扩大码距来实现检错和纠错。
设数据位是n位,校验位是k位,则n和k必须满足以下关系:
在这里插入图片描述
k常取满足该关系的最小值

在计算机中,各类运算等可以采用补码进行,特别是对于有符号数的运算
在计算机中涉及补码的目的:
一是为了使符号位能与有效值部分一起参加运算,从而简化运算规则,使运算部件的设计更简单;
二是为了使减法运算转换为加法运算,进一步简化计算机中运算器的线路设计
因此在计算机系统中常采用补码来表示和运算数据,原因是采用补码可以简化计算机运算部件的设计

1.2 计算机体系结构

1.2.1 概述

1.2.2 存储系统

存储器的分类:
(1) 按所处位置分类:
a. 内存
容量小、速度快
b. 外存
容量大、速度慢
(2) 按构成材料
a. 磁存储器
b. 半导体存储器
c. 光存储器
(3) 按工作方式
a. 读写存储器
b. 只读存储器
(4) 按访问方式
a. 按地址访问的存储器
b. 按内容访问的存储器
比如:相联存储器
(5) 按寻址方式
a. 随机存储器
b. 顺序存储器
c. 直接存储器

硬盘属于外存储器

Cache(高速缓存)
高速缓存(Cache) 是随着CPU与主存之间的性能差距不断增大而引入的,其速度比主存快得多,所存储的内容CPU近期可能会需要的信息,是主存内容的副本,因此CPU需要访问数据和读取指令时要先访问Cache,若命中则直接访问,若不命中再去访问主存。
评价Cache性能的关键指标是Cache的命中率,影响命中率的因素有其容量、替换算法、其组织方式等。Cache的命中率随容量的增大而提高(非线性)。
基于成本和性能方面的考虑,Cache是为了解决相对较慢的主存与快速的CPU之间工作速度不匹配问题而引入的存储器。

Cache的地址映射方式有三种:
(1) 全相联映射
指主存中任一块都可以映射到Cache中任一块的方式,也就是说,当主存中的一块需要调入Cache时,可根据当时Cache的块占用或分配情况,选择一个块给主存存储,所选的Cache块可以是Cache中的任意一块。
特点:块冲突概率低,Cache空间利用率高,但是相联目录表容量大导致成本高、查表速度慢
(2) 直接映像方式
主存的每一块只能映像到Cache的一个特定的块中,整个Cache地址与主存地址的低位部分完全相同
特点:硬件简单,不需要相联存储器,访问速度快(无需地址变换)但是Cache块冲突概率高导致Cache空间利用率很低。
(3) 组相联方式
对上述两种方式的折中处理,对Cache分组,实现组间直接映射,组内全相联
特点:较低的块冲突概率、较高的块利用率,同时得到较快的速度和较低的成本。

磁盘容量:
非格式化容量:一个磁盘所能存储的总位数
非格式化容量 = 面数 * (磁道数/面 )* 内圆周长 * 最大位密度
格式化容量:各扇区中数据区容量总和
格式化容量 = 面数 * (磁道数/面)* (扇区数/道)* (字节数/扇区)

1.2.3 输入输出技术

中断方式程序查询方式无条件传送方式都是通过CPU执行程序指令来传送数据的,DMA(Direct Memory Access,直接内存存取)方式下是由DMA控制器直接控制数据的传送过程,CPU需要让出对总线的控制权,并不需要CPU执行程序指令来传送数据。DMA控制方式是在主存与I/O设备间(主存与外设之间)直接建立数据通路进行数据的交换处理。

1.2.4 总线结构

总线的分类:
(1) 数据总线
用来传送数据信息,双向。
(2) 地址总线
传送CPU发出的地址信息,单向。
(3) 控制总线
传送控制信号、时序信号和状态信息等。

CPU与其他部件交换数据时,用数据总线传输数据。数据总线宽度指同时传送的二进制位数,内存容量、指令系统中的指令数量和寄存器的位数与数据总线的宽度无关。数据总线宽度越大,单位时间内能进出CPU的数据就越多,系统的运算速度越快。

单总线结构
在单总线结构中,CPU与主存之间、CPU与I/O设备之间、I/O设备与主存之间、各种设备之间都通过系统总线交换信息。
优点:控制简单方便、扩充方便。
缺点:由于所有设备部件均挂在单一总线上,使这种结构只能分时工作,即同一时刻只能在两个设备之间传送数据,这就使系统总体数据传输的效率和速度受到限制

1.3 安全性、可靠性与系统性能评测基础知识

1.3.1 计算机安全概述

1.3.2 加密技术和认证技术

对称加密技术
(1) 数据加密标准(Digial Encryption Standard, DES)算法
(2) 三重DES
(3) RC - 5(Rivest Cipher 5)
适用于大量明文进行加密并传输
(4) 国际数据加密算法(International Data Encryption Adleman, IDEA)
(5) 高级加密标准(Advanced Encryption Standard, AES)算法

非对称加密技术
RSA (Rivest, Shamir and Adleman)算法

字典攻击:在破解密码或密钥时,逐一尝试用户自定义词典中的可能密码(单词或短语)的攻击方式。与暴力破解的区别是,暴力破解会逐一尝试所有可能的组合密码,而字典攻击会使用一个预先定义好的单词列表(可能的密码)。
密码盐:在密码学中,是指通过在密码任意固定位置插入特定的字符串,让散列后的结果和使用原始密码的散列结果不相符,这种过程称为加盐。
如果密码泄露,黑客可以利用他们数据字典中的密码,加上泄露的密码盐,然后进行散列,然后再匹配,由于密码盐可以加在任意位置,也加大了破解的难度。所以即使密码盐泄露,字典攻击和不加盐时的效果是不一样的。

1.3.3 计算机可靠性

计算机可靠模型
(1) 串联系统
当且仅当所有的子系统都能正常工作时,系统才能正常工作。
R = R1R2……RN
(2) 并联系统
只要有一个子系统正常工作,系统就能正常工作。
R = 1 - (1- R1)(1- R2)……(1- RN)
(3) N模冗余系统
在N个系统中,只要有n+1个或n+1个以上子系统能正常工作,系统就能正常的工作。

1.3.4 计算机系统的性能评价

1.4 多媒体基础知识

媒体的分类
媒体可分为感觉媒体、表示媒体、表现媒体、存储媒体和传输媒体。
(1) 感觉媒体:直接作用于人的感官,产生感觉(视、听、嗅、味、触觉)的媒体,语言、音乐、音响、图形、动画、数据、文字等都是感觉媒体。
(2) 表示媒体:指用来表示感觉媒体的数据编码。
(3) 表现媒体:进行信息输入或输出的媒体。如键盘
(4) 存储媒体:用于存储表示媒体的物理实体。如光盘
(5) 传输媒体:传输表示媒体的物理实体。如光缆

1.4.1 多媒体计算机系统

1.4.2 声音

声音的三个要素:
音强:即音量,是声音的强度,取决于声间的振幅。
音调:由声音的频率决定。
音色:指声音的感觉特性

音频数据存储和传输
模拟信号转化数字信号过程
(1) 采样
每隔一个时间间隔就在模拟声音的波形上取一个幅度值,这个间隔时间称为采样频率。
常用的采样频率为8kHZ、11.025kHz、16kHz、22.05kHz(FM广播音质)、44.1kHz(CD音质)、48kHz(DVD音频或专业领域),频率越高音质越好。采样频率不应低于声音信号最高频率的两倍。
(2) 量化
就是把经过采样得到的瞬时值将其幅度离散,即用一组规定的电平,把瞬时抽样用最接近的电平值来表示。
量化的级别通常用位(bit)来表示,位数越高则音质越好。
(3) 编码
将声音数据写成计算机的数据格式。
每秒钟所需的存储量可由下式估算出:
文件的字节数 = 采样频率(Hz) * 采样位数 *声道数/8

1.4.3 图形和图像

颜色属性
色调:人眼看到一种或多种波长的光时所产生的彩色感觉。
明度:表示色所具有的亮度
饱和度:

例:使用150DPI的扫描分辨率扫描一幅3×4英寸的彩色照片,得到原始的24位真彩色图像的数据量是()Byte
解:150DPI的扫描分辨率表示每英寸的像素为150个。
3×4×150×150×24/8 = 810000

1.4.4 动画和视频

1.4.5 虚拟现实

MAV为微软公司开发的一种声音文件格式,它符合RIFF文件规范,用于保存Windows平台及其应用程序所广泛支持。
BMP(全称Bitmap)是Windows操作系统中的标准图像文件格式,可以分为两类:设备相关位图(DDB)和设备无关位图(DIB),使用非常广。BMP文件所占的空间很大。
MP3是一种音频压缩技术,其全称是动态影像专家压缩标准音频正面3
MOV即QuickTime影片格式,它是Apple公司开发的一种音频、视频文件格式,用于存储常用数字媒体类型。

第二章 程序语言基础知识

2.1 程序语言概述

2.1.1 程序语言的基本概念

2.1.2 程序语言的基本成分

程序设计语言的基本成分:
(1)数据
(2)运算
(3)控制
顺序、选择、循环
(4)传输

2.2 程序语言翻译基础

2.2.1 汇编程序基本原理

2.2.2 编译程序基本原理

2.2.3 解释程序基本原理

编译和解释的区别:
在编译方式下,机器上运行的是与源码程序等价的目标程序,源程序和编译程序都不再参与目标程序的执行过程,程序运行速度快;而在解释方式下,解释程序和源程序(或其某种等价表示)要参与到程序的运行过程中,运行程序的控制权在解释程序,边解释边执行,程序运行速度慢。

第三章 数据结构与算法

3.1 线性结构

3.1.1 线性表

线性表的存储结构
(1) 顺序存储
用一组地址连续的存储单元依次存储线性表中的数据元素,从而使得逻辑关系相邻的两个元素在物理位置上也相邻。
优点:可以随机存取表中的元素
缺点:插入和删除操作需要移动大量的元素
(2) 链式存储
用结点来存储书记元素,结点的空间可以是连续的,也可以是不连续的。
优点:插入和删除操作不需要移动元素
缺点:不能进行数据元素的随机访问

线性表的查找方法
(1) 顺序查找
算法非常简单,但是效率较低,因为它是用所给关键字与线性表中各元素的关键字逐个比较,直到成功或失败。
(2) 折半查找
优点是比较次数少,查找速度快,平均性能好;缺点是要求待查表是有序表,且插入和删除困难。适用于不经常变动而查找频繁的有序列表。
一般不进行表的插入和删除操作。
(3) 分块查找
又称索引查找,主要用于分块有序表的查找。所谓分块有序是指将线性表L(一堆数组)分成m个子表(要求每个子表的长度相等),且第i+1 个子表中的每一个项目均大于第i个子表中的所有项目。因此,分块查找的关键在于建立索引表,其查找的平均长度介于顺序查找和折半查找之间。

单链表存储不能随机访问表中的任一结点,必须从头结点依次.next。

3.1.2 线和队列

例:设栈s和队列q的初始状态为空,元素a、b、c、d、e依次进入栈s,当一个元素从栈中出来后立即进入队列q。若从队列的输出端依次得到元素c、d、b、a、e,则栈s的容量至少为()
解:看栈最多的时候能容纳多少元素。
数据库系统工程师考点笔记_第3张图片

函数调用和返回控制是用栈实现的。

3.1.3 串

队列都是操作受限的线性表,栈仅在表尾插入和删除元素,队列则在表头删除元素、在表尾插入元素。队列是先进先出的线性表,栈是后进先出的线性表。一个线性序列经过队列结构后只能得到与原始序列相同的元素序列,而经过一个栈结构后则可以得到多种元素序列。
是仅由字符构成的有限序列,是取值范围受限的线性表。

3.2 数组和矩阵

3.3 树和图

3.3.1 树

树的遍历
遍历是指对树种所有结点信息的访问,即依次对树中每个结点访问一次且仅访问一次。
数据库系统工程师考点笔记_第4张图片
前序遍历:A B E F I J C D G H
后序遍历:E I J F B C G H D A
层次遍历:A B C D E F G H I J

二叉树与树的区别:
(1) 二叉树的结点的最大度为2,而树不限制结点的度
(2) 二叉树的结点的子树要区分左子树和右子树

二叉树的性质
(1)二叉树第i层上的结点数目最多为

给定N个权值作为N个叶子结点,构造一颗二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。
霍夫曼树可以用来进行通信电文的编码和解码。

B-树是一种平衡的多路查找树
(1) B-树中,所有非终端结点也就是非叶子结点都会包含关键字;
(2) 所有叶子结点都出现在同一层次上并且不带信息(可以看作是外部结点或查找失败的结点),层次相同也就是高度相同,从根结点到每个叶子结点的路径长度相同
(3) 所有非终端结点包含的关键字数量是不确定的,指向的子树个数也是不确定的。

3.3.2 图

3.4 常用算法

3.4.1 算法概述

3.4.2 排序

3.4.3 查找

3.4.4 递归算法

3.4.5 图的相关算法

第四章 操作系统知识

4.1 操作系统基础知识

4.1.1 操作系统的基本概念

4.1.2 操作系统分类及特点

操作系统的功能:
(1) 进程管理
进程调度,在单用户单任务的情况下,处理器仅为一个用户的一个任务所独占,进程管理的工作十分简单。
(2) 存储管理
存储分配、存储共享、存储保护、存储扩张
(3) 设备管理
设备分配、设备传输控制、设备独立性
(4) 文件管理
文件存储空间的管理、目录管理、文件操作管理、文件保护
(5) 作业管理

4.1.3 操作系统的发展

4.2 进程管理

4.2.1 基本概念

4.2.2 进程的控制

4.2.3 进程间的通信

4.2.4 管程

4.2.4 进程调度

4.2.5 死锁

4.2.6 线程

线程的分类
根据操作系统内核是否对线程可感知,可以把线程分为内核线程用户线程
用户线程由应用程序所支持的线程实现,内核意识不到用户级线程的实现。
内核级线程又称为内核支持的线程。

4.3 存储管理

4.3.1 基本概念

4.3.2 存储管理方案

4.3.3 分页存储管理

4.3.4 分段存储管理

4.3.5 段页式存储管理

4.3.6 虚拟存储管理

4.4 设备管理

4.4.1 概述

4.4.2 I/O 软件

4.4.3 设备管理采用的相关技术

4.4.4 磁盘调度

4.5 文件管理

4.5.1 基本概念

4.5.2 文件的结构和组织

4.5.3 文件目录

4.5.4 存取方法和存储空间的管理

4.5.5 文件的使用

4.5.6 文件的共享和保护

4.5.7 系统的安全与可靠性

4.6 作业管理

4.6.1 基本概念

4.6.2 作业调度

短期调度(进程调度/低级调度/微观调度)
一般情况下使用最多的就是短期调度,这也就是通常所说的调度。它的主要任务是按照某种策略和算法将处理机分配给一个处于就绪状态的进程,分为抢占式和非抢占式。
中期调度(交换调度)
核心思想是将进程从内存或从CPU竞争中移出,从而降低多道程序设计的程度,之后进程能被重新调入内存,并从中断处继续执行,这种交换的操作可以调整进程在内存中的存在数量和时机。
长期调度(作业调度/高级调度)
它的频率比较低,主要用来控制内存中进程的数量。

4.6.3 用户界面

第五章 网络基础知识

5.1 计算机网络概述

5.1.1 计算机网络概念

5.1.2 计算机网络的分类

5.1.3 网络的拓扑结构

路由类型:
当一个Windows服务器收到一个IP数据包时,先查找主机路由,再查找网络路由(直连网络和远程网络),这些路由查找失败时,最后才查找默认路由。

路由类型 说明
直连网络ID 用于直接连接网络,Interface(或 next hop)可以为空
远程网络ID 用于不直接连接的网络,可以通过其他路由器到达这种网络,Interface字段是本地路由器的IP地址
主机路由(Host route) 到达特定主机的路由,子网掩码为255.255.255.255
默认路由(Default route) 无法找到确定路由时使用的路由,目标网络和网络掩码都是0.0.0.0
持久路由(Persistent route) 利用route add -p命令添加的表项,每次初始化时,这种路由都会加入Windows的注册表中,同时加入路由表

VLAN的优点:
允许逻辑地划分网段。
把局域网划分成多个VLAN,使得网络接入不再局限于物理位置的约束,这样就简化了在网络中增加、移除和移动主机的操作,特别是动态的配置VLAN,无论主机在哪里,他都处于自己的VLAN中。

5.2 网络硬件基础

5.2.1 网络设备

5.2.2 网络传输介质

5.3 ISO/OSI 网络体系结构

层次 层的名称 英文 主要功能
7 应用层 Application Layer 处理网络应用
6 表示层 Presentation Layer 数据表示
5 会话层 Session Layer 互连主机通信
4 传输层 Transport Layer 端到端连接
3 网络层 Nework Layer 分组传输和路由选择
2 数据链路层 Data Link Layer 传送以帧为单位的信息
1 物理层 Physical Layer 二进制传输

1、物理层
是OSI参考模型的最低层或第一层。
物理层协议要解决的是主机、工作站等数据端设备与通信线路上通信设备之间的接口问题。
四个特性:
(1) 机械特性
规定了DTE和DCE之间的连接形式,包括连接器形状、几何尺寸、引线数目和排列方式等。
(2) 电气特性
规定了发送器和接收器的电气参数及其其他有关电路的特征。电气特性决定了传送速率和传输距离。
(3) 功能特性
接口信号分为数据信号、控制信号和时钟信号。
(4) 规程特性
操作顺序

2、数据链路层
数据链路层工厂把流量控制和差错控制合并在一起。
数据链路层分为MAC(媒介访问控制层)和LLC(逻辑链路控制层)
服务访问点为MAC地址。

3、网络层
网络层解决对的问题是路由选择、网络拥塞、异构网络互联等问题,其服务访问点为逻辑地址(网络地址)

4、传输层
服务访问点为端口。
代表协议:TCP、UDP、SPX协议

5、会话层
管理和协调不同主机上各种进程之间的通信,即负责建立、管理和终止应用程序之间的会话。

6、表示层
处理流经结点的数据编码的表示方式问题

7、应用层
直接为端用户服务,提供各类应用程序的接口和用户接口。
例如:HTTP、Telnet、FP、SMTP

5.4 网络的协议与标准

5.4.1 网络的标准

5.4.2 局域网协议

5.4.3广域网协议

5.4.4 TCP/IP协议簇

在TCP/IP协议栈中,各层级的数据单元
应用层——消息、报文(message)
传输层——数据段(segment)
网络层——分组、数据包(packet)
链路层——帧(frame)
物理层——比特流

默认情况下,FTP服务器的控制端口21数据端口20

文件传输协议FTP利用TCP连接在客户机和服务器之间上传和下载文件。FTP协议占用了两个TCP端口,FTP服务器监听21号端口,准备接收用户的连接请求。当用户访问FTP服务器时便主动与服务器的21号端口建立了控制连接。如果用户要求下载文件,则必须等待服务器的20号端口主动发出建立数据连接的请求,文件传输完成后数据连接随之释放。在客户端看来,这种处理方式被叫做被动式FTP,Windows系统中默认的就是这种处理方式。由于有的防火墙阻止由外向内主动发起的连接请求,所以FTP数据连接可能由于防火墙的过滤而无法建立。为此有人发明了一种主动式FTP,即数据连接也是由客户端主动请求建立的,但是在服务器中接收数据连接的就不一定是20号端口了。

ARP协议(地址解析协议)
用来将32位的IP地址解析为48位的物理地址。
OSI模型中ARP协议属于数据链路层,而在TCP/IP 模型中,ARP协议属于网络层
RARP是ARP的逆过程,将物理地址转化为IP地址
实现IP地址与MAC地址之间的变换。

RARP(反向地址解析协议)
主要应用于无盘站,通过该协议从服务器上取得它的IP地址。网络管理员在局域网网关路由器里创建一个表以映射物理地址(MAC)和对应的IP地址。当机器启动时,其RARP 客户机程序需要向路由器上的RARP 服务器请求相应的IP地址。假设在路由表中已经设置了一个记录,RARP服务器将会返回IP地址给机器,此机器就会存储起来使用。

ICMP协议
由于IP协议是一个不可靠、非连接的尽力传送协议,数据报是采用分组交换方式在网络上传送的。因此当路由器不能够选择路由器或传送数据报时,或检测到一个异常条件影响它转发数据报时,就需要通知初始源网点采取措施避免问题。而完成这个任务的机制就是ICMP,它是IP的一部分,属于网络层协议,其报文是封装在IP协议数据单元中进行传送的,在网络中起到差错和拥塞控制的作用。

TCP协议
是一种面向连接的、可靠的、基于字节流的传输层通信协议。
TCP为了保证报文传输的可靠,给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的字节发回一个确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据(假设丢失)将会被重传。

TCP三次握手
第一次握手
客户端发送连接请求报文段,将SYN设置为1,Seq为x;然后,客户端进入SYN_SEND状态,等待服务器的确认。
第二次握手
服务器收到客户端的SYN报文段,需要对这个SYN报文段进行确认,设置ACK为x+1(Seq + 1);同时,自己还要发送SYN请求信息,将SYN置为1,Seq为y;服务器端将上述所有信息放到一个报文段(即SYN + ACK报文段)中,一并发送给客户端,此时服务器进入SYN_RECV状态
第三次握手
客户端收到服务器的SYN + ACK报文段。然后将ACK设置为y+1,向服务器发送ACK报文段,这个报文段发送完毕以后,客户端和服务器端都进入ESTABLISHED状态,完成TCP三次握手。

UDP协议
UDP是一种无连接的传输层协议,它主要用于不要求分组顺序到达的传输中,分组传输顺序的检查与排序由应用层完成,提供简单的不可靠的信息传送服务。
UDP报文没有可靠性保证、顺序保证和流量控制字段等,可靠性较差。但是正因为UDP协议的控制选项较少,在数据传输过程中延迟小、数据传输效率高,适合对可靠性要求不高的应用程序,或者可以保障可靠性的应用程序,如DNS、TFTP、SNMP等

电子邮件应用程序利用POP3协议接收邮件。

5.5 Internet 基础知识

5.5.1 Inernet概述

5.5.2 Internet地址

5.5.3 Internet服务

HTTPS(Hyper Text Transfer Protocol over Secure Socke Layer) 是以安全为目标的HTTP通道,使用SSL协议对报文进行封装。

5.6 信息安全基础知识

CA负责数字证书的审批、发放、归档、撤销等功能,CA颁发的数字证书拥有CA的数字签名,所以除了CA自身,其他机构无法不被察觉的改动。CA可以是民间团体,也可以是政府机构。

例:假定用户A、B分别从I1、I2两个CA取得了各自的证书,(I1、I2互换公钥)是AB互信的必要条件。

5.7 网络安全概述

拒绝服务攻击是攻击者想办法让目标机器停止提供服务,是黑客常用的攻击手段之一。
最常见的DoS攻击有计算机网络宽带攻击和连通性攻击。宽带攻击指以极大的通信量冲击网络,使得所有可用网络资源都被消耗殆尽,最后导致合法的用户请求无法通过。连通性攻击指用大量的连接请求冲击计算机,使得所有可用的操作系统都被消耗殆尽,最终计算机无法再处理合法用户的请求。
分布式拒绝服务攻击DDoS是一种基于DoS的特殊形式的拒绝服务攻击,是一种分布的、协同的大规模攻击方式。
拒绝服务攻击并不会造成用户密码的泄露。

被动攻击:
窃听

MIME它是一个互联网标准,扩展了电子邮箱标准,使其能够支持,与安全无关。
PGP(Pretty Good Privacy,优良保密协议),是一套用于信息加密、验证的应用程序。

特洛伊木马是一种通过网络传播的病毒,分为客户端和服务器端两部分,服务器端位于被感染的计算机,特洛伊木马服务器运行后会试图建立网络连接,所以计算机感染特洛伊木马后的典型现象是有未知程序试图建立的网络连接。

第六章 数据库技术基础

6.1 基础概念

6.1.1 数据库与数据库管理系统

数据库安全机制:
授权机制:指定用户对数据库对象的操作权限
视图机制:通过视图访问而将基本表中视图外的数据对用户屏蔽
数据加密:对存储和传输数据库的数据进行加密
用户标识与鉴别:指用户进入数据库系统时提供自己的身份标识,由系统鉴定为合法用户,只有合法用户才可以进入

6.1.2 数据库技术的发展

6.1.3 DBMS的功能和特点

DBMS对不同类别的故障使用不同的恢复方法。其中事务故障和系统故障由DBMS来完成事务级别的恢复,即根据日志文件对未完成的事务进行UNDO操作,对已完成的事务完成REDO操作,使数据库恢复到一致的状态。介质故障需要DBA介入,装载备份文件后交由DBMS恢复。

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

  1. 外模式(用户级)
    又称子模式,它是某个或某几个用户所看到的的数据库视图,是与某一应用有关的数据库结构。
  2. 模式(概念级)
    又称概念模式或逻辑模式。他是由数据库设计者综合所有用户的数据,按照统一的观点构造的全局逻辑结构,是对数据库中全部数据的逻辑结构和特征的总体描述,是所有用户的公共数据视图。
  3. 内模式(物理级)
    又称存储模式,它是数据库中全体数据的内部表示或低层描述,是数据库最低一级的逻辑描述,它描述了数据在存储介质上的存储方式和物理结构,对应着实际存储在外存储介质上的数据库。

在采用三级模式结构的数据库系统中,如果对数据库中的表Emp创建聚簇索引那么应该改变的是数据库的内模式。

站在数据库管理系统的角度看,数据库系统体系结构一般采用三级模式结构。
数据库系统在三级模式之间提供了两级映像

  1. 模式/内模式的映像:该映像存在于概念和内部级之间,实现了概念模式到内模式之间的相互转换。
  2. 外模式/模式的映像:该映像存在于外部级和概念级之间,实现了外模式到概念模式之间的相互转换。
    正因为这两级映射保证了数据库中的数据具有较高的逻辑独立性和物理独立性。数据的独立性是指数据与程序独立,将数据的定义从程序中分离出去,由DBMS负责数据的存储,从而简化应用程序,大大减少应用程序编制的工作量。

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

6.2 数据模型

6.2.1 数据模型的基本概念

6.2.2 数据模型的三要素

数据模型的三要素:
(1) 数据结构
(2) 数据操作
(3) 数据约束

6.2.3 E-R 模型

E-R 图向关系模式转换时,实体标识符转换为关系的

在E-R图设计中,通常将任务分解为多个平等的部分设计,即根据不同的业务及DFD图片段先做分E-R图的设计,再将各分E-R图合并。合并之后形成企业全局E-R图,即可以从总体上认识企业信息。合并过程中会遇到不同分E-R图之间存在的属性冲突、命名冲突及结构冲突,并解决信息冗余。分E-R图是根据信息需求和处理需求来设计的,合并过程中并不考虑信息需求。

6.2.4 基本的数据模型

6.3 数据存储和查询

6.3.1 存储管理器

6.3.2 查询处理器

6.4 数据仓库和数据挖掘基础知识

6.4.1 数据仓库

6.4.2 数据挖掘

联机分析处理(OLAP)
用于数据挖掘,从数据仓库中分析数据,为决策提供证据。要求响应时间合理
联机事务处理(OLTP)
更新事务,将数据写入数据库,面向操作人员,要求响应时间快

K-MeansDBSCAN是两个经典的聚类算法,将相似的数据对象归类一组,不相似的数据对象分开。K-Means算法基于对象之间的聚类进行聚类,需要输入聚类的个数。DBSCAN 算法基于密度进行聚类,需要确定阈值,两者的聚类结果均与输入参数关系很大。DBSCAN可以处理不同大小和形状的簇,而K-Means算法则不适合。若数据分布密度变化大,则这两种算法都不适用。

第七章 关系数据库

7.1 关系数据库概述

7.1.1 基础知识

7.1.2 关系数据库模式

7.1.3 关系的完整性约束

关系数据库中的关系模型事实上可以看作是一个二维表,这个二维表中的称为属性(或字段)称为元组(或记录)

关系的完整性约束
(1) 实体完整性
防止的是对数据的意外破坏。
(2) 用户自定义完整性
就是针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求,由应用的环境决定。如:年龄必须为大于0小于150的整数。
(3) 参照完整性/引用完整性
规定,若F是基本关系R的外码,它与基本关系S的主码K,相对应(基本关系R和S不一定是不同的关系)

无损联接分解:
指将一个关系模式分解成若干个关系模式后,通过自然联系和投影等运算仍能还原到原来的关系模式。

例:将一个关系r分解成两个关系r1和r2,再将分解之后的两个关系r1和r2进行自然连接,得到的结果如果比原关系r记录多,则称这种分解为(有损连接的分解)

7.2 关系运算

7.2.1 关系代数运算

7.2.2 五种基本的关系代数运算

7.2.3 扩展的关系运算

7.3 元组演算

7.3.1 原子公式

7.3.2 公式的定义

7.3.3 关系代数运算转换为元组演算表达式

7.4 域演算

7.4.1 原子公式

7.4.2 公式的定义

7.4.3 举例

7.5 查询优化

7.5.1 基本概念

7.5.2 关系代数表达式中的查询优化

7.6 关系数据库设计基础理论

7.6.1 基础知识

7.6.2 规范化

7.6.3 Armstrong 公理系统

7.6.4 模式分解及分解后的特性

第八章 SQL 语言

8.1 数据库语言

8.1.1 数据库语言概述

8.1.2 数据库语言的分类

8.2 SQL 概述

8.2.1 SQL 语言的特征

8.2.2 SQL 的基本组成

8.3 数据库定义

8.3.1 基本域类型

8.3.2 创建表(CREATE TABLE)

8.3.3 修改表和删除表

8.3.4 创建和删除索引

索引调整的原则:
如果查询是瓶颈,则在关系上建立适当的索引
如果更新是瓶颈,因为每次更新都会重建表上的索引,引起效率的降低,则考虑删除某些索引。
如果经常使用范围查询,则B树索引比散列索引更高效,将有利于大多数据查询和更新的索引设为聚集索引。

8.3.5 视图创建和删除

8.4 数据操作

8.4.1 Select 基本结构

8.4.2 简单查询

8.4.3 连接查询

8.4.4 子查询与聚集函数

8.4.5 分组查询

8.4.6 更名操作

8.4.7 字符串操作

8.4.8 集合操作

8.4.9 视图查询与更新

8.5 SQL 中的授权

8.5.1 主键(Primary Key) 约束

8.5.2 外键(Foreign Key)约束

8.5.3 属性值上的约束

8.5.4 全局约束

8.5.5 授权(GRANT) 与销权(REVOKE)

收回权限语句:
REVOKE <权限> on <对象名> FROM <用户> [RESTRICT|CASCADE]

8.6 创建与删除触发器

8.6.1 概述

触发器经常用于加强数据的完整性约束和业务规则等。
触发器与存储过程的唯一区别是触发器不能执行EXECUTE语句调用,而是在用户执行T-SQL语句时自动触发执行。

8.6.2 创建触发器

触发器的定义包括两个方面:
指明触发器的触发事件
指明触发器的执行动作。

种类 关键字 含义
DML事件 Insert 在表或视图中插入数据时触发
DML事件 Update 修改表或视图中的数据时触发
DML事件 Delete 在删除表或视图中的数据时触发
DDL事件 Create 在创建新对象时触发
DDL事件 Alter 修改数据库或数据库对象时触发
DDL事件 Drop 删除对象时触发
数据库事件 Sartup 数据打开时触发
数据库事件 Shutdown 在使用NORMAL或IMMEDIATE选项关闭数据库时触发
数据库事件 Logon 当用户连接到数据库并建立会话时触发
数据库事件 Logoff 当一个会话从数据库中断开时触发
数据库事件 Servererror 发生服务器错误时触发

事件的触发有两个时间:
Before: 事件发生之前触发
After:事件发生之后触发

8.6.3 更改和删除触发器

触发器可以引用临时表

8.7 嵌入式SQL

8.7.1 SQL 与宿主语言接口

8.7.2 动态SQL

嵌入式SQL用于高级语言(主语言)和数据库的交互。高级语言用于客户端,实现界面及与用户的交互SQL语言用于后台数据库,主语言将变量值传给SQL,或SQL将值传给主语言,是通过主变量来实现的,主语言需要对SQL语句的执行状态(是否执行成功、查询结果的记录数等)进行检查以确定下一步的处理,需要DBMS将SQL语句执行状态写入SQL通信区(即SQLCA),主语言从中提取;游标可以将SQL查询到的多条记录逐条提取赋给主变量,交由主语言处理。

8.8 SQL-99所支持的对象关系模型

8.8.1 嵌套关系

8.8.2 复杂类型

8.8.3 继承

8.8.4 引用类型

8.8.5 与复杂类型有关的查询

8.8.6 函数和过程

第九章 系统开发和运行知识

9.1 软件工程基础知识

9.1.1 软件工程基本原理

软件需求:

  1. 业务需求
    反映了组织结构或客户对系统、产品高层次的目标要求,他们在项目视图与范围文档中予以说明。
  2. 用户需求
    文档描述了用户使用产品必须要完成的任务,这在使用实例文档或方案脚本说明中予以说明
  3. 功能需求
    定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。所谓特性是指逻辑上相关的功能需求的集合,给用户提供处理能力并满足业务需求
  4. 非功能性需求
    它描述了系统展现给用户的行为和执行的操作等。它包括产品必须遵从的标准、规范和合约;外部界面的额具体细节,性能要求,设计或实现的约束条件及质量属性。

9.1.2 软件生存周期模型

9.1.3 软件开发方法

9.1.4 软件项目管理

风险是一种具有负面后果的,人们不希望发生的事件。风险管理是软件项目管理的一项重要任务。在进行风险管理时,根据风险的优先级来确定风险控制策略,而优先级是根据风险暴露来确定的。风险暴露是一种量化风险影响的指标,等于风险影响乘以风险的概率。
风险影响是风险发生时造成的损失
风险概率是风险发生的可能性
风险控制是风险管理的一个重要活动

9.1.5 软件工具与开发环境

9.2 系统分析基础知识

9.2.1 系统分析概述

9.2.2 需求分析

确定系统边界属于需求分析阶段的内容。

9.2.3 结构化分析方法

9.2.4 面向对象分析方法

9.3 系统设计基础知识

9.3.1 系统设计内容和步骤

9.3.2 系统设计的基本原理

9.3.3 系统模块结构设计

9.3.4 结构化设计方法

9.3.5 面向对象设计方法

9.3.6 系统输入和输出设计

9.3.7 处理过程设计

9.4 系统实施基础知识

9.4.1 系统实施概述

9.4.2 系统测试

软件测试的目的是发现软件的错误,验证软件是否满足用户需求,并通过分析软件错误产生的原因,以帮助发现当前开发工作所采用的软件过程缺陷,以便进行软件过程改进。软件测试不能发现软件中的所有错误,也不能保证软件完全正确。软件测试应尽早开始,而不是实现之后再开始,在需求分析阶段即可准备相关测试。

9.4.3 测试策略和测试方法

9.4.4 系统转换

9.5 系统运行和维护基础知识

9.5.1 系统维护概述

9.5.2 系统评价

第十章 数据库设计

10.1 数据库设计概述

10.1.1 数据库应用系统的生命期

10.1.2 数据库设计的一般策略

10.1.3 数据库设计的基本步骤

10.2 系统需求分析

10.2.1 需求分析的任务、方法和目标

10.2.2 需求分析阶段的文档

10.2.3 案例分析

10.3 概念结构设计

10.3.1 概念结构设计策略与方法

10.3.2 用E-R 方法建立概念模型

10.4 逻辑结构设计

10.4.1 E-R 图向关系模式的转换

10.4.2 关系模式的规范化

10.4.3 确定完整性约束

10.4.4 用户视图的确定

10.4.5 应用程序设计

分E-R图之间的冲突
命名冲突:相同意义的属性,在不同分E-R图上有着不同的命名,或是名称相同的属性在不同的分E-R图中代表着不同的意义,这些也要进行统一、
属性冲突:指同一属性可能存在不同的E-R图,由于设计人员不同或是出发点不同,属性的类型、取值范围、数据单位等可能会不一致,这些属性对应的数据将来只能以一种形式在计算机存储,这就需要在设计阶段进行统一。
结构冲突是指同一实体在不同的分E-R图中有不同的属性,同一对象在某一份E-R图中被抽象为实体而在另一分E-R图中又被抽象为属性,需要统一。

10.5 数据库的物理设计

10.5.1 数据库物理设计工作过程

10.5.2 数据库物理设计工作步骤

10.6 数据库系统的实施阶段

10.7 数据库运行维护与管理

10.7.1 制定数据库系统的运行计划

10.7.2 数据库系统的运行和维护

10.7.3 数据库系统的管理

10.7.4 性能调整

10.7.5 用户支持

第十一章 事务管理

11.1 事务的基础概念

11.1.1 事务

事务的定义语句:
事务开始:BEGIN TRANSACTION
事务结束:END TRANSACTION
提交事务:COMMIT TRANSACTION
回滚事务:ROLLBACK TRANSACTION

注:若事务已经执行了Commit work就不能用Rollback work来撤销。对断电、系统崩溃的情况,回滚是在系统重新启动时进行。

11.1.2 事务的特性

(1) 原子性(Atomicity)
要么全做要么全都不做
(2) 一致性(Consistency)
数据不会因为事务的执行而遭到破坏
(3) 隔离性(Isolaion)
一个事务的执行不能被其他事务干扰
(4) 持久性(Durability)
一个事务一旦提交,对数据库的改变必须是永久的,即便系统出现故障也是如此。

11.1.3 事务的状态

11.2 数据库的并发控制

11.2.1 事务调度

11.2.2 并发操作带来的问题

1. 丢失修改
2. 不可重复读
3. 读脏数据

11.2.3 并发调度的可串行性

11.2.4 并发控制技术

排它锁(Exclusive Locks,简称X锁,写锁)
如果事务T对数据A加上X锁后,就只允许事务T读取和修改数据A,其他事务对数据A不能再加任何锁,从而也不能读取和修改数据A,直到事务T释放A上的锁。
共享锁(Share Locks,简称S锁,读锁)
如果事务T对数据A加上了S锁后,事务T就只能读数据A但不能修改,其他事务可以再对数据A加S锁来读取,只要数据A上有S锁,任何事务都只能再对其加S锁读取而不能加X锁修改。

11.2.5两段锁协议

1. 一级封锁协议
事务T在修改数据之前必须先对其加X锁,直到事务结束才释放。
解决了丢失修改,并保证事务T是可恢复的。
如果仅仅是读数据不对其进行修改是不需要加锁的。
2. 二级封锁协议
是一级封锁协议加上事务T在读取数据A之前必须对其加上S锁,读完后即可释放S锁。
使得一个事务不能读取被其他事务修改中的数据。
解决了脏读
3. 三级封锁协议
是一级封锁协议加上事务T在读取数据之前必须对其加上S锁,直到事务结束才释放S锁。
使得一个事务读取数据期间,其他事务只能读取该数据而不能修改。
解决了不可重复读

例:如果想要解决读脏数据,可以使用的方法
解:二级封锁协议和三级封锁协议

两段锁协议:
第一阶段:获得封锁,扩展阶段
第二阶段:释放封锁,收缩阶段

11.2.6 多粒度封锁协议

11.2.7 案例分析

11.3 数据库的备份与恢复

11.3.1 数据库系统故障种类

1. 事务故障
事务故障是指由于事务程序运行过程中,因为非预期的原因,导致在运行过程中不能达到预期的终点(COMMIT或显示的ROLLBACK),造成数据库的不一致。
事务故障的恢复,急需要将产生故障的事务已经完成的对数据库的修改撤销。事务对数据库的修改内容被严格按照执行的时间顺序记录在日志中,可以通过逆向扫描日志文件,将产生故障的事务对数据库的操作逐一恢复(UNDO),直到事务开始标志,就像该事务未执行一样,即完成恢复。

2. 系统故障
数据库系统在运行过程中可能会发生CPU故障,这属于系统故障。在此类故障中,需要根据日志进行的操作为REDO+UNDO
3. 介质故障

11.3.2 数据库备份

数据转储:
1. 静态转储:在系统中无运行事务时进行的转储操作
动态转储:转储期间允许对数据库进行存取或修改。后备副本需要配合日志文件
2. 海量转储:每次转储全部数据库
增量转储:每次只转储上一次转储后更新过的数据
3. 日志文件
4. 数据库镜像

11.3.3 数据库恢复

数据库恢复操作的基本原理是冗余机制。

建立冗余数据常用技术:
(1) 数据转储
(2) 登记日志文件

11.4 数据库的安全性与完整性

11.4.1 数据库的安全性

11.4.2 数据库的完整性

数据库事务的四种隔离级别:
(1) Serializable(串行化)
可避免脏读、不可重复读、幻读的发生
(2) Repeatable(可重复读)
可避免脏读、不可重复读的发生
(3) Read committed(读已提交)
可避免脏读的发生
(4) Read uncommitted(读未提交)
最低级别,任何情况都无法保证

第十二章 数据库发展和新技术

12.1 分布式数据库

12.1.1 分布式数据库的概念

分布式数据库的透明性:
(1) 分片透明
(2) 分配透明(复制透明、位置透明)
(3) 映像透明(模型透明)
(4) 本地自治

12.1.2 分布式数据库的体系结构

12.1.3 分布式查询处理和优化

12.1.4 分布式事务管理

12.1.5 新型分布式海量数据库

分布式数据库的体系结构:
(1) 全局外层
(2) 全局概念层
(3) 局部内层。
全局外层即外模式,局部概念层和局部内层与集中式数据库相同,全局概念是对全局逻辑模式的描述,按照分片映射到各局部概念层。场地自治是指各局部的DBMS可以独立地管理所辖局部数据,通过局部概念层(相当于集中式的模式层)进行访问。局部内层描述的是局部数据的存储模式(内模式)。

分布式数据库的全局概念层应具有三种模式描述信息:
全局概念模式描述分布式数据库全局数据的逻辑结构,是分布式数据库的全局概念视图。
分片模式描述全局数据逻辑划分的视图,是全局数据的逻辑结构根据某种条件的划分,每一个逻辑划分就是一个片段或分片。
分配模式描述局部逻辑的局部物理结构,是划分后的片段或分片的物理分配视图。

12.2 Web 与数据库

12.2.1 Web概述

12.2.2 Web 服务器脚本程序与服务器的接口

12.2.3 CGI 的应用

12.2.4 ASP 的应用

12.2.5 Servlet 和 JSP的应用

12.3 XML 与数据库

12.3.1 什么是XML

12.3.2 XML 的文件存储面临的问你

12.3.3 XML与数据库的数据转换

12.4 面向对象数据库

12.4.1 面向对象数据库系统的特性

12.4.2 面向对象数据模型

12.4.3 面向对象数据库语言

12.4.4 对象关系数据库系统

12.5 决策支持系统与数据库

12.5.1 决策支持系统的概念

12.5.2 数据仓库的设计

12.5.3 数据转移技术

12.5.4 联机分析处理(OLAP)

12.5.5 联机事务处理(OLTP)

12.6 非关系型数据库 NoSQL

12.6.1 NoSQL 概述

12.6.2 相关理论基础

12.6.3 NoSQL 数据库的种类

NoSQL数据库的四大分类:
(1) 键值存储数据库(Redis)
(2) 列存储数据库
(3) 文档型数据库(Mongodb)
(4) 图数据库(Neo4j)

NoSQL数据库保证的是BASE特性。

Mongodb是一种分布式文档存储数据库,旨在为Web应用提供可拓展的高性能数据存储解决方案。该数据库是一个高性能、开源、无模式的文档型数据库。
Memcached是一种高性能的分布式内存对象缓存数据库,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度,提高可拓展性。
Neo4j是一个高性能的NoSQL图形数据库。该数据库使用图(graph)相关的概念来描述数据模型,把数据保存为图中的节点以及节点之间的关系。
HBase(Hadoop Database) 是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统。

第十三章 标准化和知识产权基础知识

13.1 标准化基础知识

13.1.1 标准化的基本概念

《中华人民共和国标准法》将标准分为4个层次:
(1) 国家标准
GB:强制性国家标准
GB/T:推荐性国家标准
GB/Z:指导性国家标准
GSB:国家实物标准
国家标准有效期为5年。
(2) 行业标准
(3) 地方标准
(4) 企业标准
企业标准以Q开头;企业产品标准应在发布后30天内向政府备案。
除此之外还有国际标准,如:ISO(国际标准化组织)、IEC(国际电工委员会)、ITU(国际电信联盟)

ANSI:美国国家标准协会标准
BS:英国国家标准
JIS:日本工业标准

13.1.2 信息技术标准化

13.1.3 标准化组织

13.1.4 ISO 9000标准简介

13.1.5 能力成熟度模型简介

13.2 知识产权基础知识

13.2.1 知产产权基本概念

13.2.2 计算机软件著作权

软件著作权人对其创作的软件产品,享有的权利:
(1) 发表权
(2) 署名权
(3) 修改权
(4) 复制权
(5) 发行权
(6) 出租权
(7) 信息网络传播权
(8) 翻译权
(9) 使用许可权、获得报酬权、转让权

软件著作权自软件开发完成之日起生效
(1) 著作权属于公民。保护期为作者终生及其死亡后的50年。
(2) 如果著作权属于单位。保护期为50年。

对于自然人的著作权除了身份权以外,保护期限为作者终身及其死后50年。

13.2.3 计算机软件的商业秘密权

13.2.4 专利权概述

专利权包括发明、实用新型和外观设计
(1) 发明:指对产品、方法或者其改进所提出的新的技术方案。科学发现不属于发明范畴。期限为20年。
(2) 实用新型:指对产品的形状、构造或者其结合所提出的适用于实用的新的技术方案。期限为10年。
(3) 外观设计:又称工业产品外观设计,指对产品的形状、图案或其结合一级色彩与形状、图案相结合锁作出的富有美感并适于工业上应用的新设计。期限为10年。

专利权人的义务:
在保护期限内,专利权人应该按时缴纳年费。在专利权保护期限内,如果专利权人没有按规定缴纳年费,或者以书面声明放弃其专利权,专利权可以在期满前终止。

根据《著作权法》,人身权是与人身不可分离、不能放弃或转让,并没有直接财产内容的权利。人身权包括发表权、署名权、修改权等。

第十四章 数据库案例分析

14.1 SQL 应用案例

14.1.1 SQL 应用案例一

14.1.2 SQL 应用案例二

14.2 数据库设计应用案例

14.2.1 高校实验室管理信息系统

14.2.2 旅游管理信息系统

14.2.3 图书管理信息系统

附录:杂七杂八

数据流图的设计原则:
1.父图与子图的平衡原则
子图的输入输出数据流同父图相应加工的输入输出数据流必须一致,此即父图与子图的平衡
2.数据守恒原则
对任何一个加工来说,其所有输出数据流中的数据必须能从该加工的输入数据流中直接获得,或者说是通过该加工能产生的数据。
3.守恒加工原则
对同一个加工来说,输入与输出的名字必须不相同,即使它们的组成成分相同。
(1) 对于每个加工,必须既有输入数据流,又有输出数据流
(2) 数据流与加工有关,且必须经过加工

Linux中,权限的格式: -rw-rw-rw
(1)第0位确定文件类型
-:普通文件
d:目录
l:连接文件
c: 字符设备文件(键盘、鼠标)
b: 块设备文件(硬盘)
(2)第1~3位确定所有者(该文件的所有者)拥有该文件的权限
R: 读
W: 写
X: 执行(-表示没有)
(3)第4~6位确定所属组(同用户组的)拥有该文件的权限
(4)第7~9位确定其他用户拥有该文件的权限

模块的耦合度表现了模块之间相互关联的程度,分为6级。
耦合程度从低到高的顺序:
非直接耦合、数据耦合、标记耦合、控制耦合、外部耦合、公共耦合和内容耦合。
最好的是非直接耦合,没有直接联系,模块之间不相互依赖于对方。最差的是内容耦合,一个模块访问了另一个模块的内部数据。
内聚程度从高到低的顺序:
功能内聚、顺序内聚、通信内聚、过程内聚、瞬时内聚、逻辑内聚和偶然内聚。

数据耦合
一个模块访问另一个模块时,彼此之间是通过简单数据参数(不是控制参数、公共数据结构或外部变量)来交换输入、输出信息的。
公共耦合
若一组模块都访问同一个公共数据环境,则它们之间的耦合就成为公共耦合。公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。
外部耦合
一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,称之为外部耦合。
标记耦合
一组模块通过参数表传递记录信息,就是标记耦合。这个记录是某一数据结构的子结构,而不是简单变量。

ADSL
因其下行速率高、频带宽、性能优等特点而深受广大客户的喜爱。它是运行在原有普通电话线上的一种新的高速宽带技术。
事实上,ADSL的传输技术中,ADSL用其特有的调制解调硬件来连接现有双绞线连接的各端。

在UNIX/LINUX 系统中,telnet服务的默认端口是23,ftp 的端口号是21和20。

一个取值域是原子的,是指该域的元素是不可分的单元。

满足BCNF的定义为:BCNF中每个函数依赖左部都包含码。

在数据库系统中,使数据库恢复到故障发生前的一致状态的机制称为恢复机制。

通过一个关系拆分成两个更小的关系来使其满足范式时,必须用相同的属性使两个子关系互相关联来保持数据的完整约束性。

常见的优化策略:
(1) 尽可能减少多表查询或建立物化视图
普通视图是不存储任何数据的,他只有定义,在查询中是转换为对应的定义SQL去查询,而物化视图是将数据转换为一个表,实际存储着数据,这样查询数据,就不用关联一大堆表,如果表很大的话,会在临时表空间内做大量的操作。
(2) 以不相关子查询替代相关子查询
(3) 只检索需要的列
(4) 用带IN的条件子句等价替换OR子句
(5) 经常提交COMMIT,以尽早释放锁

用哈希表存储元素时,需要进行冲突处理,冲突是指关键字不同的元素被映射到相同的存储位置。

当用二维数组表示邻接矩阵图的存储结构时,查找每个顶点的邻接点所需时间为在这里插入图片描述
其中n为图中顶点数
而当以邻接表作图的存储结构时,e为无向图中边的数或有向图中弧的数,深度优先搜索遍历图的时间复杂度为
O(n+e)

程序运行过程中,把函数(或过程)调用与响应调用所需要的代码相结合的过程称为动态绑定。静态绑定是指在程序编译过程中,把函数(方法或者过程)调用与响应调用所需的代码结合的过程称之为静态绑定。

地址http://www.dailynews.com.cn/channel/welcome.htm中
www表示主机名
dailynews.com.cn域名
www.dailynews.com.cn表示主机全名
welcome.htm网页文件名

主域名服务在接收域名请求后,首先查询的是本地缓存

概念数据模型:也称信息模型,是按用户的观点对数据和信息进行建模,是现实世界到信息世界的第一层首相,强调其语义表达功能,易于用户理解,是用户和数据库设计人员交流的语言,主要用于数据库设计。在这类模型中,最著名的是实体联系模型,简称E-R模型。

触发器无法传递参数,但是可以访问INSERT和DELETE两张临时表去处理类似问题的。

假设开发小组由8名人员组成
无主程序员沟通路径
(8*7)/2
主程序员沟通路径
8-1 = 7

VLIW:(Very Long Instruction Word,超长指令字)
一种非常长的指令组合,它把许多条指令连在一起,增加了运算的速度。

移位运算符就是在二进制的基础上对数字进行平移。
按照平移的方向和填充数字的规则分为三种:
在这里插入图片描述
在数字没有溢出的前提下,对于正数和负数,左移一位都相当于乘以2的1次方,左移n位就相当于乘以2的n次方。

脚本语言是为了缩短传统的编写-编译-链接-运行过程而创建的计算机编程语言。此命名起源于一个脚本“screenplay”,每次运行都会使对话框逐字重复。早期的脚本语言经常成为批处理语言或工作控制语言。一个脚本通常是解释运行而非编译。

中间代码的表达形式:
语法树
后缀式
三地址代码

I/O控制方式
数据库系统工程师考点笔记_第5张图片

使用ping命令进行网络检测,按照由近及远原则,首先执行的是ping.127.0.0.1,其次是ping本地IP,再次是ping默认网关,最后是ping远程主机。

终端设备与远程站点之间建立安全连接的协议是SSH。
SSH为Secure Shell的缩写,是由IETF制定的建立在应用层和传输层基础上的安全协议。SSH是专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX上的程序,后来又迅速扩展到其他操作平台。

风险是一种具有负面后果、人们不希望发生的事件。风险管理式软件项目管理的一项重要任务。在进行风险管理时,根据风险的优先级来确定风险控制策略,而优先级是根据风险暴露来确定的。风险暴露是一种量化风险影响的指标,等于风险影响乘以风险概率。

用磁盘碎片整理程序对磁盘进行碎片整理,以提高访问文件的速度。

Hash, 一般翻译做散列、杂凑,或音译为哈希,是把任意长度的输入通过散列算法变换成固定长度的输出,改输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。
哈希表是根据键(Key)而直接访问在内存存储位置的数据结构。
在密码学里面,随机预言机对任何输入都回传一个真正均匀随机的输出,不过对相同的输入,该预言机每次都会用同一方法输出。换句话说,随机预言机是一个将所有可能输入与输出作随机映射的函数。

社会工程学指的是通过与他人的合法地交流,来使其心理受到影响,做出某些动作或者是透露一些机密信息的方式。这通常被认为是一种欺诈他人以收集信息、行骗和入侵计算机系统的行为。

软件开发模型是软件开发的全部过程、活动和任务的结构框架,用以指导软件的开发。螺旋模型综合了瀑布模型和演化模概述概述型的优点,并增加了风险分析,沿着螺线由内向外,每旋转一圈,就得到原型的一个新版本基本。

站在数据库管理系统的角度看,数据库系统体系结构一般采用三级模式结构。数据库系统在三级模式之间提供了两级映像:模式/内模式映像、外模式/模式映像。
模式/内模式的映像:该映像存在于概念和内部级之间,实现了概念模式到内模式之间的相互转换。
外模式/模式的映像:该映像存在于外部级和概念级之间,实现了外模式到概念模式之间的相互转换。
正因为这两级映射保证了数据库中的数据具有较高的逻辑独立性和物理独立性。数据的独立性是指数据与程序独立,将数据的定义从程序中分离出去,由DBMS负责数据的存储,从而简化应用程序,大大减少应用程序编制的工作量。

码分多址(Code Division Multiple Access CDMA)技术比较适合现代移动通信网的大容量、高质量、综合业务、软切换等要求,正受到越来越多的运营商和用户的青睐。
我国自行研制的移动通信3G标准是TD-SCOMA

链地址法(拉链法):
在查找表的每一个记录中增加一个链域,链域中存放下一个具有相同哈希函数值的记录的存储地址。即利用链域将发生冲突的记录链接在一个链表里。

例:对于给定的关键字序列{47,34,13,12,52,38,33,27,5},若用链地址法(拉链法)解决冲突来构造哈希表,且哈希函数为H(Key)=Key%11,则(34和12在同一个链表中)
解:计算哈希值可得{3,1,2,1,8,5,0,5,5}
可以看到哈希地址冲突最多的是5,其对应链表最长;34和12的哈希值都为1,放在同一链表中

原型方法适用于用户需求不清、需求经常变化的情况,可以帮助导出系统需求并验证需求的有效性。
探索型原型的目的是弄清目标的要求,确定所希望的特性,并探讨多种方案的可行性,可以用来探索特殊的软件解决方法。
原型法能够迅速地开发出一个让用户看得见的系统框架,可以用来支持用户界面设计。

数据库审计的概述:
(1) 审计记录数据库资源和权限的使用情况
(2) 审计操作会影响系统性能
(3) 审计追踪信息会扩大对存储空间的要求

例:把网络117.15.32.0/23 划分为117.15.32.0/27,则得到的子网是(16)个。每个子网中可使用的主机地址是(8)个
解:在这里插入图片描述

HTML 元素中,(vlink) 属性用于定义超链接被鼠标点击后显示的颜色。

1.无向图中顶点的度
无向图中顶点的度(Degree) 是关联于该顶点的边的数目,也可以说是直接与该顶点相邻的顶点个数,记为D(V)。例如,在图4-9中,V1的度是1,V2的度是2,V3的度是3,V4的度是2
数据库系统工程师考点笔记_第6张图片

2.有向图中顶点的入度
在有向图中,以顶点V为终点的边的数目称为V的入度(Indeglee),记为ID(V)。例如,在图4-10中,V1的入度是1,V2的入度是2,V3的入度是1,V4的入度是0
数据库系统工程师考点笔记_第7张图片

3.有向图中顶点的出度
在有向图中,以顶点V为始点的边的数目,称为V的出度(Outdegree),记为0D(V)。例如,在图4-10中,V1的出度是0,V2的出度是0, V3的出度是2, V4的出度是2

软件的可移植性(Protability)是指与一个软件从一个环境转移到另一个环境运行的能力有关的一组属性。包括:
(1) 适应性(Adaptabilitu)
是指与软件无需采用有别于为该软件准备的活动或手段就可能适应不同的规定环境有关的软件属性。
(2) 可安装性(Installability)
是指与应指定环境下安装软件所需努力有关的软件属性
(3)遵循性(一致性,Conformance)
是指使软件遵循与可移植性有关的标准或约定的软件属性
(4)可替换性(Replaceability)
是指与软件在该软件环境中用来替代指定的其他软件的机会和努力有关的软件属性。

你可能感兴趣的:(数据库系统工程师笔记,数据库系统工程师,数据库)