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

news2024/11/16 3:16:15

一、考情分析

 二、考点精讲

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.coloradmin.cn/o/1152449.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

linux查看系统版本、内核信息、操作系统类型版本

1. 使用 uname 命令:这将显示完整的内核版本信息,包括内核版本号、主机名、操作系统类型等。 uname -a2. 使用 lsb_release 命令(仅适用于支持 LSB(Linux Standard Base)的发行版):这将显示包含…

reactos 可调试光盘映像

链接:https://pan.baidu.com/s/13M9BZN4IDrWLc3bjnHO79g?pwd0gst 提取码:0gst

【计算机网络笔记】传输层——多路复用和多路分用

系列文章目录 什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)…

08 _ 栈:如何实现浏览器的前进和后退功能?

浏览器的前进、后退功能,我想你肯定很熟悉吧? 当你依次访问完一串页面a-b-c之后,点击浏览器的后退按钮,就可以查看之前浏览过的页面b和a。当你后退到页面a,点击前进按钮,就可以重新查看页面b和c。但是,如果你后退到页面b后,点击了新的页面d,那就无法再通过前进、后退…

Qwt QwtScaleDraw自定义坐标轴

1.概述 QwtScaleDraw 是 Qt 绘图库 Qwt 中的一个类,用于绘制坐标轴刻度线和刻度标签。它提供了一些方法和属性来设置刻度线和标签的样式、布局和对齐方式。 以下是类继承关系: 2.常用方法 标签相关方法: setLabelRotation(double angle)&…

Hudi系列文章7-RFC24 Flink 写入流程优化

文章目录 前言问题背景瓶颈与解决方案瓶颈一解决方法工作流程:精准一次语义容灾CoorinatorCheckpoint如何配合使用StreamWriteOperatorCoordinator CheckpointedFunctionStreamWriteFunctionInstant 提前生成问题 瓶颈二问题解决方案BucketAssignerBucketWriter 重点…

将字符串中符合规则的元素替换为指定元素 re.sub()

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 将字符串中符合规则的元素 替换为指定元素 re.sub() 选择题 请问re.sub(r[0-9],*,s)的结果是: import re s "hello123" print("【显示】s ",s) print(&quo…

采购申请单明细账/汇总账页面编写

业务需求和功能 1、功能:编写采购申请页面和采购申请管理页面。在申请单界面添加常用的查询条件,如单品、申请单等。在采购申请管理页面以单品维度去展示采购申请单的汇总信息,添加一个默认查询时间为7天,并对查询出来的不同状态…

【设计模式三原则】

设计模式三原则 单一职责原则开放封闭原则依赖倒转原则里氏代换原则 我们在进行程序设计的时候,要尽可能地保证程序的可扩展性、可维护性和可读性,所以需要使用一些设计模式,这些设计模式都遵循了以下三个原则,下面来依次为大家介…

目标检测算法-SSD

1. SSD介绍 计算机确定图像中一个物体的位置需要四个参数:中心点的x轴、y轴坐标、框的高和宽。 当一张图片被传入SSD的网络中时,图片首先会被调整为300*300的大小。为了防止失真,其会在图片的边缘加上灰条。 之后SSD会将这种图片分为六种不…

IR2104/IR2184电机方案选择

供电越大Rdson越小 D3要用快恢复或者超快恢复不要用肖特基 上图有自举电容的取值公式,自举电容不能用电解电容,最好使用C0G因为它在不停的充放电 C31必须大于10倍C28

基于探路者算法的无人机航迹规划-附代码

基于探路者算法的无人机航迹规划 文章目录 基于探路者算法的无人机航迹规划1.探路者搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要:本文主要介绍利用探路者算法来优化无人机航迹规划。 1.探路者…

LeetCode 2742.给墙壁刷油漆

思路 dp(u,count)为当前再考虑下标为1-u的墙面&#xff0c;并且还有count免费工次的最小代价 主要是递归边界的选择&#xff1a; u1<count return 0; if(u-1&&count<0)return 0x3f3f3f3f; if(u-1&&count0)retrun 0; 这三个可以合并成 if(u<count) …

k8s基本操作命令

目录 1、//查看资源对象简写 2、//查看集群信息 3、//配置kubectl自动补全 4、//node节点查看日志 5、//查看 master 节点状态 6、//查看命令空间 7、//查看default命名空间的所有资源 8、//创建命名空间app 9、//删除命名空间app 10、//在命名空间kube-public 创建…

量子计算与量子密码(入门级-少图版)

量子计算与量子密码 写在最前面一些可能带来的有趣的知识和潜在的收获 1、Introduction导言四个特性不确定性&#xff08;自由意志论&#xff09;Indeterminism不确定性Uncertainty叠加原理(线性)superposition (linearity)纠缠entanglement 虚数的常见基本运算欧拉公式&#x…

指针运算笔试题解析(2)

指针运算笔试题解析 题目一解析 题目二解析 压轴题&#xff08;困难&#xff09;解析 题目一 #include <stdio.h> int main() {int aa[2][5] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };int *ptr1 (int *)(&aa 1);int *ptr2 (int *)(*(aa 1));printf( "%d&#x…

学习笔记二十五:持久化存储

这里写目录标题 在k8s中为什么要做持久化存储查看k8s支持哪些存储常用的如下&#xff1a;使用存储卷&#xff0c;需要经历如下步骤 k8s持久化存储&#xff1a;emptyDirk8s持久化存储&#xff1a;hostPathhostpath存储卷缺点 k8s持久化存储&#xff1a;nfs搭建nfs服务k8snode2和…

Vue+Echarts 图表 x轴y轴添加单位字段

需求 代码 两个选择其中一个即可&#xff0c;Y轴也是如此设置 xAxis:{name: 月,// 这个设置只在末尾添加单位axisLabel: {formatter: {value}月 // 在每个x轴坐标都添加了单位} }yAxis:{name: 月,// 这个设置只在末尾添加单位axisLabel: {formatter: {value}月 // 在每个x轴坐…

这个提示词,别人不说,自己绝对想不到

AGI火了一年了&#xff0c;不知道大家的热情还在不在&#xff0c;还有没有在跟进相关的知识&#xff0c;技术&#xff0c;工具与最佳实践。对于我&#xff0c;Claude已经是常驻电脑右下角。 很多朋友问我&#xff0c;说哪些岗位会被颠覆掉&#xff0c;哪些人会被淘汰&#xff0…

【Redis】高并发分布式结构服务器

文章目录 服务端高并发分布式结构名词基本概念评价指标1.单机架构缺点 2.应用数据分离架构应用服务集群架构读写分离/主从分离架构引入缓存-冷热分离架构分库分表&#xff08;垂直分库&#xff09;业务拆分⸺微服务 总结 服务端高并发分布式结构 名词基本概念 应⽤&#xff0…