软件设计师知识点整理(一)
一、计算机网络
二、操作系统基本原理
四、计算机组成原理与体系结构

软件设计师知识点整理(二)
四、编译原理基础
五、软件工程概述
六、计算机软件法律法规

软件设计师知识点整理(三)
七、系统安全设计与分析
八、数据结构与算法基础
九、数据库系统

七、系统安全分析与设计

信息系统安全属性

保密性:最小授权原则(只给应用维持其基本职能最基本的权限)、防暴露(如在命名时可以将名称设置为乱码)、信息加密(防止信息在传输时被截获后破解)、物理保密
完整性(即保证数据在传输过程中不受损耗):安全协议、校验码、密码校验、数字签名、公证
可用性(只允许合法用户使用这些资源):综合保障(IP过滤、业务流控制、路由控制选择、审计跟踪)
不可抵赖性:数字签名

对称加密技术与非对称加密技术

对称加密技术

image.png
图注:替换:即将替换前后的符号对应关系绘制成为一张表,翻译时直接读表进行替换
3DES更难破解;优点:加密速度快、效率高。缺点:加密强度不高、密钥分发困难

非对称加密技术

image.png
图注:每个人都有自己的公钥,而公钥是明文公开的,大家都知道的,而私钥则是发送方与接受方各自独有且不能被别人知道的,如甲的公钥加密的信息只能由甲的私钥来解密,甲想要把信息发送给乙则可以用乙的公钥加密后再发送给乙,乙收到后再用自己的私钥来解密;该加密方式一般采用1024位加密,因此极为庞大的信息若采用该加密方式则极难解密

信息摘要

防止数据被篡改

1.概念:在信息中,摘要是信息的特征值,原始信息发生变化则特征值会改变。
2.应用:在信息传输中,若A与B进行信息传输,内容被丙截获,进而篡改后再发送给乙,则会造成信息错误,因此,若A在将信息传输给乙时可以同时传输一个摘要,B收到信息后将摘要翻译出并与之比较,则能够判断信息是否被篡改。
3.算法:信息摘要采用的算法是单向散列函数(单向Hash函数),即将明文转换为摘要。而摘要不能转换为明文,常用的信息摘要算法还有MD5、SHA等,市场上广泛使用的MD5,SHA算法的散列值分别为128和160位,由于SHA通常采用的密钥长度较长,因此安全性高于MD5。

数字签名

防止抵赖

用数字化的一种方式给发送者在摘要上签名,证明这个信息是某人发出来的。
是一种防抵赖的技术,可以解决信息摘要中不能解决的一些问题
image.png
图注:私钥在非对称技术中用来解密,在数字签名中则用来签名,B在收到A的信息后用A的公钥解密即验证,则信息发自A是不可抵赖的

数字信封与PGP

数字信封

概念:发送方将原文用对称密钥加密传输,而将对称密钥用接收方公钥加密发送给对方,接收方收到电子信封后,用自己的私钥解密信封,取出对称私钥解密得原文

PGP协议

1.概念:可以用于电子邮件加密,也可以以用于文件存储加密,采用了杂合算法,包括IDEA、RSA、MD5、ZIP数据压缩算法
2.特性:PGP承认两种不同的证书格式:PGP证书和X.509证书;PGP证书包含PGP版本号、证书持有者的公钥、证书持有者的信息、证书拥有者的数字签名、证书的有效期、密钥首选的对称加密算法。
3.X.509证书:包含证书版本、证书的序列号、签名算法标识、证书有效期、以下数据:证书发行商的名称、证书主体名、主体公钥信息、发布者的数字签名。
用户可以通过使用CA的公钥验证CA的签名的真伪来确定一个网站的合法性

第1~4节练习题

要求邮件以加密方法传输,邮件最大附件内容可达500MB,发送者不可抵赖,若邮件被第三方截获,第三方无法篡改
答:发送方A(公钥:Ea,私钥:Da) 接收方B(公钥:Eb,私钥:Db)
(1)A用随机密钥将明文加密(对称加密技术)
(2)A再用B的公钥Eb将随机密钥加密
(3)A用自己的私钥将明文的摘要签名
(4)A将被签名的摘要与加密后的信息传输给B
(5)B用B的私钥将A的随机密钥解密出来,并使用随机密钥读取正文
(6)B将正文提取摘要并用A的公钥解密A的摘要(若成功解密,则A发送该信息不可抵赖),然后将两个摘要进行对比,若相同,则证明整个过程中信息未被篡改

