软考高级之系统架构师系列之数据库系统

概述

如标题所述。本文面向于软考高级,具体来说是系统架构师。

类型:关系型、文档型、键值型、对象型

三级模式和两级映射

在这里插入图片描述

三个抽象级

数据库系统划分为三个抽象级:

  • 用户级:用户级数据库对应于外模式,最接近用户的一级数据库,是用户可以看到和使用的数据库,又称用户视图。用户级数据库主要由外部记录组成,不同的用户视图可以互相重叠,用户的所有操作都是针对用户视图进行
  • 概念级:概念级数据库对应于概念模式,介于用户级和物理级之间,是所有用户视图的最小并集,是数据库管理员可看到和使用的数据库,又称DBA视图。概念级数据库由概念记录组成,一个数据库可有多个不同的用户视图,每个用户视图由数据库某一部分的抽象表示所组成。一个数据库应用系统只存在一个DBA视图,它把数据库作为一个整体的抽象表示。概念级模式把用户视图有机地结合成一个整体,综合平衡考虑所有用户要求,实现数据的一致性、最大限度降低数据冗余、准确地反映数据间的联系
  • 物理级:物理级数据库对应于内模式,是数据库的低层表示,它描述数据的实际存储组织,是最接近于物理存储的级,又称内部视图。物理级数据库由内部记录组成,物理级数据库并不是真正的物理存储,而是最接近于物理存储的级

三级模式

  1. 外模式
    External Schema或Sub Schema,也叫子模式、用户模式;对应于用户级,对应于用户所看到的数据库的数据视图,是与和具体的应用或者项目有关的逻辑表示。用户可以通过外模式描述语言来描述、定于对应于用户的数据记录,也可以用数据库操纵语言DML来对这些数据进行操作。外模式反映数据库系统的用户观。
  2. 概念模式
    Schema,逻辑模式,对应概念级。它是由数据库设计者综合所有用户的数据,按照统一的观点构造的全局逻辑结构,是对数据库总全部数据的逻辑结构特征的总体描述,是所有用户的公共数据视图(全局视图)。他是有数据库管理系统提供IP的数据模式描述语言DDL来描述定义。概念模式反映数据库系统的整体观。
  3. 内模式
    Storage Schema,存储模式,对应物理级,是数据库中全体数据的内部表示或者底层描述,是数据库最低一级的逻辑描述,描述数据在存储介质上的存储方式和物理结构,对应着实际存储在外存储介质上的数据库。用内模式描述语言来描述。反映数据库系统的存储观。内模式定义的是存储记录的类型、存储域的表示、存储记录的物理顺序,指引元、索引和存储路径等数据的存储组织。

内模式、模式和外模式之间的关系:

  • 模式是数据库的中心与关键;
  • 内模式依赖于模式,独立于外模式和存储设备;
  • 外模式面向具体的应用,独立于内模式和存储设备;
  • 应用程序依赖于外模式,独立于模式和内模式

在一个数据库系统中只有唯一的数据库,因而作为定义,描述数据存储结构的内模式和定义、描述数据库逻辑结构的模式也是唯一的。但建立在数据库系统之上的应用则是非常多的。所以对应的外模式是不唯一的,也不可能是唯一的。

两级映射

三个抽象级间通过两级映射(外模式—模式映射,模式—内模式映射)进行相互转换,使得数据库的三级形成一个统一整体:

  • 用户应该根据外模式进行数据操作,通过外模式映射,定义和建立某个外模式和模式键的对应关系,将外模式和(逻辑)模式联系起来。当模式发生改变时,只需要改变映射,就可以使外模式保持不变,对应的程序也可以保持不变;
  • 通过模式-内模式映射,定义建立数据的逻辑结构和存储结构间的对应关系,当数据的存储结构发生变化时,只需要改变模式-内模式映射,就能保持模式不变,因此应用程序也可以保持不变。

两类独立性

  • 物理独立性:物理独立性是指用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的。当数据的物理存储改变时,应用程序不需要改变。当内模式发生改变时,数据的逻辑结构(模式)保持不变。需要修改模式/内模式映射。
  • 逻辑独立性:逻辑独立性是指用户的应用程序与数据库中的逻辑结构是相互独立的。当数据的逻辑结构改变时,应用程序不需要改变数据的逻辑结构(模式)发生变化时,应用程序不用修改。需要修改外模式/模式映射。

XX独立性,就是指XX变化时,上级模式不用变。

逻辑独立性比物理独立性更难实现。

