软考系统架构师知识点集锦九:数据库系统

一、考情分析

 二、考点精讲

2.1数据库概述

2.1.1数据库模式

  • (1)三级模式:外模式对应视图,模式(也称为概念模式)对应数据库表,内模式对应物理文件。
  • (2)两层映像:外模式-模式映像,模式-内模式映像;两层映像可以保证数据库中的数据具有较高的逻辑独立性和物理独立性。
  • (3)物理独立性:即数据库的内模式发生改变时,应用程序不需要改变。
  • (4)逻辑独立性:即逻辑结构发生改变时,用户程序不需要改变。(逻辑独立性 比物理独立性更难
  • 实现)
  • (5)聚簇索引会影响内模式
     

2.1.2分布式数据库

(1)体系结构

(2)分布式数据库特点:

  • 1.数据独立性。除了数据的逻辑独立性与物理独立性外,还有数据分布独立性(分布透明性)。
  • 2.集中与自治共享结合的控制结构。各局部的DBMS可以独立地管理局部数据库,具有自治的功能。同时,系统又设有集中控制机制,协调各局部DBMS的工作,执行全局应用。
  • 3.适当增加数据冗余度。在不同的场地存储同一数据的多个副本,可以提高系统的可靠性和可用性,同时也能提高系统性能。(提高系统的可用性,即当系统中某个节点发生故障时,因为数据有其他副本在非故障场地上,对其他场地来说,数据仍然是可用的,从而保证数据的完备性。
  • 4.全局的一致性、可串行性和可恢复性

(3)分布式透明性

  • 分片透明性:分不分片,用户感受不到(不关心如何分片存储)。(水平分片:按记录分;垂直分片:按字段分;混合分片)
  • 位置透明性:数据存放在哪里,用户不用管(用户无需知道数据存放的物理位置)。
  • 局部数据模型透明性(逻辑透明) :用户或应用程序无需知道局部场地使用的是哪种数据模型。

两阶段提交协议2PC:
2PC事务提交的两个阶段:

  • 表决阶段,目的是形成一个共同的决定。
  • 执行阶段,目的是实现这个协调者的决定。

两条全局提交规则:

  • 只要有一个参与者撤销事务,协调者就必须做出全局撤销决定。
  • 只有所有参与者都同意提交事务,协调者才能做出全局提交决定。

(4)分库分区分表

分区的优点:

  • 1、相对于单个文件系统或是硬盘,分区可以存储更多的数据。
  • 2、数据管理比较方便,比如要清理或废弃某年的数据,就可以直接删除该日期的分区数据即可。
  • 3、精准定位分区查询数据,不需要全表扫描查询,大大提高数据检索效率。
  • 4、可跨多个分区磁盘查询,来提高查询的吞吐量。
  • 5、在涉及聚合函数查询时,可以很容易进行数据的合并。

(5)分布式数据库管理系统-组成: LDBMS、GDBMS、 全局数据字典、通信管理(CM)

(6)分布式数据库管理系统结构

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

2.1.3索引和视图

(1)关系的3种类型

基本关系(通常又称为基本表或基表) :实际存在的表,实际存储数据的逻辑表示。
查询表:查询结果对应的表。
视图表:由基表或其他视图表导出的表,本身不独立存储,数据库只存放它的定义,常称为虚表。
它是一个虚拟表(逻辑上的表), 其内容由查询定义(仅保存SQL查询语句)。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并没有真正存储这些数据,而是通过查询原始表动态生成所需要的数据。

(2)视图(View) 并不在数据库中实际存在,而是一种虚拟表。

(3)视图的优点:

  • 1、视图能简化用户的操作
  • 2、视图机制可以使用户以不同的方式查询同- -数据
  • 3、视图对数据库重构提供了-定程度的逻辑独立性
  • 4、视图可以对机密的数据提供安全保护

(4)物化视图:它不是传统意义上虚拟视图,是实体化视图,其本身会存储数据。同时当原始表中的数据更新时,物化视图也会更新。

2.2数据库设计过程

2.2.1概念结构设计过程

(1) E-R 图集成的方法:

  • 多个局部E-R图一次集成。
  • 逐步集成,用累加的方式一次集成两个局部E-R。

(2)集成产生的冲突及解决办法:

  • 属性冲突:包括属性域冲突和属性取值冲突。
  • 命名冲突:包括同名异义和异名同义。
  • 结构冲突:包括同一对象在不同应用中具有不同的抽象,以及同一实体在不同局部E-R图中所包
  • 含的属性个数和属性排列次序不完全相同。
     

2.2.2逻辑结构设计

(1) 任务
1、E-R 图向关系模式的转换;

  • 实体向关系模式的转换
  • 联系向关系模式的转换

2、关系模式的规范化;
3、确定完整性约束(保证数据的正确性) ;

  • 实体完整性约束
  • 参照完整性约束
  • 用户自定义完整性约束
  • 触发器

4、用户视图的确定(提高数据的安全性和独立性)。

  • 根据数据流图确定处理过程使用的视图
  • 根据用户类别确定不同用户使用的视图

5、应用程序设计

(2)相关概念

  • 目或度:关系模式中属性的个数。
  • 候选码(候选键)
  • 主码(主键)
  • 主属性与非主属性:组成候选码的属性就是主属性,其它的就是非主属性。
  • 外码(外键)
  • 全码(ALL-Key) :关系模式的所有属性组是这个关系的候选码。
  • 简单属性与复合属性、派生属性、多值属性

2.2.3数据库性能优化

2.3关系代数

2.3.1并(结果为二者元组之和去除重复行)

2.3.2交(结果为二者重复行)

2.3.3差(前者去除二者重复行)

类似于集合运算,计算如下图所示:

 2.3.4笛卡尔积

结果的属性列数为二者属性列数之和,结果的元组行数为二者元素数乘积。

2.3.5投影

        对属性列的选择列出。

2.3.6选择

        对元组行的选择列出。
        属性名可以依次标序号,直接以数字形式出现在表达式中。计算如下图所示:

 2.3.7自然连接

        结果列数为二者属性列数之和减去重复列,行数为二者同名属性列其值相同的结果元组。笛卡尔积、选择、投影的组合表示可以与自然连接等价。

        普通连接的条件会写出,没有写出则表示为自然连接。计算如图所示:

2.4规范化理论

2.4.1非规范化存在的问题

        非规范化的关系模式,可能存在的问题包括:数据冗余、更新异常、插入异常、删除异常。

2.4.2相关概念

        函数依赖:

2.4.3 Amstrong公理

2.4.4候选键

        主属性与非主属性:组成候选码的属性就是主属性,其它的就是非主属性。

        将关系模式的函数依赖关系用“有向图”的方式表示。

        找入度为0的属性,并以该属性集合为起点,尝试遍历有向图,若能正常遍历图中所有结点,则该属性集即为关系模式的候选键。

        若入度为0的属性集不能遍历图中所有结点,则需要尝试性的将一些中间结点(既有入度,也有出度的结点)并入入度为0的属性集中,直至该集合能遍历所有结点,集合为候选键。

2.4.5范式

范式的关系

第一范式(1NF) :在关系模式R中,当且仅当所有域只包含原子值,即每个属性都是不可再分的数据项,则称关系模式R是第一范式。

第二范式(2NF)--消除非主属性对码的部分函数依赖:当且仅当关系模式R是第一范式(1NF),且每一个非主属性完全依赖候选键(没有不完全依赖)时,则称关系模式R是第二范式。

第三范式(3NF)--消除非主属性对码的传递函数依赖:当且仅当关系模式R是第二范式(2NF),且R中没有非主属性传递依赖于候选键时,则称关系模式R是第三范式。

BC范式(BCNF) --根据定义判断:设R是一个关系模式,F是它的依赖集, R属于BCNF当且仅当其F中每个依赖的决定因素必定包含R的某个候选码。
(可以理解为在3NF基础上,消除主属性之间的传递函数依赖和部分函数依赖)

2.4.6规范化过程-模式分解

2.4.7反规范化

(1)反规范化手段

(2)反规范化的优缺点
优点:连接操作少,检索快,统计快,需要查的表减少,检索容易。
缺点:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/154610.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何在Android设备上检查应用程序使用情况,包括使用时间

你可能不知道自己花了多少时间在手机上。很可能你一天中有一半的时间都在盯着手机屏幕。如果你怀疑这一事实,你会很快核实的。在这篇文章中,我们将向你介绍如何在Android设备上检查应用程序的使用情况。 如何在Android上检查应用程序电池使用情况 你使用时间最长的应用程序…

delphi 11.3 FastReport 多设备跨平台 打印之解决方法

以下能WINDOWS10 DELPHI 11.3 FastReport6.0上顺利通过 FastReport6.2对Multi-Device Application应用的支持不够友好,如下图;在palette FastReport6.0才出现几个制件。 非Multi-Device Application应用时是一大堆; 非Multi-Device Appl…

C++笔记-RTTR编译安装简单使用

这里以Linux为例,我使用的机器的gcc版本是4.9.2 使用的RTTR的版本是0.9.5 编译&安装 首先在官网将rttr的0.9.5版本下载下来。 Home |RTTR 按照官方的安装流程: 但这里可能会出现一个问题: 按照解答,切换成root用户&#x…

[java/力扣110]平衡二叉树——优化前后的两种方法

分析 根据平衡二叉树的定义,只需要满足:1、根节点两个子树的高度差不超过1;2、左右子树都为平衡二叉树 代码 public class BalancedBinaryTree {public class TreeNode{int val;TreeNode left;TreeNode right;TreeNode(){}TreeNode(int va…

8+双疾病+WGCNA+多机器学习筛选疾病的共同靶点并验证表达

今天给同学们分享一篇双疾病WGCNA多机器学习的生信文章“Shared diagnostic genes and potential mechanism between PCOS and recurrent implantation failure revealed by integrated transcriptomic analysis and machine learning”,这篇文章于2023年5月16日发表…

生产级 React 框架介绍

文章目录 生产级 React 框架生产级 React 框架Next.jsRemixGatsbyExpo 如何选择生产级 React 框架 生产级 React 框架 React 是一个流行的 JavaScript 框架,用于构建用户界面。React 框架可以帮助你快速构建高质量的 React 应用,但并不是所有的 React 框…

MySQL(2):环境搭建

1.软件下载 软装去官网下载(社区版):https://downloads.mysql.com/archives/installer/(历史版本可选) 选择下面的,一步到位 2.软件安装 双击 .msi 文件 选完 Custom 自定义后点 next 按 1&#xff0c…

新恶意软件使用 MSIX 软件包来感染 Windows

人们发现,一种新的网络攻击活动正在使用 MSIX(一种 Windows 应用程序打包格式)来感染 Windows PC,并通过将隐秘的恶意软件加载程序放入受害者的 PC 中来逃避检测。 Elastic Security Labs 的研究人员发现,开发人员通常…

Shadow DOM API 的 ShadowRoot 接口支持挂载的 shadow DOM 元素仅有18个:

<article, aside, blockquote, body, div, footer, h1-h6, header, main, nav, p, section, span> 浏览器兼容性 Browser compatibility

B-5:网络安全事件响应

B-5:网络安全事件响应 任务环境说明: 服务器场景:Server2216(开放链接) 用户名:root密码:123456 1.黑客通过网络攻入本地服务器,通过特殊手段在系统中建立了多个异常进程,找出启动异常进程的脚本,并将其绝对路径作为Flag值提交; 通过nmap扫描我们发现开启了22端口,…

DevChat:VSCode中基于大模型的AI智能编程助手

文章目录 1. 前言2. 安装2.1 注册新用户2.2 在VSCode中安装DevChat插件2.3 设置Access Key 3. 实战使用4. 总结 1. 前言 DevChat是由Merico公司精心打造的AI智能编程助手。它利用了最先进的大语言模型技术&#xff0c;像人类开发者一样高效地理解需求&#xff0c;并提供最佳的代…

Miniconda、Vscode下载和conda源、pip源设置

1、常用软件下载 1、Miniconda软件下载&#xff1a; windows网址&#xff1a;https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/?CS&OA 2、最新版Miniconda下载网址&#xff1a;https://docs.conda.io/projects/miniconda/en/latest/ 3、常用代码编辑器VsCode下…