各个网络层次的安全保障

image.png
图注:从第二层开始实行协议保障安全,IPSec是对IP包进行加密的协议
SSH:是建立在应用层基础上的安全协议,SSH是目前较为可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题
SSL:SSL是为网络通信提供安全及数据完整性的一种安全协议,在传输层对网络连接进行加密,目前被广泛地用于Web浏览器与服务器之间的身份认证和加密数据传输。

网络安全

网络攻击的分类

网络攻击可以分为主动攻击和被动攻击两种
1.主动攻击:包含攻击者访问他所需信息的故意行为。比如通过远程登陆到特定机器的邮件端口以找出企业邮件服务器的信息;伪造无效IP地址去连接服务器,使接受到错误IP地址的系统浪费时间去连接哪个非法地址。攻击者是在主动地做一些不利于你或你的公司系统的事情,主动攻击包括:拒绝服务攻击、分布式拒绝服务、信息篡改、资源使用、欺骗、伪装、重放等攻击方式
2.被动攻击:主要是收集信息而不是进行访问,数据的合法用户对这种活动一点也察觉不到。被动攻击包括嗅探、信息收集等攻击方式

常见的网络威胁

image.png
image.png
图注:DOS攻击主要破坏了系统的可用性,使系统无法合法的使用相应的资源;业务流分析和窃听的区别在于业务流分析侧重长期监听、信息的分析,而窃听则只是获取信息
kerberros系统通常在报文中加入时间戳来防止ARP攻击

防火墙技术

image.png
图注:防火墙技术大体可分为网络级和应用级的防火墙技术,其中网络级的防火墙层次较低,但效率比较高,主要做法是拒绝接受指定IP段的信息,不管其内容;应用级防火墙则是层次较高,效率较低,主要做法是:不论信息的来源而直接将信息开箱进行检查,若有问题则拒绝接收;被屏蔽子网(DMZ)则是一块既不属于内网也不属于外网的隔离区,其目的是为了防止防火墙内部的攻击
防火墙最重要的特性就是利用设置的条件,监测通过的包的特征来决定放行或者阻止数据,同时防火墙一般架设在提供某些服务的服务器前,具备网关的能力,用户对服务器或内部网络的访问请求与反馈都需要经过防火墙的转发,相对于外部用户而言防火墙隐藏了内部网络结构。防火墙作为一种网络安全设备,安装有网络操作系统,可以对流经防火墙的流量信息进行详细的日志和审计

八、数据结构与算法基础

数组

image.png

稀疏矩阵

image.png

数据结构

1.数据结构的概念:数据结构即计算机存储、组织数据的方式
2.数据逻辑结构:分为线性结构与非线性结构;非线性结构又可以分为树型结构(不存在环路)和“图”(可能存在环路)。

顺序存储与链式存储比较

image.png

队列和栈

image.png

广义表

考察广义表的长度计算、深度计算、head及tail运算

概念

  1. 概念:广义表是n个表元素组成的有限序列,是线性表的推广,通常用递归的形式进行定义,即表里面可以包含表(嵌套)

  2. 表示:LS=(a0,a1…….,an)。注:其中LS是表名,ai是表元素,它可以是表(称作子表),也可以是数据元素(也称原子).其中n是广义表的长度(最外层包含的元素个数),n=0的广义表为空表;而递归定义的重数就是广义表的深度,直观的说,就是定义中嵌套的次数(原子的深度为0,空表的深度为1)

广义表涉及的运算

1.head运算:即“取表头”(表头就是最外层的第一个表元素)
2.tail运算:即取“表尾”(表尾就是除了表头以外的所有其他元素组成的新广义表)

树和二叉树