三范式

几种键

  • 超键:能够唯一标识元组
  • 候选键:消除多余属性
  • 主键:候选键任选一个
  • 外键:其他关系的主键

关系模型满足的确定约束条件称为范式。根据满足约束条件的级别不同,范式由低到高:

  1. 1NF:最低的规范化要求。如果关系R中所有属性的值域都是简单域,其元素(即属性)不可再分,是属性项而不是属性组,则关系模型R是第一范式的,记作RÎ1NF
  2. 2NF:如果一个关系R属于1NF,且所有的非主属性都完全依赖于主属性,记作RÎ2NF
  3. 3NF:如果一个关系R属于2NF,确保数据表中的每一列数据都和主键直接相关,在2NF基础上消除传递依赖
  4. BCNF:BC范式,
  5. 4NF:第四范式,

把一个低一级的关系模型分解为高一级关系模型的过程,称为关系模型的规范化。关系模型分解必须遵守两个准则:

  • 无损连接性:信息不失真(不增减信息)
  • 函数依赖保持性:不破坏属性间存在的依赖关系

规范化的基本思想:逐步消除不合适的函数依赖,使数据库中的各个关系模型达到某种程度的分离。规范化解决的主要是单个实体的质量问题,是对于问题域中原始数据展现的正规化处理。

规范化理论给出判断关系模型优劣的理论标准,帮助预测模式可能出现的问题,是数据库逻辑设计的指南和工具,具体有:

  • 用数据依赖的概念分析和表示各数据项之间的关系。
  • 消除E-R图中的冗余联系

BC范式

BC范式:BCNF,Boyce-Codd Normal Form,在第三范式的基础上加上稍微更严格约束,每个BCNF关系需满足第三范式。BCNF去除属性间的不必要的函数依赖。

定义:

如果对于关系模式R中存在的任意一个非平凡函数依赖X->A,都满足X是R的一个超键,那么关系模式R就属于BCNF。

任何一个BCNF必然满足:

  • 所有非主属性都完全函数依赖于每个候选键
  • 所有主属性都完全函数依赖于每个不包含它的候选键
  • 没有任何属性完全函数依赖于非候选键的任何一组属性

在这里插入图片描述

反规范化

也叫非规范化,在某些场景下反规范化也是有好处的:

  1. 增加冗余列:指在多个表中具有相同的列,它常用来在查询时避免连接操作
  2. 增加派生列:指增加的列可以通过表中其他数据计算生成
  3. 重新组表:如果许多用户需要查看两个表连接出来的结果数据,则把这两个表重新组成一个表来减少连接而提高性能
  4. 分割表:有时对表做分割可以提高性能。表分割有两种方式:水平分割和垂直分割

可能存在的问题包括:数据冗余、更新异常、插入异常、删除异常

数据分割和数据复制是数据分布的两种重要方式。数据分割有两种模式:

  • 垂直分割:将表中不同字段的数据存储到不同的服务器上;
  • 水平分割:将表中不同行的数据存储到不同的服务器上。

数据复制是为了提升数据访问效率而采用的一种增加数据冗余的方法,它将数据的多个副本存储到不同的服务器上,由RDBMS负责维护数据的一致性。

四个阶段

四个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计;也有六个阶段的说法:增加 数据库实施阶段、数据库运行和维护阶段。

设计原则

一对一设计原则:
独特命名原则:
双向使用原则:事务使用原则和索引功能原则。首先,双向使用原则是在逻辑工作单元模式基础上实现其表现形式的,不仅给非事务性单元操作工作提供基础保障,也保证其能够及时更新、获取数据资源。索引功能原则的有效运用,使其获取更多属性列数据信息,并且对其做到灵活排序。目前,软件市场常见的索引模式有:多行检索聚簇索引和单行检索非聚簇索引。
在这里插入图片描述

需求分析

调查研究,了解用户的数据要求和处理要求,并按一定格式整理需求说明书,完成的文档数据字典和数据流图。

对现实世界要处理的对象进行详细的调查,通过对原系统的了解,收集支持新系统的基础数据并对其进行处理,在此基础上确定新系统的功能。

  1. 调查分析用户活动
  2. 收集和分析需求数据,确定系统边界信息需求,处理需求,安全性和完整性需求
  3. 编写系统分析报告

两种方法:自顶向下,自底向上

概念结构设计

