导图社区 软件考试中级--数据库工程师--教材思维导图
该导图根据全国计算机软件考试中级数据库工程师的指定教材制作而成,有利于学习辅助梳理大量细而多的知识点,是作者耗时制作,学习的同学可以参考利用,并根据自己理解修改。
编辑于2023-07-07 02:25:19 广东中心主题
计算机系统知识
计算机系统基础知识
计算机系统
硬件
运算器
控制器
中央处理单元(CPU)
CPU是硬件系统的核心,用于数据的加工处理,能完成算术运算、逻辑运算与控制功能。
存储器
内部存储器
外部存储器
输入设备
用于输入原始数据及各种命令
输出设备
输出计算机运行的结果
软件
中央处理单元(CPU)

CPU的功能
程序控制
时间控制
操作控制
数据处理
对系统内部和外部的中断(异常)做出响应,进行相应处理
CPU的组成
运算器
数据加工处理部件,是执行部件。运算器接受控制器的命令进行动作。
组成
算术逻辑单元ALU
ALU是运算器的重要组成部件,负责处理数据,实现对数据的算术运算和逻辑运算。
累加器AC
AC通常简称为累加器,它是一个通用寄存器。其功能是当运算器的算术逻辑单元执行算术或逻辑运算时,为ALU提供一个工作区。例如,在执行一个减法运算前,先将被减数暂存在AC中,再从内存储器中取出减数,然后与AC的内容相减,所得的结果送回AC暂存。
数据缓冲寄存器DR
DR 的主要作用为:作为CPU和内存、外部设备之间数据传送的中转站;作为CPU和内存、外围设备之间在操作速度上的缓冲;在单累加器结构的运算器中,数据缓冲寄存器还可兼作为操作数寄存器。
状态条件寄存器PSW
(4)状态条件寄存器(PSW)。PSW保存根据算术指令和逻辑指令运行或测试的结果建立的各种条件码内容,主要分为状态标志和控制标志,如运算结果进位标志(C)、运算结果溢出标志(V)、运算结果为0标志(Z)、运算结果为负标志(N)、中断标志(I)、方向标志(D)和单步标志等。这些标志通常分别由1位触发器保存,保存了当前指令执行完成之后的状态。通常,一个算术操作产生一个运算结果,而一个逻辑操作则产生一个判决。
功能
执行所有的算术运算,如加、减、乘、除等基本运算及附加运算。
执行所有的逻辑运算并进行逻辑测试,如与、或、非、零值测试或两个值的比较等。
控制器
指令寄存器(IR)
当CPU执行一条指令时,先把它从内存储器取到缓冲寄存器中,再送入IR暂存,指令译码器根据IR的内容产生各种微操作指令,控制其他部件协调工作,完成指令的功能。
程序计数器(PC)
(2)程序计数器(PC)。PC具有寄存信息和计数两种功能,又称为指令计数器。程序的执行分两种情况,一是顺序执行,二是转移执行。在程序开始执行前,将程序的起始地址送入PC,该地址在程序加载到内存时确定,因此PC的内容即是程序第一条指令的地址。执行指令时,CPU将自动修改PC的内容,以便使其保持的总是将要执行的下一条指令的地址。由于大多数指令都是按顺序来执行的,所以修改的过程通常只是简单地对PC 加1。当遇到转移指令时,后继指令的地址根据当前指令的地址加上一个向前或向后转移的位移量产生,或者根据转移指令给出的直接转移的地址产生,再送入PC。
地址寄存器(AR)
(3)地址寄存器(AR)。AR保存当前CPU所访问的内存单元的地址。由于内存和CPU存在着操作速度上的差异,所以需要使用AR保持地址信息,直到内存的读/写操作完成为止。
指令译码器(ID)
(4)指令译码器(ID)。指令包含操作码和地址码两部分,为了能执行任何给定的指令,必须对操作码进行分析,以便识别要进行的操作。指令译码器就是对指令中的操作码字段进行分析解释,识别该指令规定的操作,向操作控制器发出具体的控制信号,控制各部件工作,完成所需的功能。
寄存器
专用寄存器
运算器和控制器中的寄存器是专用寄存器,其作用是固定的。
通用寄存器
通用寄存器用途广泛并可由程序员规定其用途,其数目因处理器不同有所差异。
内部总线
数据表示和校验
数值数据编码
原码
补码
反码
浮点表示
校验码
奇偶校验码
海明码
循环冗余校验码
计算机体系结构
概述
计算机体系结构的分类
宏观上按处理机的数量分类
单处理系统
并行处理与多处理系统
分布式处理系统
微观上按并行程度分类
Flynn分类法
冯泽云分类法
Handler分类法
Kuck分类法
CISC和RISC
CISC(复杂指令集计算机)
RISC(精简指令集计算机)
流水线技术
指令控制方式
顺序方式
顺序方式是指各机器指令之间顺序串行地执行,执行完一条指令后才取下一条指令,而且每条机器指令内部的各个微操作也是顺序串行地执行。这种方式的优点是控制简单。缺点是速度慢,各部件的利用率低。
重叠方式
 优点是速度有所提高,控制也不太复杂。缺点是会出现冲突、转移和相关等问题,在设计时必须想办法解决。
流水方式
 在概念上,“流水”可以看成是“重叠”的延伸。差别仅在于“一次重叠”只是把一条指令解释分解为两个子过程,而“流水”则是分解为更多的子过程。
流水线的种类
从级别角度可分为部件级、处理机级以及系统级的流水线。 从功能角度可分为单功能流水线和多功能流水线。 从联接方式上可分为静态流水线和动态流水线。 从流水线是否有反馈回路,可分为线性流水线和非线性流水线。 从流水线的流动顺序上,可分为同步流水线和异步流水线。 从流水线的数据表示上,可分为标量流水线和向量流水线。
流水的相关处理
吞吐率和流水建立时间
阵列处理机、并行处理机和多处理机
存储系统

存储器的分类
随机访问存储器
高速缓存(Cache)

地址映像
直接映像

全相联映像

组相联映像
替换算法
随机替换算法
先进先出算法
近期最少使用算法
优化替换算法
高速缓存的性能分析
虚拟存储器
相联存储器
外存储器
磁盘阵列技术
存储域网络
输入输出技术
微型计算机中最常用的内存与接口的编址方式
程序控制方式
中断方式
DMA方式
通道方式和外围处理机方式
总线结构
总线的分类
数据总线
地址总线
控制总线
常见总线
ISA总线
EISA总线
PCI总线
PCI Express总线
前端总线
RS-232C
SCSI
USB
IEEE-1394
IEEE-488总线
安全性、可靠性与系统性能评测基础知识
计算机安全概述
计算机的安全等级

信息安全

机密性
完整性
可用性
可控性
可审查性
影响数据安全的因素
内部因素
外部因素
加密技术和认证技术
加密技术
对称加密技术
数据加密标准算法 DES
三重DES 3DES
RC-5
国际数据加密算法 IDEA
高级加密标准算法 AES
非对称加密技术

公开密钥
RSA算法
私有密钥
密钥管理
密钥产生
密钥备份和恢复
密钥更新
多密钥的管理
认证技术
计算机可靠性
计算机可靠性模型
串联系统
并联系统
N模冗余系统
 