image.png
结点:图中的1、2、3….数字圆形都表示结点,
结点的度:指一个结点所有的孩子结点数(如结点1的度就是2,结点3的结点度即为1),
树的度:即一个树当中,结点的度最高的那个结点的度数;
叶子结点:如7、8等没有孩子结点的结点都称之为叶子结点;
分支结点:即有分支的结点
内部结点:非叶子结点又非根节点(最上面的那个结点)
父节点和子节点:这是一个相对概念,如2就是4的父节点,4就是2的子节点
兄弟结点:同属于一个父节点的子节点间称之为兄弟结点
层次:行数即为层次,该图中的层次即为4

image.png

B树和B+树

B-树是B-Tree(Balance Tree)的简称,也称平衡树,注意,此处的“-”是连字符,并不是“减号”。所谓的平衡,就是指它的所有叶子结点都位于同一层次上。B树的阶是指其中结点的最大孩子数,因此一棵m阶B-树中的任何一个结点最多有m棵子树。B-树结点中的关键字,在该结点的内部都是有序排列的,叶子与叶子之间并不相连。B+树的叶子结点中包含了父结点中的关键字以及指向相邻节点的指针。
链接:

树转二叉树

孩子结点 -> 左子树结点
兄弟结点 -> 右子树结点
image.png

查找二叉树

image.png
1.概念:(每一个)根节点的左子树结点的键值都小于根节点,根节点的右子树结点都大于根节点的一类二叉树即被称之为查找二叉树(或排序二叉树)
2.价值:这种二叉树能极大的提高查询的效率和速度
3.插入运算:(1)若该键值已存在,则不再插入
(2)若查找二叉树为空树,则以欲插入的新结点为查找二叉树
(3)将要插入结点键值与插入后父结点键值比较,就能确定新结点的位置是父结点的左子结点,还是右子结点
4.删除结点:(1)若待删除结点是叶子结点,则直接删除
(2)若待删除结点只有一个子结点,则将这个子结点与待删除结点的父结点直接连接
(3)若待删除结点p有两个子结点,则在其左子树上,用中序遍历寻找键值最大的结点s,用结点s的值代替结点p的值,然后删除原结点s,结点s必属于上述(1)或(2)

最优二叉树(哈夫曼树)

image.png

线索二叉树

由于二叉树中有许多结点处于空闲的状态,有许多指针并未被利用,而将其空闲资源利用起来方便遍历则是线索二叉树的由来,线索二叉树根据遍历的分类可以被分成三种线索二叉树:前序二叉树、中序二叉树、后序二叉树
image.png
图注:红线代表推出,绿线代表由来;如图一中二叉树的前序遍历为:ABDEHCFGI;

平衡二叉树

1.概念:任意结点的左右子树深度不能相差超过1,即每结点的平衡度(该结点的左右子树结点的深度之差)只能为-1、0或1
例:对序列{1,5,7,9,8,39,73,88}构造平衡二叉树
image.png
图注:图一和图二都属于排序二叉树,但图一的查询效率远低于图二,因为图一不属于平衡二叉树。而图二属于平衡二叉树

基本概念

图分为有向图和无向图
1.无向图:在该图中,若每一个顶点与其他所有顶点都有一条边相连,则称该图为无向图
2.有向图:若每一个顶点与其他所有顶带都有两条有向边相互联系,则称该图为有向图

邻接矩阵

image.png

邻接表

首先把每个顶点的邻接顶点用链表示出来,然后用一个一维数组来顺序存储上面每个链表的头指针。
image.png

图的遍历

image.png

拓扑排序

1.AOV网络:我们把用有向边表示活动之间开始的先后关系,这种有向图称之为用顶点表示活动网络,简称AOV网络
image.png

最小生成树

1.最小生成树:如图若有a个顶点,则在图中取a-1条边,用这些顶点和边重新构成一个树,而路径值最短的情况下的树即为最小生成树
2.求最小生成树——普利姆算法(最近点法):任选一个结点A并将其标定为红点集,其余所有结点标定为蓝点集,然后将离红点集A距离最短的结点B连接起来并将其也纳入红点集,然后继续寻找蓝点集和红点集之间的最短距离结点并将其纳入红点集,重复该操作直至所有结点被纳入红点集(将结点纳入红点集时注意不能形成环)

取初始点,找短边