将需求分析数据抽象成局部E-R模型,再将局部E-R模型集成为全局E-R模型。E-R模型,提供能够识别和理解系统要求的框架,为数据库提供一个说明性结构,作为设计数据库逻辑结构,即逻辑模型的基础。

概念结构设计是对信息分析和定义,如视图模型化、视图分析和汇总。对应用对象精确地抽象、概括而形成的独立于计算机系统的企业信息模型。

逻辑结构设计

把概念结构设计阶段设计好的基本E-R图转换为与DBMS产品所支持的数据模型相符合的逻辑结构。由初始关系模式设计到关系模式规范化再到模式评价。包括模式初始设计、子模式设计、应用程序设计、模式评价以及模式求精。

将概念模型设计阶段得到的基本E-R图转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构。
如采用基于E-R模型的数据库设计方法,该阶段就是将所设计的E-R模型转换为某个DBMS所支持的数据模型;
如采用用户视图法,则应进行模式的规范化,列出所有的关键字以及用数据结构图描述表集合中的约束与联系,汇总各用户视图的设计结果,将所有的用户视图合成一个复杂的数据库系统。

物理结构设计

对于给定的逻辑数据模型,选取一个最适合应用环境的物理结构。实际的物理设备上的存储结构和存取方法称为数据库的物理结构。

逻辑模型在计算机中的具体实现方案。UML是面向对象软件的标准化建模语言,其中状态图、活动图、顺序图和通信图可以用来对系统的动态行为进行建模。活动图展现在系统内从一个活动到另一个活动的流程。活动图强调对象之间的控制流程。在活动图上可以表示分支和汇合。活动图与传统的程序流程图是不等价的。

数据库实施

根据逻辑设计和物理设计的结果,在计算机上建立起实际的数据库结构、装入数据、进行测试和试运行的过程。

运行和维护

主要有以下三项内容:

  1. 维护数据库的安全性和完整性
  2. 监测并改善数据库性能
  3. 重新组织和构造数据库

关系代数与函数依赖

另起一篇,参考关系代数、函数依赖、Armstrong公理及软考试题解析

数据备份

数据备份从备份量来分,可以分为完全备份、增量备份、差异备份:

  • 完全备份:备份所有数据。即使两个备份时间点之间数据没有任何变动,所有数据还是会被备份下来
  • 增量备份:跟完全备份不同,增量备份在做数据备份前会先判断数据的最后修改时间是否比上次备份的时间晚。如果不是,则表示该数据并没有被修改过,这次不需要备份。所以该备份方式,只记录上次备份之后的变动情况,而非完全备份
  • 差异备份:差异备份与增量备份一样,都只备份变动过的数据。但前者的备份是针对上次完整备份后,曾被更新过的。

增量备份可针对上次任何一种备份进行。

从数据库状态来看,也可分为:冷备份、热备份

  • 冷备份:也称为静态备份,在数据库正常关闭的停止状态下,将数据库文件全部备份(复制)的操作
  • 热备份:也称为动态备份,利用备份软件在数据库正常运行的状态下,备份数据文件的操作

ACID

在数据库系统中,事务是访问并可能更新各种数据项的一个程序执行单元。为保证数据完整性,要求数据库系统维护事务的原子性、一致性、隔离性和持久性。

数据库设计中为了实现原子性和持久性的最为简单的策略:影子拷贝。该策略假设在某一个时刻只有一个活动的事务,首先对数据库做副本,即影子副本,并在磁盘上维护一个dp_pointer指针,指向数据库的当前副本。对于要执行写操作的数据项,数据库系统在磁盘上维护数据库的一个副本,所有的写操作都在数据库副本上执行,而保持原始数据库不变,如果在任一时刻操作不得不中止,系统仅需要删除新副本,原数据库副本没有受到任何影响。

C:Consistency,事务的一致性要求在没有其他事务并发执行的情况下,事务的执行应该保证数据库的一致性。数据库系统通常采用完整性约束检查机制保证单个事务的一致性。

I:Isolation,事务的隔离性保证操作并发执行后的系统状态与这些操作以某种次序顺序执行(即可串行化执行)后的状态是等价的。两阶段锁协议是实现事务隔离性的常见方案,该协议通过定义锁的增长和收缩两个阶段约束事务的加锁和解锁过程,能够保证事务的串行化执行,但由于事务不能一次得到所有需要的锁,因此该协议会可能会导致死锁。