计算机系统的性能评价
性能评测的常用方法
时钟频率
指令执行速度
等效指令速度法
数据处理速率法 PDR
核心程序法
基准测试程序
整数测试程序
浮点测试程序
理论峰值浮点速度
Linpack基准测试程序
Whetstone基准测试程序
SPED基准程序
TPC基准程序
多媒体基础知识
多媒体计算机系统
声音
图形和图像
动画和视频
虚拟现实
程序语言基础
程序语言概述
程序语言的基本概念
低级语言和高级语言
低级语言:机器语言和汇编语言
高级语言:Java、C、C++、C#、Python、PHP、Javascript
编译程序和解释程序
程序设计语言的定义
语法
语义
语用
程序语用的分类
命令式
面向对象
函数式
逻辑型
程序语言的基本成分
数据成分
常量和变量
全局变量和局部变量
数据类型

运算

控制
顺序结构
选择结构
循环结构
C/C++语言中的控制语句
函数
程序语言翻译基础
子主题
数据结构与算法
线性结构
线性表
线性表的存储方式
顺序存储
链式存储
栈
队列
串
数组和矩阵
非线性结构
树
图
操作系统基础
操作系统概述
基本概念
操作系统的定义及作用
定义
作用
通过资源管理提高计算机系统的效率
改善人机界面向用户提供友好的工作环境
操作系统特征与功能
特征
并发性
共享性
虚拟性
不确定性
功能
进程管理
进程控制
进程同步
进程通信
进程调度
文件管理
文件存储空间管理
目录管理
文件的读/写管理
存储控制
存储管理
存储分配与回收
存储保护
地址映射
主存扩充
设备管理
输入/输出设备的分配、启动、完成、回收
作业管理
任务管理
界面管理
人机交互
图形界面
语音控制
虚拟现实
操作系统分类
分时操作系统
特点
多路性
独立性
交互性
及时性
实时操作系统
实时控制系统
实时信息处理系统
网络操作系统
集中模式
客户端/服务器模式
对等模式
分布式操作系统
特性
透明性
可靠性
高性能
嵌入式操作系统
特点
微型化
可定制
实时性
可靠性
易移植性
操作系统的发展
促使操作系统发展的因素主要有3个方面:第一,硬件的不断升级与新的硬件产品出现,需要操作系统提供更多、更复杂的支持;第二,新的服务需求,操作系统为了满足系统管理者和用户需求,需要不断扩大服务范围;第三,修补操作系统自身的错误,操作系统在运行的过程中其自身的错误也会不断地被发现,因此需要不断地修补操作系统自身的错误(即所谓的“补丁”))。需要说明的是,在修补的过程中也可能会产生新的错误。
进程管理
处理机管理
基本概念
程序与进程
程序顺序执行的特征
顺序性
封闭性
可再现性
程序并发执行的特征
失去了程序的封闭性
程序和机器的执行程序的活动不再一一对应
并发程序间的相互制约
进程的组成
程序
数据
进程控制块PCB
进程的状态及其状态间的切换
三态模型

运行
就绪
阻塞
五态模型

细分进程状态及其转换

进程的控制
定义
对系统中所有进程从创建到消亡的全过程实施有效的控制
进程控制是由操作系统内核中的原语实现的
原语
原语(Primitive)是指由若干条机器指令组成的,用于完成特定功能的程序段。原语的特点是在执行时不能被分割,即原子操作要么都做,要么都不做。
内核中的原语
程序控制原语
进程通信原语
资源管理原语
其他原语
进程控制原语
进程创建原语
进程撤销原语
进程挂起原语
进程激活原语
进程阻塞原语
进程唤醒原语
内核
进程间的通信
同步与互斥
进程间的同步
在系统中一些需要相互合作,协同工作的进程。
进程间的互斥
系统中多个进程争用临界资源而互斥进行。
临界资源
有些资源一次只能供一个进程使用。
临界区管理的原则
临界区是进程中对临界资源实施操作的那段程序。
有空即进
(1)有空即进。当无进程处于临界区时,允许进程进入临界区,并且只能在临界区运行有限的时间。
无空则等
(2)无空则等。当有一个进程在临界区时,其他欲进入临界区的进程必须等待,以保证进程互斥地访问临界资源。
有限等待
(3)有限等待。对于要求访问临界资源的进程,应保证进程能在有限的时间进入临界区,以免陷入“饥饿”状态。
让权等待
(4)让权等待。当进程不能进入自己的临界区时,应立即释放处理机,以免进程陷入忙等状态。
信号量机制
整形信号量
记录型信号量
信号量集机制
高级通信原语
共享存储方式
消息传递方式
管道通信
管程
进程调度
三级调度
高级调度
中级调度
低级调度
调度算法
先来先服务(FCFS)
时间片轮转
优先级调度
静态优先级
动态优先级
多级反馈调度
进程优先级确定
两个以上的进程互相都要求对方已经占有的资源导致无法继续运行下去的现象。
死锁
进程资源图
请求资源:〇→口,箭头由进程指向资源;分配资源:O←口,箭头由资源指向进程。
死锁产生的4个必要条件
互斥条件
请求保持条件
不可剥夺条件
环路条件
死锁的处理
死锁预防
预先静态分配法
资源有序分配法
死锁避免
死锁检测
死锁解除
线程
存储管理
管理对象:主存存储器,简称主存或内存。
基本概念
存储器的结构
寄存器-主存-外存
寄存器-缓存-主存-存储组织的功能外存
虚拟地址
地址空间
存储空间
地址重定位
指将逻辑地址变换成主存物理地址的过程
静态地址重定位
静态重定位是指在程序装入主存时已经完成了逻辑地址到物理地址的变换,在程序的执行期间将不会再发生变化。
动态地址重定位
动态重定位是指在程序运行期间完成逻辑地址到物理地址的变换。
存储管理方案
分区存储管理
把主存的用户区划分成若干个区域,每个区域分配给一个用户作业使用,并限定它们只能在自己的区域中运行
固定分区
可变分区
可重定位分区
分区保护
采用上界/下界寄存器保护
上界寄存器≤物理地址≤下界寄存器
基址/限长寄存器保护
基址寄存器≤物理地址<基址寄存器+限长寄存器
分页存储管理
纯分页存储管理
分页管理
页
将一个进程的地址空间划分成若干个大小相等的区域,
块或页框
相应地,将主存空间划分成与页相同大小的若干个物理块,称为块或页框。在为进程分配主存时,将进程中若干页分别装入多个不相邻接的块中。
地址结构
页号P
偏移量W(页内地址)
页表
页号+物理块号
快表
两级页表机制
分段存储管理
段页式存储管理
虚拟存储管理
程序局部性原理
虚拟存储器的实现
请求分页管理的实现
页面置换算法
工作集
设备管理
概述
I/O软件
设备管理采用的相关技术
磁盘调度
文件管理
基本概念
文件的结构和组织
文件目录
存储方法和存储空间的管理
文件的使用
文件的共享和保护
系统的安全与可靠性
作业管理
基本概念
作业调度
用户界面
网络基础知识
计算机网络概述
网络硬件基础
网络的协议与标准
Internet基础知识
信息安全基础知识
网络安全概述
数据库技术基础
基本概念
数据库与数据库管理系统
数据库系统的基本概念
数据库系统(DBS)
数据库DB
硬件
软件
操作系统
数据库管理系统(DBMS)
功能
数据定义功能
数据操纵功能
数据库的运行管理
数据库的建立与维护
应用程序
人员
系统分析员和数据库设计人员
应用程序员
最终用户
数据库管理员(DBA)
具体职责
决定数据库中的信息内容和结构
决定数据库的存储结构和存取策略
定义数据库的安全性要求和完整性约束条件
监控数据库的使用和运行
数据库的性能改进
数据库1的重组和重构
提高系统的性能
数据库系统应用
数据库技术的发展
人工管理阶段
文件系统阶段
数据库系统阶段
数据库的研究领域
DBMS的功能和特点
DBMS功能
数据定义
数据库操作
数据库运行管理
数据组织、存储和管理
数据库的建立和维护
其他功能
DBMS特点
数据结构化且统一管理
有较高的数据独立性
数据控制功能
数据的安全性
数据的完整性
并发控制
故障恢复
内部故障
系统故障
介质故障
计算机病毒
DBMS分类
关系数据库系统RDBS
面向对象的数据库系统OODBS
对象关系数据库系统ORDBS
数据库系统的体系结构
集中式数据库系统
客户端/服务器体系结构
并行数据库系统
分布式数据库系统
数据库系统的三级模式结构
数据模型
数据模型的基本概念
数据模型的三要素
E-R模型
E-R方法
实体
弱实体
一个实体的存在必须以另一个实体为前提。 
子实体
某些实体一方面具有一些共性,另一方面还具有各自的特殊性。这样,一个实体集可以按照某些特征区分为几个子实体。 
联系
属性
简单属性
简单属性是原子的、不可再分的。
复合属性
复合属性可以细分为更小的部分(即划分为别的属性)。 有时用户希望访问整个属性,有时希望访问属性的某个成分, 那么在模式设计时可采用复合属性。 例如,职工实体集的通信地址可以进-步分为邮编、省、市、街道。
单值属性
前面所举的例子中,定义的属性对于一个特定的实体都只有单独的-一个值。 例如,对于-一个特定的职工,只对应一个职工号、 职工姓名,这样的属性叫作单 值属性。
多值属性
但是,在某些特定情况下,-一个属性可能对应一组值。 例如,职工可能有0个、1个或多个亲属, 那么职工的亲属的姓名可能有多个数目,这样的属性称为多值属性。
NULL属性
当实体在某个属性上没有值或属性值未知时,使用NULL值。 表示无意义或不知道。
派生属性
派生属性可以从其他属性得来。例如,职工实体集中有“参加工作时间” 和“工作年限”属性,那么“工作年限”的值可以由当前时间和参加工作时间得到。 这里,“工作年限”就是一个派生属性。
扩充的E-R模型
基本的数据模型
数据存储和查询
存储管理器
查询处理器
数据仓库和数据挖掘基础知识
数据仓库
数据挖掘
关系数据库
关系数据库概述
关系运算
元祖运算
域运算
查询优化
关系数据库设计基础理论
基础知识
函数依赖
非平凡的函数依赖