3.求最小生成树——克鲁斯卡尔算法(最近边法):任选一条边并将其标定为红点集,其余所有边标定为蓝点集,然后将离红点集边端点距离最短的边连接起来并将其也纳入红点集,然后继续寻找蓝点集和红点集之间的最短距离边并将其纳入红点集,重复该操作直至红点集纳入了结点数-1数量的边(将边纳入红点集时注意不能形成环)

选短边

算法基础

算法的特点

1.有穷性:算法必须在执行有穷步之后结束
2.确定性:算法中每一条指令都必须有确切的含义,不能含糊不清
3.算法必须有0个及以上的输入
4.算法必须有1个及以上的输出
5.有效性:算法的每个步骤都能有效执行并能得到确定的结果。例如a=0,b/a就无效

算法的复杂度

包括时间的复杂度(必考)和空间的复杂度
1.时间复杂度的概念:时间复杂度是指程序运行从开始到结束所需要的时间。
2.时间复杂度的分析:通常分析时间复杂度的方法时从算法中选取一种对于所研究的问题来说是基本运算的操作,以该操作重复执行的次数作为算法的1时间度量。
3.时间复杂度的计算:一般来说,在算法中,原操作重复执行的次数是规模n的某个函数T(n)。由于许多情况下要精确计算T(n)是困难的,因此引入了渐进时间复杂度在数量上估计一个算法的执行时间,其定义如下
如T(n)=3n^3+2n^2+n,则T(n)=O(n^3)
且:O(1)<O(log2n)<O(n)<O(nlog2n)<O(n^2)<O(n^3)<O(2^n)
注:二叉树的复杂度采用O(log2n),循环的复杂度采用O(2^n)
4.空间复杂度:是指对一个算法在运行过程中临时占用存储空间大小的度量。一个算法的空间复杂度只考虑在运行过程中为局部变量分配的存储空间的大小

查找

查找的目的是为了在众多关键值中查找到想要的关键值

顺序查找

顺序查找
1.概念:将待查找的关键字为key的元素从头到尾与表中元素进行比较,如果中间存在关键字为key的元素,则返回成功;否则,则查找失败
2.顺序查找的平均查找长度:n+1/2
3.顺序查找的空间复杂度:O(n)
4.顺序查找的优缺点:方法简单但效率较低

二分查找

不是所有序列都能用二分查找法,能使用该方法的前提是该序列是有序排列的(如从大到小或从小到大)
1.概念:首先将n个有序排列数组的元素最小索引值(非零)和最大索引值相加除以二,然后对其进行向下取整,然后查询该取整后的索引值对应的键值并与待查询键值进行比较,若小于键值则对其右边数组继续使用二分法(从小到大排列的数组中)
2.二分取整的时间复杂度:O(log2n)
3.优势:效率高

散列表

在数据进行存储时遵循一定的规则
1.散列表的概念:散列表查找的基本思想是:已知关键值集合U,最大关键字为m。设计一个函数Hash,它以关键字为自变量x,关键字的存储地址为因变量y,将将关键字映射到一个有限的、地址连续的区间T中,这个区间就称为散列表,散列查找中使用到的转换函数称为散列函数
2.散列表中可能遇到的问题:由于关键值和地址是函数关系,所以可能出现两个关键值对应同一个地址的情况
3.解决办法——线性探测法:按出现顺序来定义函数中y值相同的关键值的处理,如b和a冲突,则将b放在a的下一个空单元
4.解决办法——伪随机数法

排序

数据的排序按照稳定性可以分为稳定与不稳定排序,按照空间结构又可以分为内排序与外排序
插入类排序:直接插入排序、希尔排序
交换类排序:冒泡排序、快速排序
选择类排序:简单选择排序、堆排序
归并排序
基数排序

直接插入排序

1.概念:即当插入第i个记录时,r1、r2、….rn-1都已经排好序,因此,将第i个记录ri依次与ri-1……r2、r1进行比较,找到合适的位置插入,它简单明了,但速度很慢
image.png

希尔排序

属于插入排序的一种,效率高于直接插入排序,善于应对大量数据的排序
image.png
image.png

直接选择排序