持久性保证一旦事务完成,该事务对数据库所做的所有更新都是永久的,如果事务完成后系统出现故障,则需要通过恢复机制保证事务的持久性。数据库的恢复机制,主要基于日志的延迟修改技术(Deferred Modification Technique)。该技术通过在日志中记录所有对数据库的修改操作,将一个事务的所有写操作延迟到事务提交后才执行,日志中需要记录:事务开始和提交时间,数据项被事务修改后的新值,无需记录数据项被事务修改前的原始值。当系统发生故障时,如果某个事务已经开始,但没有提交,则该事务对数据项的修改尚未体现在数据库中,因此无需做任何恢复动作。

分布式数据库

透明概念包括:

  • 分片透明:指用户或应用程序不需要知道逻辑上访问的表具体是怎么分块存储的
  • 复制透明:指采用复制技术的分布方法,用户不需要知道数据是复制到哪些节点,如何复制的
  • 位置透明:指用户无须知道数据存放的物理位置
  • 逻辑透明:即局部数据模型透明,是指用户或应用程序无须知道局部场地使用的是哪种数据模型

分布式数据库管理系统组成

  • LDBMS
  • GDBMS
  • 全局数据字典
  • 通信管理(CM)

分布式数据库管理系统一结构

  • 全局控制集中的DDBMS
  • 全局控制分散的DDBMS
  • 全局控制部分分散的DDBMS

分布式数据库与并行数据库

相似点:都是通过网络连接各个数据处理结点的,整个网络中的所有结点构成一个逻辑上统一的整体,用户可以对各个结点上的数据进行透明存取等。

不同点:

  • 应用目标不同。并行数据库系统的目标是充分发挥并行计算机的优势,利用系统中的各个处理机结点并行地完成数据库任务,提高数据库的整体性能。分布式数据库系统主要目的在于实现各个场地自治和数据的全局透明共享,而不要求利用网络中的各个结点来提高系统的整体性能。
  • 实现方式不同。由于应用目标各不相同,在具体实现方法上,并行数据库与分布式数据库之间也有着较大的区别。在并行数据库中,为了充分发挥各个结点的处理能力,各结点间采用高速通信网络互联,结点间数据传输代价相对较低。当负载不均衡时,可以将工作负载过大的结点上的任务通过高速通信网络送给空闲结点处理,从而实现负载平衡。在分布式数据库系统中,各结点(场地)间一般通过局域网或广域网互联,网络带宽比较低,各场地之间的通信开销较大,因此在查询处理时一般应尽量减少结点间的数据传输量。
  • 各结点的地位不同。在并行数据库中,各结点之间不存在全局应用和局部应用的概念。各个结点协同作用,共同处理,而不可能有局部应用。

二阶段提交协议

针对不同的数据库系统,有不同的二阶段提交协议:

  • 传统集中式数据库:加锁阶段和解锁阶段也称为扩展阶段和收缩阶段
  • 与开发数据库应用过程相关:获取阶段和运行阶段
  • 分布式数据库:表决阶段和执行阶段

大数据

  1. 特点:4V
    Volume:数据量大
    Variety:数据种类繁多
    Value:数据价值密度低
    Velocity:处理速度快
  2. 技术:大数据采集、大数据预处理、大数据存储及管理、大数据分析及挖掘、大数据展现和应用(大数据检索、大数据可视化、大数据应用、大数据安全)。

数据仓库

概念:一个面向主题的、集成的、相对稳定的、且随时间变化的数据集合,用于支持管理决策

四大特点:

  • 面向主题:数据按主题组织
  • 集成的:消除源数据中的不一致性,提供整个企业的一致性全局信息
  • 相对稳定的(非易失的):主要进行查询操作,只有少量的修改和删除操作(或是不删除)
  • 反映历史变化(随着时间变化):记录企业从过去某一时刻到当前各个阶段的信息,可对发展历程和未来趋势做定量分析和预测

实现方法

  • 自顶向下法
  • 自底向上法
  • 联合方法

数据挖掘

数据挖掘是从数据库的大量数据中揭示出隐含的、先前未知的并有潜在价值的信息的非平凡过程,数据挖掘的任务有关联分析、聚类分析、分类分析、异常分析、特异群组分析和演变分析等。并非所有的信息发现任务都被视为数据挖掘。例如,使用数据库管理系统查找个别的记录,或通过因特网的搜索引擎查找特定的Web页面,则是信息检索领域的任务。虽然这些任务是重要的,可能涉及使用复杂的算法和数据结构,但是它们主要依赖传统的计算机科学技术和数据的明显特征来创建索引结构,从而有效地组织和检索信息。