平凡的函数依赖

完全函数依赖

部分依赖
传递依赖

码
候选码

主码
主属性
包含在任何一个候选码中的属性叫作主属性
非主属性
全码
外键
[定义7.8]若R(U)中的属性或属性组X非R的码,但X是另-一个关系的码,则称X是R . 的外码(Foreign key)或称外键。
多值依赖

规范化
1NF
若关系模式R的每一个分量是不可再分的数据项,则关系模式R属于第一范式。记为R∈1NF。
缺点
冗余度大
引起修改操作的不一致性
插入异常
删除异常
2NF
若关系模式R∈1NF,且每一个非主属性完全依赖于码,则关系模式R∈2NF。换句话说,当1NF消除了非主属性对码的部分函数依赖,则称为2NF。
3NF
[定义7.12]若关系模式R(U,F)中不存在这样的码X,属性组Y及非主属性Z(Z$Y)使得 X- +Y, (Y+X)Y-→Z成立,则关系模式R∈3NF。 即当2NF消除了非主属性对码的传递函数依赖,则称为3NF。
BCNF
[定义7.13]关系模式R∈lNF,若X- +Y且YφX时,X必含有码,则关系模式R∈BCNF。 也就是说,当3NF消除了主属性对码的部分函数依赖和传递函数依赖,则称为BCNF。
性质
(1)所有非主属性对每一一个码都是完全函数依赖。 (2)所有非主属性对每一一个不包 含它的码,也是完全函数依赖。 (3)没有任何属性完全函数依赖于非码的任何一组属性.
4NF
[定义7.14]关系模式R∈1NF, 若对于R的每个非平凡多值依赖X-→→Y且Y$X时, X必含有码,则关系模式R(U,F)∈4NF。 4NF是限制关系模式的属性间不允许有非平凡且非函数依赖的多值依赖。
注意
函数依赖最高的规范化程度:BCNF
多值依赖最高的规范化程度:4NF
连接依赖5NF
Armstory公理系统
Armstory公理系统