1.概念:首先在所有记录中选出排序码最小的记录,把它与第一个记录交换,然后在其余的记录内选出排序码最小的记录,与第二个记录交换….依次类推,直到所有记录排完为止
image.png

堆排序

image.png
image.png
image.png

冒泡排序

image.png
image.png

快速排序

image.png

归并排序

image.png

基数排序

1.概念:将关键字拆分为个位、十位、百位…并对其各自位进行排序最后得出结果
2.步骤:对于一个数组R
(1)先收集其个位并对其个位进行排序(个位相同的则按照出现顺序紧挨着)
(2)按照个位排序的顺序将数组元素进行排序
(3)对刚刚排好序的数组收集其十位进行排序
(4)再将数组按照十位排序的顺序将数组元素进行排序
(5)…….重复该操作,直至位数排尽
image.png

排序时间复杂度

image.png

九、数据库系统

数据库模式

三级模式-两级映射

数据库系统分为了三个级别的层次,即:内模式,概念模式,外模式
三级模式
1.内模式:(又称物理数据库模式);它是和物理层次数据库直接关联的,负责管理存储数据的方式,即数据应以什么格式存放在物理文件上面,以及如何优化这些存储方式;该模式的关注点在于数据如何存放上面
2.概念模式:即数据库中的”表“,在该模式中,根据业务以及应用,数据被分成了若干张”表“,表之间会有相应的关联
3.外模式:处于用户的应用层次,即数据库中的“视图”,使用户在对数据的控制上有了更多的手段,有了更为灵活的处置方式
两级映射
1.外模式—概念模式映射:外模式和概念模式具有映射关系,该关系即“视图”和“表”之间的映射关系
2.概念模式—内模式映射:即用户想要改变存储结构,我们只需要调整这种映射关系,而不需要去修改用户的应用程序
关系图示
image.png

数据库设计过程

image.png

ER模型

image.png

ER模型由局部到全局的合成方式

我们在绘制数据库的ER图时,常常从局部开始绘制,然后将许多局部的ER图合成位全局的ER图,而局部的ER图合成全局的ER图时可以有两种方式:逐步集成和一次集成

image.png

关系代数与元组演算

以选择题的形式出现;有如下运算:并;交;差;笛卡尔积;投影;选择;联接

差运算

概念:即得到A集合中B所没有的元素,如A-B即得到B在A中所没有的元素

笛卡尔积

概念:该运算的符号为“X”;若A与B进行“X”运算,则:
image.png
image.png

投影

概念:该操作即将所选的“列”记录下来
image.png

选择

概念:该操作将所选的“行”记录下来
image.png

规范化理论

函数依赖

函数依赖:即函数关系,如学号对应姓名,姓名可以重复,但学号是唯一的,且唯一的学号对应相应了可重复的姓名
部分函数依赖(部分依赖):主键是两个属性的组合键,若主键中的一部分可以确定某个属性,则为部分函数依赖
传递函数依赖(传递依赖):即:若A可以确定B,B可以确定C,则A可以确定C(注意:B不能确定A,因为此时二者即为等价)

价值与用途

在非规范化的关系模式中,可能存在的问题包括:数据冗余,更新异常,插入异常,删除异常
价值
1.价值包括:解决数据冗余,如在记录大学生所属系别时,记录为计算机系就比计算机科学系更为简便,在大量数据的处理中,这一点的改进极为重要

1.概念:属性的集合
超键
1.概念:唯一能够标识元组(实体,即数据库的一行)的键,可以是单个的属性,也可以是属性的组合
候选键
1.概念:是一种特殊的超键,它是在超键的基础上消除多余属性后的键,可以有多个
2.求解候选键步骤:(1)将关系模式的函数依赖关系用“有向图”的方式表示
(2)找入度为0的属性,并以该属性集合为起点,尝试遍历有向图,若能遍历图中所有结点,则该属性集即为关系模式的候选键。注:入度即为第一个只有指向箭头,没有被指箭头的属性
(3)若入度为0的属性集不能遍历图中所有结点(或没有入度为0的属性),则需要尝试性的将一些中间结点(既有入度,也有出度的结点)并入入度为0的属性集中,直至该集合能遍历所有结点,该集合即为候选键
主键
概念:只能有一个,如学号和身份证号都能标识一个学生,而主键则是在两个属性集合之中则其一
外键
概念:外键是其他关系的主键,因为许多时候我们需要对表做关联