技术:关联分析、序列(模式)分析、分类分析、聚类分析、预测、时间序列分析

  • 关联分析:关联分析主要用于发现不同事件之间的关联性,即一个事件发生的同时,另一个事件也经常发生。关联分析的重点在于快速发现那些有实用价值的关联发生的事件。其主要依据是事件发生的概率和条件概率应该符合一定的统计意义。在进行关联分析的同时,还需要计算两个参数,分别是最小置信度(可信度)和最小支持度,前者表示规则需满足的最低可靠度,用以过滤掉可能性过小的规则;后者则用来表示规则在统计意义上需满足的最小程度
  • 序列模式分析:序列分析主要用于发现一定时间间隔内接连发生的事件,这些事件构成一个序列,发现的序列应该具有普遍意义,其依据除了统计上的概率之外,还要加上时间的约束。在进行序列分析时,也应计算置信度和支持度
  • 分类分析:分类分析通过分析具有类别的样本特点,得到决定样本属于各种类别的规则或方法。利用这些规则和方法对未知类别的样本分类时应该具有一定的准确度。其主要方法有基于统计学的贝叶斯方法、神经网络方法、决策树方法等。分类分析时首先为每个记录赋予一个标记(一组具有不同特征的类别),即按标记分类记录,然后检查这些标定的记录,描述出这些记录的特征。这些描述可能是显式的,如一组规则定义;也可能是隐式的,如一个数学模型或公式
  • 聚类分析:根据物以类聚的原理,将本身没有类别的样本聚集成不同的组,并且对每个这样的组进行描述的过程。其主要依据是聚集到同一个组中的样本应该彼此相似,而属于不同组的样本应该足够不相似。聚类分析法是分类分析法的逆过程,它的输入集是一组未标定的记录,即输入的记录没有作任何处理,目的是根据一定的规则,合理地划分记录集合,并用显式或隐式的方法描述不同的类别

流程:问题定义、建立数据挖掘库、分析数据、调整数据、模型化、评价和解释

联邦数据库系统

Federated Database System,FDBS,也叫联合数据库系统,是一个彼此协作却又相互独立的成员数据库(CDBS)的集合,将成员数据库系统按不同程度进行集成,对该系统整体提供控制和协同操作的软件叫做联邦数据库管理系统(FDBMS)

联邦数据库特征

  • 分布性
  • 异构性
  • 自治性
  • 透明性

联邦数据库分类

  • 紧耦合
  • 松耦合

转储

数据的转储分为静态转储和动态转储、海量转储和增量转储

  • 静态转储和动态转储:静态转储是指在转储期间不允许对数据库进行任何存取、修改操作;动态转储是在转储期间允许对数据库进行存取、修改操作,故转储和用户事务可并发执行
  • 海量转储和增量转储:海量转储是指每次转储全部数据;增量转储是指每次只转储上次转储后更新过的数据

其他

NDB

Network Database System,基于网络的数据库系统,基于4G、5G的移动通信,逻辑上可以把嵌入式设备看做远程服务器的一个客户端。

参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
软考高级系统架构师考试是针对系统架构师岗位的专业职业认证考试。软考高级系统架构师考试的考试内容包括软件工程、系统分析与设计、系统集成、项目管理等多个领域的知识和能力要求。 与传统的纸质书籍相比,PDF格式的电子书对于考生学习软考高级系统架构师考试非常有帮助。首先,PDF格式的电子书可以在电子设备上随时随地进行阅读,具有便携性和灵活性,考生不再需要携带厚重的纸质教材。其次,PDF电子书还具有搜索、书签和注释的功能,方便考生快速查找、标记和归纳知识点,提高学习效率。另外,PDF格式的电子书可以进行文字复制和粘贴操作,方便考生根据自己的学习需求进行整理和整合资料。 对于软考高级系统架构师考试的学习,考生可以通过阅读软考高级系统架构师相关的PDF电子书来深入了解考试范围和知识点,并进行系统的学习和复习。此外,考生还可以通过参加培训课程和练习题的解析,提高对知识点的掌握和理解。最后,考生还可通过参加模拟考试和真实考试来熟悉考试形式和时间限制,增强应考能力。 总之,软考高级系统架构师PDF电子书是备考过程中的重要资料,通过充分利用它可以提高学习效率、加深对知识点的理解和记忆,并确保备考的全面性和系统性,对于考试取得好成绩具有积极的促进作用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

johnny233

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值