模式分解及分解后的特性
SQL语言
数据库语言
SQL概述
数据库定义
数据查询
Select
数据定义
Create
表的创建
实体完整性约束(PRIMARY KEY)
参照完整性约束
Reference 表名(属性名)
Foreign Key (属性名) References 表名(属性名) [ON DELETE [CASCADE | SET NULL]]
ON DELETE CASCADE表示删除被参照关系的元组时,同时删除参照关系中的元组
ON DELETE SET NULL表示删除被参照关系的元组时,将参照关系的相应属性值置为空值。
属性值上的约束
NULL
UNIQUE
NOT NULL UNIQUE
与属性列后面的PRIMARY KEY可互换
CHECK
Drop
删除表
Alter
修改表 语句格式: ALTER TABLE <表名> [ADD <新列名><数据类型> [列级完整性约束条件]] [DROP <完整性约束名>] [Modify <列名><数据类型>]) ; 如: ALTER TABLE S ADD Zap CHAR(6) ; //在表S中新增一列ZAP,该列的数据为空 ALTER TABLE S MODIFY Status INT; //将表S的Status属性的数据类型更改为INT ALTER TABLE S ADD Constraint C_ cno CHECK(......) //在表S中 新增CHECK约束,取名为C_ cno
数据操纵
Insert
Update
Delete
数据控制
Grant
Revoke
数据操作
SELECT基本结构
FROM -> WHERE -> GROUP BY -> SELECT -> ORDER BY
简单查询
连接查询
子查询
嵌套查询
IN | NOT IN
EXISTS | NOT EXISTS
聚集函数
集函数
AVG
MIN
MAX
SUM
COUNT
谓词
ANY
ALL
分组查询
GROUP BY
HAVING
排序
order by
ASC(默认升序)
DESC(默认降序)
字符串操作
Like
%
匹配任意长度字符串
_
匹配任意一个字符
escape
escape '\'
集合操作
UNION(并)、UNION ALL(不去掉重复行)
INTERSECT(交)
EXCEPT(差)
外连接
LEFT JOIN(左外连接)
SELECT ... FROM ... LEFT JOIN 左表名 ON 连接条件
RIGHT JOIN(右外连接)
FULL JOIN(全外连接)
INSERT INTO语句
向表中插入新的行 格式:INSERT INTO 表名 VALUES (值1, 值...) INSERT INTO 表名(列名1,列名2...) VALUES (值1,值...)
DELETE语句
DELETE语句用于删除表中的行。 语句格式: DELETE FROM 表名 WHERE 条件表达式 也可以删除表中的所有数据: DELETE FROM 表名
UPDATE语句
UPDATE语句用于修改表中的数据。 语句格式: UPDATE 表名 SET 列名=新值 WHERE 条件表达式 例: UPDATE SC SET Grade = 90 WHERE ; Sno=' 3001' AND Cno='C2
完整性约束
授权与销权
GRANT
语句格式: GRANT 权限 ON TABLE/DATABASE 表名/数据库名 TO 用户1,用户2... /PUBL IC [WITH GRANT OPT 10N] ; PUBLIC:表示将权限授予所有人 WITH GRANT OPTION: 表示获得了这个权限的用户还可以将权限赋给其他用户。
REVOKE
语句格式: REVOKE 权限 ON TABLE/DATABASE表名/数据库名 FROM 用户1,用户2... /PUBL IC [RESTRICT | CASCADE] ; RESTRICT:表示只收回语句中指定的用户的权限 CASCADE:表示除了收回指定用户的权限外,还收回该用户赋予的其他用户的权限。
创建与删除触发器
CREATE TRIGGER 触发器名称[BEFORE| AFTER] [DELETE | INSERT | UPDATE OF列名] //触发事件 ON 表名 [REFERENCING <临时视图名>] [FOR EACH ROW | FOR EACH STATEMENT] [WHEN <触发条件>] //WHEN后面跟触发条件,指明当什么条件满足时,执行下面的触发动作 BEGIN <触发动作> //BEGIN... END中定义触发动作,即当触发条件满足时,需要数据库做什么 END [触发器名称] BEFORE/AFTER:指明是在执行触发语句之前激发触发器还是执行触发语句之后激发触发器。 DELETE:当一个DELETE语句从表中删除行时激发触发器。 INSERT:当一个INSERT语句向表中插入行时激发触发器。 UPDATE/UPDATE OF(列名):当UPDATE修改表中的值时,激发触发器,也可加(OF 列名)指定是某一列的值被修改时激发触发器。 REFERENCING:触发器运行过程中,系统会生成两个临时视图,分别存放更新前和更新后的值,对于行级触发器,为OLD ROW 和NEW ROW,对于语句级触发器,为OLD TABLE和NEW TABLE。 REFERENCING new row AS nrow / REFERENCING old row AS orow, FOR EACH ROW:表示为行级触发器,对每一个被影响的元组(即每一行) 执行一次触发过程。 FOR EACH STATEMENT:表示为语句级触发器,对整个事件只执行一次触发过程,为默认方式。
嵌入式SQL
EXEC SQL
存储过程
CREATE PROCEDURE存储过程名(INJOUT|IN OUT参数1数据类型,INIOUT|IN OUT参数2数据类型...) [AS] //参数的数据类型只需要指明类型名即可,不需要指定宽度。具体宽度由外部调用者决定 BEGIN <SQL语句> END
SQL-99所支持的对象模型
非关系型数据库NoSQL
相关理论
CAP理论
分布式系统中,三个特点最多三选二
一致性
可用性
分区容忍性
ACID理论
传统关系型数据库
原子性
强一致性
隔离性
持久性
BASE理论
非关系性数据库
基本可用
软状态
弱一致性/最终一致性
NoSQL数据库的种类
系统开发和运行知识
软件工程基础知识
软件生存周期
软件生存周期模型
瀑布模型
它是以文档作为驱动、适合于软件需求很明确的 软件项目的模型。 
增量模型

演化模型
螺旋模型
结合瀑布模型和演化模型
制定计划
风险分析
实施工程
用户评估
喷泉模型
喷泉模型是一-种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的开发方法。 
典型的软件开发方法
结构化开发方法
原型化开发方法
面向对象开发方法
敏捷方法
极限编程
水晶法
并列争求法
自适应软件开发
软件项目管理
成本估算
成本估算方法
自顶向下估算方法
自底向上估算方法
差别估算方法
其他估算方法
专家估算法
类推估算法
算式估算法
成本估算模型
Putnam模型
COCOMO模型
基本COCOMO模型
中级COCOMO模型
详细COCOMO模型
风险分析
风险识别
风险预测
风险评估
风险控制
进度管理
Gantt图
PERT图
人员管理
主程序员组
主程序员
后备程序员
资料员
程序员
无主程序员组
层次式程序员组
系统分析基础知识
系统分析概述
系统分析的任务
系统分析的主要阶段
范围分析阶段
问题分析
需求分析
逻辑设计
决策分析
需求分析
需求分析的任务
需求的分类
功能需求
非功能需求
设计约束
结构化分析方法(SA)
数据流图(DFD)
数据字典(DD)
加工逻辑的描述
面向对象分析方法
面向对象的基本概念
对象
消息
类
继承
多态
在收到消息时,对象要予以响应。不同的对象收到同一消息可以产生完全不同的结果,这 现象叫作多态(polymorphism) 。 
动态绑定
绑定是在编译时进行的,叫作静态绑定。动态绑定则是在运行时进行的。
统一建模语言(UML)概述
UML中的图
面向对象分析
认定对象
组织对象
对象间的相互作用
基于对象的操作
系统设计基础知识
系统设计内容和步骤
概要设计的基本任务
设计软件系统总体结构
数据结构及数据库设计
编写概要设计文档
评审
详细设计的基本任务
系统设计的基本原理
抽象
模块化
信息屏蔽
模块独立
高内聚、低耦合,提高模块的独立性。
耦合
耦合性是指模块之间联系的紧密程度。耦合性越高,则模块的独立性越差。 模块间耦合的高低取决于模块间接口的复杂性、调用的方式及传递的信息。
无直接耦合
模块间耦合性最弱,模块独立性最高。
数据耦合
标记耦合
控制耦合
公共耦合
内容耦合
这是程度最高的耦合。
内聚
内聚是指模块内部各元素之间联系的紧密程度,例如一个完成多个功能的模块的内聚度就 比完成单-功能的模块的内聚度低。内聚度越低,模块的独立性越差。
偶然内聚
内聚性最弱
逻辑内聚
时间内聚
通信内聚
顺序内聚
功能内聚
内聚性最强
结构化设计方法(SD)
面向对象设计方法
系统测试基础知识
系统测试的概念
软件测试策略
单元测试
集成测试
确认测试
系统测试
软件测试方法
静态测试
动态测试
黑盒测试法(功能测试)
等价类划分
有效等价类
无效等价类
边界值分析
错误推测
因果图
白盒测试法(结构测试)
逻辑覆盖
语句覆盖
判定覆盖
条件覆盖
判定/条件覆盖
条件组合覆盖
路径覆盖
循环覆盖
基本路径测试
系统运行与维护基础知识
系统维护概述
系统评价
软件开发方法新进展
面向方面的方法
软件复用与构件化方法
服务化方法
数据库设计
数据库设计概述
数据库应用系统的生命期
数据库规划
需求描述与分析
数据库与应用程序设计
数据库设计
对用户数据的组织和存储设计
应用程序设计
应用程序设计是在数据库设计基础上对数据操作及业务实现的设计,包括事务设计和用户界面设计。
数据库设计实现
测试
运行维护
数据库设计的一般策略
自顶向下
自底向上
数据库设计的基本步骤
用户需求分析
概念结构设计
逻辑结构设计
物理结构设计
数据库实施阶段
数据库运行和维护阶段
系统需求分析
需求分析的任务、方法和目标
任务
方法
目标
信息要求
处理要求
系统要求
需求分析阶段的文档
数据流图(DFD)
DFD不仅指出了数据的流向,而且还指出了需要进行的事务处理
数据字典(DD)
数据字典(Data Dictionary, DD)是各类数据描述的集合,它是关于数据库中数据的描述,即 元数据,而不是数据本身。如用户将向数据库中输入什么信息,从数据库中要得到什么信息,各类 信息的内容和结构,信息之间的联系等。
数据项
数据项描述= {数据项名,数据项含义说明,别名,数据类型,长度, 取值范围,取值含义,与其他数据项的逻辑关系}
数据结构
数据结构描述= {数据结构名,含义说明,组成: {数据项或数据结构} }
数据流
数据流描述= {数据流名,说明,数据流来源,数据流去向, 组成: { 数据结构},, 平均流量,高峰期流量}
数据存储
数据存储描述= {数据存储名,说明,编号,流入的数据流,流出的数据流, 组成: { 数据结构},数据量,存取方式}
处理过程
处理过程描述={处理过程名,说明,输入:{数据流},输出:{数据流}, 处理: {简要说明} }
说明性表格
统计输出表
系统功能结构图
案例分析
概念结构设计