范式

image.png

模式分解

范式级别不够时我们采取模式的拆分
模式拆分时要保持的原则
1.保持函数依赖分解(不需要保持冗余的函数依赖)
2.无损分解:有损即不能还原;无损即可以还原
注:无损联接分解:指将一个关系模式分解成若干个关系模式后,通过自然联接和投影等运算仍能还原到原来的模式
判断是否满足无损分解的方法
1.表格法
image.png
image.png
图注:当有任意一行全为a时,该关系模式的分解即为无损分解
2.计算法
image.png

图注:第一个p1是无损分解,第二个p2是有损分解

并发控制

事务

1.概念:把多个操作封装起来,将其看成一个整体来进行操作,可以便于并行并发的处理一些事情;具有的特性:
(1) 原子性:即事务的内容操作要么全部做,要么全不做;
(2) 一致性:在事务执行之前,数据保持一致的状态,执行之后数据也是一致的状态
(3) 隔离性:事务之间的执行是独立进行的
(4) 持续性:事务执行之后,其结果造成的影响是持续的,即使数据库崩溃,其对数据库的更新操作也永久有效

并发并行带来的问题

1.丢失更新:
image.png
图注:在这两个事务中,T1执行的结果为5,T2执行的结果为2,我们想要得到的是A减去5再减去8的结果,但最终结果为2,因为下一个执行的事务结果会覆盖上一个事务执行的结果
2.不可重复读:
image.png
图注:在T1运算中,求A与B的和时,为了提高准确率,程序会再次进行验算,但在第一次运算和第二次运算的间隙,将进行T2运算,T2运算的结果会将A与B的值进行覆盖,这将会产生死锁问题
3.读“脏”数据:
脏数据不是真正的数据,不是我们执行过程中真的产生的数据,只是一个临时值
image.png
图注:值70是计算过程产生的数据,属于临时数据,该数据被恢复为了20,使得T2操作将会出错

解决并发并行带来的问题的方法——封锁协议

1.一级封锁协议:事务T在修改数据R之前必须先对其加X(写锁或排他锁)锁,直到事务结束才释放。可防止丢失修改,该锁可以使得除了T以外的所有事务将不能访问R,而事务T则可以阅读或者修改R
2.二级封锁协议:一级封锁协议加上事务T在读取数据R之前先对其加S(读锁或共享锁)锁,读完后即可释放S锁。可防止丢失修改,还可防止读”脏”数据,该锁的作用是,所有的事务都可以访问R,但包括T在内的所有事务都不能修改R
3.三级封锁协议:一级封锁协议加上事务T在读取数据R之前先对其加S锁,直到事务结束才释放。可防止丢失修改,防止读”脏”数据与防止数据重复读
4.两段锁协议:可串行化(通过加锁解锁两个阶段使并发事务排队进行)的。可能发生死锁
注:

如果事物T对数据加上X锁后,就只允许事务T读取和修改数据,其他事务对数据A不能再加任何锁,从而也不能读取和修改数据,直到事务T释放数据上的锁
如果事务T对数据加上了S锁后,事务T就只能读数据但不可以修改,其他事务可以再对数据A加S锁来读取,只要数据上有S锁,任何事务都只能再对其加S锁,而不能加X锁

数据库完整性约束

主要有三种约束:实体完整性约束,参照完整性约束,用户自定义完整性约束;约束的作用是提高数据的可靠性

实体完整性约束

概念:即我们在使用数据库时,给数据表定义主键

参照完整性约束

概念:即外键中的约束,如:我们设置了一个员工表,其中含有部门号,若部门号设置了参照完整性约束,则在设置部门号时,其内容必须是主键中的内容,若不是,则会报错
用户自定义完整性约束
概念:即用户可以设置属性的值的要求,如属性“年龄”;用户可以自行设置“不能输入负数”限定

触发器

概念:即:写脚本来约束数据库,用来设置更为复杂的约束

数据库安全

image.png

数据库备份与恢复