概念结构设计策略与方法
概念结构设计的目标是产生反映系统信息需求的数据库概念结构,即概念模式。
策略
自顶向下
自底向上
逐步扩张
混合策略
方法:E-R方法
使用E-R方法,无论是哪种策略,都要对现实事物加以抽象认识,以E-R图的形式描述出 来。对现实事物抽象认识的三种方法分别是分类、聚集和概括。
分类
类型
聚类
类型的属性
概括
由一种已知类型定义新的类型
超类
已知类型
子类
新定义的类型,子类是超类的子集
用E-R方法建立概念模型
E-R图的设计要依照上述的抽象机制,对需求分析阶段所得到的数据进行分类、聚集和概括,确定实体、属性和联系。
步骤
选择局部应用
逐一设计分E-R图
现实生活中许多事物,作为实体还是属性没有明确的界定,这需要根据具体情况而定,一 般遵循以下两条准则:. (1)属性不可再分,即属性不再具有需要描述的性质,不能有属性的属性。 (2)属性不能与其他实体发生联系,联系是实体与实体间的联系。
E-R图合并
冲突类型
属性冲突
(1)属性冲突:同一属性可能会存在于不同的分E-R图中,由于设计人员不同或是出发点不 同,对属性的类型、取值范围、数据单位等可能会不一致, 这些属性数据将来只能以一种形式在 计算机中存储,这就需要在设计阶段进行统一 。
命名冲突
(2)命名冲突:相同意义的属性,在不同的分E-R图上有着不同的命名,或是名称相同的属性在不同的分E-R图中代表着不同的意义,这些也需要进行统一。
结构冲突
(3)结构冲突:同一实体在不同的分E-R图中有不同的属性,同一对象在某一分E-R图中 被抽象为实体而在另一分E-R图中又被抽象为属性。对于这种结构冲突问题需要统--。
合并过程优化
实体类型的合并
冗余属性的消除
冗余联系的消除
逻辑结构设计
E-R图向关系模式的装换
实体向关系模式的转换
联系向关系模式的转换
一对一联系的转换
通常一对一联系不需要将其转换-一个独立的关系模式,只需要将联系归并到关联的两个实体的任一方,给待归并的一方实体属性集中增加另一方实体的码和该联系的属性即可,归并后的实体码保持不变。
一对多联系的转换
通常一对多联系也不需要将其转换为一个独立的关系模式,只需要将联系归并到关联的两个实体的多方,给待归并的多方实体属性集中增加一方实体的码和该联系的属性即可,归并后的多方实体码保持不变。
多对多联系的转换
多对多联系只能转换成一个独立的关系模式,关系模式的名称取联系的名称,关系模式的属性取该联系所关联的两个多方实体的码及联系的属性,关系的码是多方实体的码构成的属性组。
关系模式的规范化
根据语义确定各关系模式的数据依赖
根据数据依赖确定关系模式的范式
如果关系模式不符合要求,要根据关系模式的 分解算法对其进行分解,达到3NF、BCNF或4NF.
关系模式的评价及修正
反规范化
确定完整性约束
用户视图的确定
应用程序设计
结构化设计方法
面向对象设计方法
数据库的物理设计
数据库物理设计工作过程
数据的基本单位是记录,记录是以文件的形式存储的
数据库物理设计工作步骤
确定数据分布
确定数据的存储结构
确定数据的访问方式
存储记录结构设计
存储记录布局
存储方法的设计
存储结构
检索机制
在数据库中建立存取路径最普遍的方法是建立索引。
数据库系统的实施阶段
数据库运行维护与管理
制定数据库系统的运行计划
制定运行策略
确定数据库系统监控对象和监控方式
数据库系统管理计划
数据库系统的运行和维护
监控数据的收集与分析
稳定运行中的业务持续性
数据库维护
对数据库性能的监测和改善
数据库的备份及故障恢复
数据库重组和重构
修改属性列名或数据类型
增加和删除属性
约束的修改
表的分解
表的合并
数据库系统的运行统计
数据库系统的审计
记录数据库资源和权限的使用情况
审计是被动,只能跟踪对数据库的修改,不能防止
审计功能的开启会影响系统的性能
数据库系统的管理
数据字典的管理
数据完整性维护和管理
数据库的存储管理
备份和恢复
并发控制与死锁管理
数据安全性管理
性能调整
SQL语句的编码检验
(1)尽可能地减少多表查询或建立物化视图。
(2)以不相关子查询替代相关子查询。
(3)只检索需要的列。
(4) 用带IN的条件子句等价替换OR子句。
(5)经常提交COMMIT,以尽早释放锁。
表设计的评价
在设计阶段,我们提出了关系模式的设计应当符合3NF或BCNF,目的是减少数据冗余和 消除操作异常。但在数据库系统运行过程中,需要根据实际情况对表进行调整。调整的原则主 要有如下三个方面: (1)如果频繁的访问是对两个相关的表进行连接操作,则考虑将其合并。 (2)如果频繁的访问只是在表中的某一部分字段上进行,则考虑分解表,将该部分单独作 为一个表。 (3)对于更新很少的表,引入物化视图。物化视图(Materialized View)是一种特殊的物 理表,物化视图是相对普通视图而言的。普通视图是虚拟表(不存放数据的表),任何对视图 的查询,都需要转换为对应的SQL语句进行查询。
索引维护和改进
在数据库运行期间,数据库系统管理员(DBA)必须对数据库的索引进行维护和改进。这 是因为用户频繁地对数据进行增加、删除、修改等操作使得索引页发生碎块,所以DBA必须 对索引进行维护。另外,DBA可针对具体的情况,对系统中的索引进行改进以提高性能,即可 以适当地调整索引。调整索引的原则主要有如下四个方面: (1)如果查询是瓶颈,则在关系上建立适应的索引,通常在作为查询条件的属性上建立索 引,可以提高查询效率。 (2)如果更新是瓶颈,每次更新都会重建表上的索引,引起效率的降低,则考虑删除某些 索引。 (3)选择适当的索引类型,如果是经常使用范围查询,则B树索引比散列索引更高效。 (4)将有利于大多数据查询和更新的索引设为聚簇索引。
设备增强
用户支持
用户培训
售后服务
事务管理
事务的基本概念
事务
概述
事务(Transaction) 是一系列的数据库操作,是数据库应用程序的基本逻辑单位,即应用 程序对数据库的操作都应该以事务的方式进行。 事务是一个操作序列,这些操作“要么都做,要么都不做”,是数据库环境中不可分割的 逻辑工作单位。事务和程序是两个不同的概念,一般一个程序可包含多个事务。
事务定义语句
BEGIN TRANSACTION:事务开始
END TRANSACTION:事务结束
COMMIT:事务提交
该操作表示事务成功地结束,它将通知事务管理器该事务的所 有更新操作现在可以被提交或永久地保留。
ROLLBACK:事务回滚
该操作表示事务非成功地结束,它将通知事务管理器出故障了, 数据库可能处于不一致状态,该事务的所有更新操作必须回滚或撤销。
SQL中事务的开始与结束
Commit work: 提交当前事务
(1) Commit work: 提交当前事务。这意味着将该事务所做的更新在数据库中永久保存。 一旦事务被提交后,一个新的事务自动开始。
Rollback work:回滚当前事务
这意味着将撤销该事务对数据库的。这样,数据 库恢复到该事务执行第一条语句之前的状态。 若事务已执行了Commit work,就不能用Rollback work来撤销。
事务的特性
ACID特性
原子性(Atomicity)
事务的所有操作在数据库中要么全做要么全都不做。
一致性 ( Consistency)
一个事务独立执行的结果,将保持数据的一致性,即数据不会因为事务的执行而遭受破坏。
隔离性( Isolation)
一个事务的执行不能被其他事务干扰。
持久性(Durability)
一个事务一旦提交,它对数据库的改变必须是永久的,即便系统出现故障 时也是如此。(永久保存到硬盘中)
事务的状态
概述
中止事务
如果不出现故障,那么所有事务都能执行完成。一旦在执行过程中发生故障,不能执行完 成的事务称为中止事务。
事务回滚
将中止事务对数据库的更新撤销称为事务回滚。 中止事务可以回滚,已提交事务不能回滚。
已提交事务
成功执行完成的事务称为已提交事务。
补偿事务
事务一旦提交,就不能中止它,而要撤销已提交事务所造成影响的唯一方法是执行一个补偿事务(Compensating Transaction)。
事务状态
事务的五种状态
活动状态
事务的初始状态,事务执行时处于这个状态。
部分提交状态
(2)部分提交状态:当操作序列的最后一条语句自动执行后,事务处于部分提交状态。 这时,事务虽然已经完全执行,但由于实际输出可能还临时驻留在内存中,在事务成功完成 前仍有可能出现硬件故障,事务仍有可能不得不中止。因此,部分提交状态并不等于事务成 功执行。
失败状态
(3)失败状态:由于硬件或逻辑等错误,使得事务不能继续正常执行,事务就进入了失败状 态。处于失败状态的事务必须进行回滚(ROLLBACK)。这样,事务就进入了中止状态。
中止状态
事务回滚并且数据库恢复到事务开始执行前的状态。
重启事务
杀死事务
提交状态
(5)提交状态:当事务成功完成后,称事务处于提交状态。只有事务处于提交状态后,才 能说事务已经提交。
事务的状态转换
数据库的并发控制
所谓并发操作,是指在多用户共享的系统中,许多用户可能同时对同一数据进行操作。 并发操作带来的问题是数据的不一致性,主要有三类:丢失修改、不可重复读和读脏数据。 其主要原因是事务的并发操作破坏了事务的隔离性。 DBMS的并发控制子系统负责协调并发事务的执行, 保证数据库的完整性不受破坏, 避免用户得到不正确的数据。
事务调度
串行调度
串行调度(serial schedule)是指多个事务依次串行执行,且只有当一个事务的所有操作都 执行完后才执行另一个事务的所有操作。 只要是串行调度,执行的结果都是稳定的和正确的。对于N个事务,最多有N!种正确的串行调度。
并发调度
并发调度(concurent schedule) :利用分时的方法同时处理多个事务。
可恢复调度
可恢复调度(recoverable schedule) 应满足:当事务Tj要读事务Ti写的数据时,事务Ti 必须要先于事务Tj提交。
并发操作带来的问题
在事务并行处理的过程中,因为多个事务对相同数据的访问,干扰了 其他事务的处理,产生了数据的不一致性,这是因事务的隔离性被破坏。
丢失修改
两个事务对同一个数据进行修改,导致事务A对数据库的 修改被事务B的修改所覆盖。
不可重复读
事务对同一数据进行两次读取的结果不同。原因是两 次读取的间隙数据被另一事务修改了。
读脏数据
某事务读取的数据是其它事务修改后的值,但该修改后 来又被撤销了。
并发调度的可串行性
可串行化的调度
多个事务的并发执行是正确的,当且仅当其结果与某一次序串行地执行它们时的结果相 同,称这种调度策略是可串行化的调度(serializability schedule)。 可串行性是并发事务正确性的准则,按这个准则规定,一个给定的并发调度,当且仅当它 是可串行化的才认为是正确调度。
冲突可串行化
冲突等价(conflict equivalent) :如果调度S经过一系列非冲突命 令交换成S*,则称S与 s*是冲突等价的。 冲突可串行化( conflict serializable) :若调度S与一个串行调度S'冲突等价,则S是冲突 可串行化的。
冲突可串行化判定
并发控制技术
加锁
排它锁(X锁、写锁)
1、排它锁(Exclusive Locks, 简称X锁):也称为写锁,用于对数据进行写操作时进行锁定。如果事 务T对数据A加上X锁后,就只允许事务T对数据A进行读取和修改,其他事务对数据A不能再加任何锁, 也不能读取和修改数据A,直到事务T释放A上的锁。
共享锁(S锁、读锁)
2、共享锁(Share Locks,简称S锁):也称为读锁,用于对数据进行读操作时进行锁定。如果事务T 对数据A加上了S锁后,事务T就只能读数据A但不可以修改,其他事务可以再对数据A加S锁来读取, 只要数据A上有了S锁,任何事务都只能再对其加S锁读取而不能加X锁修改。
两端锁技术
封锁协议
一级封锁协议
(1) 一级封锁协议:是事务T在修改数据A之前必须先对其加X锁,直到 事务结束才释放X锁。一级封锁协议使得在一个事务修改数据期间, 其他事务不能对该数据进行修改,只能等到该事务结束,解决了丢失修改的问题。
二级封锁协议
(2)二级封锁协议:是一级封锁协议加上事务T在读取数据A之前必须对其加 上S锁,读完后即可释放S锁。 二级封锁协议使得一个事务不能读取被其他事务修改中的数据。解决了 读脏数据的问题。 但是,如果事务T在读取数据A之后,其他事务再对A做完修改,事务T 再读取A,还会产生不可重复读的错误。
三级封锁协议
(3)三级封锁协议:是一 级封锁协议加上事务T在读取数据A之前必须 对其加上S锁, 直到事务结束才释放S锁。三级封锁协议使得一个事务读取数据期间, 其他事务只能读取该数据而不能修改,解决了不可重复读的问题。
两段锁协议
两段锁协议(2PL):是指同一事务对任何数据进行读写之前必须对该数据加锁; 在释放一个封锁之后,该事务不再申请和获得任何其他封锁。 所谓“两段”的含义是:事务分为两个阶段。第一阶段是获得封锁,也称为扩展 阶段。第二阶段是释放封锁,也称为收缩阶段。(一次性申请封锁,一次性释放)
两段锁协议
获得封锁,扩展阶段
释放封锁,收缩阶段
两段锁协议与可串行化
如果事务遵循两段锁协议,那么它们的并发调度是可串行化的。两段锁是可串行 化的充分条件,但不是必要条件。即:遵循两段锁协议,一定是可串行化的;不 遵循两段锁协议,可能是可串行化的,也可能不是。 注意:采用两段锁协议也有可能产生死锁,这是因为每个事务都不能及时解除被 封锁的数据,可能会导致多个事务都要求对方已经封锁的数据而不能继续运行。
活锁与死锁
所谓活锁,是指当事务T1封锁了数据R,事务T2请求封锁数据R, 于是T2等待,当T1释放了R上的封锁后,系统首先批准了T3请求, 于是T2仍等待,当T3释放了R上的封锁后,又批准了T4请求, 依此类推,使得T2可能永远等待的现象。 所谓死锁,是指两个以上的事务分别请求封锁对方已经封锁的数据, 导致长期等待而无法继续运行下去的现象。(互相等对方解锁)
多粒度封锁协议
封锁的粒度
意向锁
多粒度封锁协议
事务的隔离级别
READ UNCOMMITTED (读未提交) :最低级别,任何情况都无法保证。
READ COMMITTED (读已提交) :可避免读脏数据。
REPEATABLE READ (可重复读) :可避免读脏数据,不可重复读。
SERIALIZABLE (串行化) :最高级别,可避免读脏数据、不可重复读、幻读。
幻读:事务A查询得到N条数据,然后事务B又插入了M条数据,或者改变了这N条数 据之外的M条符合事务A搜索条件的数据,导致事务A再次搜索发现有N+M条数据了, 就产生了幻读。(查询结果的条数不同)
案例分析
数据库的备份与恢复
数据库系统故障种类
事务故障
事务故障:是由于程序执行错误而引起事务非预期的、异常终止的故障。
逻辑错误
如非法输入、找不到数据、溢出、超出资源限制等原因引起的事务执行失败。
系统错误
系统进入一种不良状态(如死锁),导致事务无法继续执行。
系统故障
是指硬件故障、软件( 如DBMS、OS或应用程序)漏洞的影响, 导致丢失了内存中的信息,影响正在执行的事务,但未破坏存储 在外存上的信息。(硬盘、磁盘数据不会丢失)
介质故障
是指数据库的存储介质发生故障,如磁盘损坏、瞬间强 磁场干扰等。这种故障直接破坏了数据库,会影响到所有 正在读取这部分数据的事务。
数据库备份
数据转储是将数据库自制到另一个磁盘或磁带上保存起来的过程,又 称为数据备份。
静态转储和动态转储
静态转储是指在转储期间不允许对数据库进行任何存 取、修改操作; 动态转储是在转储期间允许对数据库进行存取、修改操作, 因此,转储和用户事务可并发执行。
海量转储和增量转储
海量转储是指每次转储全部数据; 增量转储是指每次只转储上次转储后更新过的数据。
日志文件
在事务处理的过程中,DBMS把事务开始、事务结束以及对数据库 的插入、删除和修改的每-次操作写入日志文件。
数据库镜像
为了避免磁盘介质出现故障影响数据库的可用性,许多DBMS提 供数据库镜像功能用于数据库恢复。
数据库恢复
要使数据库在发生故障后能够恢复,必须建立冗余数据,在故障发生后利用这些冗余数据实施数据 库恢复,常用的是数据转储和日志文件。
故障恢复的两个操作
撤销事务(UNDO)
撤销事务(UNDO):将未完成的事务撤销,使数据库恢复到事务执行前的正确状态。 撤销事务的过程: 反向扫描日志文件(由后向前扫描), 查找事务的更新操作; 对该事务的更新操作执行逆操作, 用日志文件记录中更新前的值写入数据库, 插入的记录从数据库中删除, 删除的记录重新插入数据库中; 继续反向扫描日志文件, 查找该事务的其它更新操作并执行逆操作直至 事务开始标志。
重做事务(REDO)
重做事务(REDO):将已提交的事务重新执行。 重做事务的过程: 从事务的开始标志起,正向扫描日志文件, 重新执行日志文件登记的该事务对数据库的所有操作, 直至事务结束标识。
故障恢复策略
事务故障的恢复
(1)事务故障的恢复:事务故障是事务在运行至正常终止点(SUMMIT或 ROLLBACK) 前终止,日志文件只有该事务的开始标识而没有结束标识。 对这类故障的恢复通常是通过撤销(UNDO)产生故障的事务, 使数据库恢复到该事务执行前的正确状态来完成的。 具体做法: 1、反向扫描日志文件,查找该事务的更新操作。 2、对事务的更新操作执行逆操作。 3、继续反向扫描日志文件,查找该事务的其他更新操作,并做同样的处理,直到事务的开始标志。 注:事务故障的恢复是由系统自动完成的,对用户是透明的(不需要用户参与)。
系统故障的恢复
(2)系统故障的恢复:系统故障会使数据库的数据不一致: 一是未完成的事务对数据库的更新可能已经写入数据库; 二是已提交的事务对数据库的更新可能还在缓冲区没来得及写入数据库。 (破坏了事务的持久性) 因此对于系统故障,恢复操作是UNDO+REDO : 1、撤销故障发生时未完成的事务(UNDO) 。 2、重做已经提交的事务(REDO)
只需要日志文件
介质故障的恢复
(3)介质故障的恢复:介质故障时数据库遭到破坏,需要重装数据库, 一般需要系统管理员DBA的参与,装载故障前最近一次的 备份和故障前的日志文件副本, 再按照系统故障的恢复过程执行撤销(UNDO)和重做(REDO) 来恢复。
检查点机制(CHECKPOINT)
检查点机制(CHECKPOINT): 在日志中设置检查点,当发生故障需要利用 日志文件恢复时,反向扫描日志文件,找到检查点, 确认检查点时刻正在执行的事务(活动事务), 即检查点前有事务开始标志但没有事务结束标志。 对于检查点后提交的事务,执行RED0 (重做) 对于检查点后未提交的事务,执行UND0 (撤销)
数据库的安全性与完整性
数据库的安全性
数据库安全性( data base security)指保护数据库不受恶意访问。 以防止不合法的使用所造成的数据泄漏、更改或破坏;
安全性违例
恶意访问的形式
未经授权读取数据(窃取信息)
未经授权修改数据
未经授权破坏数据
安全性措施
数据库系统层次
数据库系统用户授权
操作系统层次
网络层次
物理层次
人员层次
授权
授权与视图
权限的授予
角色
审计追踪
数据加密
数据传输加密技术
数据存储加密技术
数据完整性鉴别技术
密钥管理技术
数据库的完整性
数据库的完整性是指数据的正确性和相容性。
云计算与大数据处理
云计算基础知识
该标准定义:云计算是一种将可伸缩、 弹性、共享的 物理和虛拟资源池以按需自服务的方式供应和管理, 并提供网络访问的模式。
云计算的关键特征
国际标准ISO/IEC 17788
关键特征
广泛的网络接入
可测量的服务
多租户
按需自服务
快速的弹性和可扩展性
资源池化
其他关键特征
虚拟化技术
可靠性高
性价比高
云计算分类
根据云部署模式和云应用范围分类
公用云
社区云
私有云
混合云
根据云计算的服务层次和服务类型分类