数据备份按备份方式可分为热备份和冷备份;按备份的量可分为:完全备份,差量备份,增量备份;

冷备份

1.概念:冷备份也称静态备份,是将数据库正常关闭,在停止状态下,将数据库的文件全部备份(复制)下来
2.优点:非常快速的备份方法(只需要复制文件);容易归档(简单复制即可);容易恢复到某个时间点上(只需将文件再复制回去);能与归档方法结合,做数据库“最佳状态”的恢复;低度维护,高度安全
3.缺点:单独使用时,只能提供到某一时间点上的恢复;在实施备份的全过程中,数据库必须要作备份而不能做其他工作;若磁盘空间有限,只能复制到磁带等其他外部存储设备上,速度会很慢;不能按表或按用户恢复

热备份

1.概念:热备份也称动态备份,是利用备份软件,在数据库正常运行的状态下,将数据库中的数据文件备份出来
2.优点:可在表空间或数据库文件级备份,备份的时间短;备份时数据库仍然可以使用;可达到秒级恢复(恢复到某一时间节点上);可对几乎所有数据库实体做恢复;恢复是快速的
3.缺点:不能出错,否则后果严重;若热备份不成功所得结果不可用于时间点的恢复;因难于维护,所以要特别小心,不允许“以失败告终”

完全备份,差量备份,增量备份

1.完全备份:备份整个数据库的内容
2.差量备份:仅备份上一次完全备份之后变化的数据(可以解决增量备份可能出现的错误)
3.增量备份:备份上一次备份之后变化的数据

四种转储方式

1.静态海量转储:在系统中无事务运行时进行,每次转储全部数据库
2.静态增量转储:在系统无运行事务时进行,每次只转储上一次转储后更新过的数据
3.动态海量转储:转储期间允许对数据库进行存取或修改,每次转储全部数据库
4.动态增量转储:转储期间允许对数据库进行存取或修改,每次只转储上一次转储后更新的内容

数据库故障与解决办法

image.png

数据仓库与数据挖掘

数据仓库

  1. 概念:数据仓库是一种特殊的数据库;数据库系统在刚刚建立时运行速度很快,但随着时间的推移,其存储的数据量越来越大,速度也将逐步下降,而为了提高速度,人们会优化存储,通常采用删除较久远历史数据来进行优化,而这些数据仍然具有部分价值,因此我们会专门用一个数据库来对其进行存放,而用来存放这种数据的数据库并不需要插入,添加,修改等操作,更多的操作是查询,因此我们将这种特殊用途的数据库称之为数据仓库

  2. 数据仓库的特点——面向主题:不同与一般数据库的面向业务,数据仓库的数据是面向主题的

  3. 数据仓库的特点——集成性:数据仓库会存储诸如月报表,周报表等集成式的数据,而普通数据库并不会这么干

  4. 数据仓库的特点——相对稳定性:进去的数据将不会进行修改,删除等操作

  5. 数据仓库的特点——反映历史变化(随着时间变化):隔一段时间会将数据导入进来

  6. 数据仓库的建立过程:
    image.png
    图注:首先是从数据源中抽取,清理(使数据格式一致),装载(放到数据仓库中),刷新(定期向仓库中添加数据);数据集市即部门级的数据仓库,因为数据仓库的建立从企业全局的战略上讲具有非常大的风险,因此只建立部分数据库最后再将其整合则会降低风险,而其中部门级的数据库则称为数据集市

  7. OLAP服务器的概念:即联机分析处理服务器,专门做分析处理工作的,最表层是数据的前端工具,前端工具最普通的如查询工具,报表工具,分析工具以及比较独特的数据挖掘工具

数据挖掘

1.数据挖掘方法分类——关联分析:挖掘出隐藏在数据间的相互关系
2.数据挖掘方法分类——序列模式分析:侧重点是分析数据间的前后关系(因果关系)
3.数据挖掘方法分类——分类分析:为每一个记录赋予一个标记再按标记分类
4.数据挖掘方法分类——聚类分析:分类分析法的逆过程
5.数据挖掘方法:
(1)决策树
(2)神经网络
(3)关联规则挖掘算法

最后祝大家高分通过!