基础设施即服务( Infrastructure as a Service, laaS)
平台即服务( Platform as a Service,PaaS)
软件即服务( Software as a Service,SaaS)
云计算技术
虚拟化技术

Hypervisor模型
宿主模型
混合模型
分布式数据存储
分布式数据存储技术包含非结构化数据存储和结构化数据存储。 非结构化数据存储主要采用文件存储和对象存储技术, 而结构化数据存储主要采用分布式数据库技术,特别是 NoSQL数据库。
分布式文件系统
分布式对象存储
分布式数据库管理
并行计算
任务划分
任务调度
自动容错处理机制
恢复机制
任务重做(Task Re-execute)
检查点(Checkpoint)回滚方式
运营支撑管理
负载管理和监控
计量计费
服务计量
资源的衡量维度
应用流量
外部请求响应次数
CPU时间
数据存储所占据的存储空间
内部服务API调用次数
云计算实施
云方案参考架构
云计算实施路线
组建团队
制定业务案例和云战略
选择云部署模式
明确云服务的服务方
制定和管理SLA
管理云环境
云服务水平协议实施
( Service-Level Agreement, SLA )
理解角色和责任
评估业务水平策略
了解各种服务模型和部署模型的区别
确定关键性能目标
评估安全和隐私保护要求
明确服务管理需求
为服务故障管理做准备
了解灾难恢复计划
开发有效的管理流程
了解退出流程
云计算的安全性
安全问题和风险
数据安全管理技术
云安全实施
大数据处理基础知识
基本概念
大数据的特征
Variety,多样性
Velocity,速度
Volume,数量
Value,价值
Veracity,真实性
大数据处理技术
数据采集
ETL
ETL ( Extract Transform Load) 用来描述将数据从来源端经过 抽取( extract)、转换(transform)、加载(load) 至目的端的过程。 目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。
网络爬虫
通用网络爬虫
常用的爬行策略有:深度优先策略、广度优先策略。
聚焦网络爬虫
常见的爬行策略有基于内容评价的爬行策略、 基于链接结构评价的爬行策略、 基于增强学习的爬行策略、 基于语境图的爬行策略等。
深层网络爬虫
爬虫工具
Nutch
Scrapy
Larbin
数据分析
机器学习算法
监督学习
回归
分类
基于示例的分类:KNN
基于概念模型的分类:朴素贝叶斯、最大期望算法EM
基于线性模型的分类:SVM
基于决策模型的分类:C4.5、AdaBoost、随机森林
非监督学习
关联规则挖掘
K-means算法
深度学习
BP神经网络
BP神经网络由输入层、隐含层和输出层组成。
卷积神经网络 CNN
循环神经网络 RNN
深度神经网络
大数据分布式计算架构
Apache Hadoop
Apache Spark
Apache Storm
数据解释
数据可视化
大数据应用
智能交通
电子商务
智能制造
数据库主流应用技术2
分布式数据库
分布式数据库的基本概念
运行策略
正常运行策略
分布式数据库系统(DDBS) 每个节点:局部数据库管理系统(LDBMS) 全局数据库管理系统(GDBMS)
分布式数据库特点
场地透明性
分散存储
完全分布式数据库系统条件
分布性:即数据存储在多个不同的节点上。
逻辑相关性:即数据库系统内的数据在逻辑上具有相互关联的特性。
场地透明性:即使用分布式数据库中的数据时不需指明数据所在的位置。
场地自治性:即每一个单独的节点能够执行局部的应用请求。
非正常运行策略
分布式数据库的特点
数据的集中控制
数据独立性
独立性是指数据的组成对应用程序来说是透明的。 应用程序只需要考虑数据的逻辑结构,而不用考虑数据的物理存放, 因而数据在物理组织上的改变不会影响应用程序。
数据冗余可控性
场地自治性
存取的有效性
分布式数据库的体系结构
分布式数据库的模式结构
全局外层
全局概念层
全局概念模式
分片模式
分配模式
局部概念层
局部内层
数据分布
数据分片
分布透明性
分布式数据库管理系统
LDBMS
GDBMS
全局数据字典
通信管理
Web与数据库
XML与数据库
面向对象数据库
面向对象数据库系统的特征
面向对象数据模型
面向对象数据库语言
对象关系数据库系统
大数据与数据库
大数据之数据仓库设计
数据转移技术
数据仓库主要应用场景——联机分析处理(OLAP)
数据库主要应用场景——联机事务处理(OLTP)
NewSQL数据库
NewSQL数据库的发展
TiDB的介绍
标准化和知识产权基础知识
标准化基础知识
知识产权基础知识
知识产权基本概念
知识产权
工业产权
著作权
知识产权的特点
无形性
双重性
确认性
独占性
地域性
时效性
我国保护知识产权的法规
目前,我国已有比较完备的知识产权保护法律体系,保护知识产权的法律主要有《中华人民共和国著作权法》《中华人民共和国专利法》《中华人民共和国继承法》《中华人民共和国合同法》《中华人民共和国商标法》《中华人民共和国反不正当竞争法》《中华人民共和国计算机软件保护条例》等。
计算机软件著作权
计算机软件著作权的主体与客体
主体
公民
法人
其他组织
客体
计算机程序
计算机软件的文档
计算机软件受著作权法保护的条件
独立创作
可被感知
逻辑合理
计算机软件著作权的权利
计算机软件的著作人身权
发表权
开发者身份权
计算机软件的著作财产权
使用权
复制权
修改权
发行权
翻译权
注释权
信息网络传播权
使用许可权和获得报酬权
转让权
软件合法持有人的权利
(1)根据使用的需要把软件装入计算机等能存储信息的装置内。
(2)根据需要进行必要的复制。
(3)为了防止复制品损坏而制作备份复制品。这些复制品不得通过任何方式提供给他人使用,并在所有人丧失该合法复制品所有权时,负责将备份复制品销毁。
(4)为了把该软件用于实际的计算机应用环境或者改进其功能性能而进行必要的修改。但是,除合同约定外,未经该软件著作权人许可,不得向任何第三方提供修改后的软件。
计算机软件著作权的行使
计算机软件著作权的保护期
计算机软件著作权的归属
计算机软件著作权侵权的鉴别
软件著作权侵权的法律责任
计算机软件的商业秘密权
商业秘密
计算机软件商业秘密的侵权
计算机软件商业秘密侵权的法律责任
专利权概述
专利权的保护对象与特征
保护对象:发明创造
子主题
授予专利权的条件
新颖性
创造性
实用性
专利的申请
专利的行使
专利的权限
专利侵权行为
数据库设计与案例分析