当前位置: 首页 > news >正文

【软考--软件设计师】11 关系型数据库

在这里插入图片描述
在这里插入图片描述

10 模式分解

  • 分解
    模式分解:将一个关系模式分解为多个子模式
    模式分解就是模式规范化的工具,模式分解使用无损连接和保持函数依赖来衡量模式分解后是否导致原有模式中部分信息丢失。

  • 无损连接
    在这里插入图片描述

  • 保持函数依赖
    在这里插入图片描述

11、事务管理

事务的ACID性质:
(1)原子性(Atomicity):要么都做,要么都不做。
(2)一致性(Consistency):事务执行的结果必须从一个一致性状态转到另一个一致性状态。中间状态对外不可见。
(3)隔离性(Isolation):事务之间相互隔离,互不干扰。
(4)持久性(Durability):事务成功提交后,对数据库的更新操作是永久有效的。

12、并发控制

  • 并发操作就是在多用户系统中,可能出现多个事务同时操作同一数据的情况。并发操作会导致3种数据不一致的问题:
    • 丢失修改(丢失更新)
      当两个事务T和T,读入同一数据做修改,并发执行时,T把T或T,把T,的修改结果覆盖掉,造成了数据的丢失更新问题,导致数据不一致。
    • 不可重复读
      事务7,读取了数据R,事务T,读取并更新了数据R。当事务T,再读取数据R以进行核对时,得到的两次读取数据不一致。
    • 读脏数据
      事务T,更新了数据R,事务T,读取了更新后的数据R,事务T,由于某种原因被撤销,进行了事务回滚,数据R恢复原值,事务T,读取了脏数据。
      造成以上3种数据不一致的主要原因是事务的并发操作破坏了事务的隔离性-
  • 并发控制类型:
    • 排他锁(X锁):
      事务T对数据A加X锁:
      (1)只允许事务T读取、修改数据A;
      (2)只有等该锁解除之后,其他事务才能够对数据A加任何锁类型
    • 共享锁(S锁):
      解决了X锁太严格,不允许其他事务并发读的问题。事务T对数据A加S锁,则:
      (1)只允许事务T读取数据A但不能够修改:
      (2)可允许其他事务对其加S锁,但不允许加X锁

13 数据库备份与回复

  • 数据库的故障类型
    ①事务内部故障:如运算溢出、除零错误、并发事务发生死锁等;
    ②)系统故障:也称为软故障,是指造成系统停运的事件,如CPU故障、OS故障、突然停电等③介质故障:也称为硬故障,如磁盘损坏等;
    ④计算机病毒:
  • 数据库的备份方法
    数据库的转储分为静态转储和动态转储,海量转储、增量转储和差量转储,以及日志文件
    • 静态转储:即冷备份,指在转储期间不允许对数据库进行任何存取、修改操作。
      优点是非常快速、容易归档(直接物理复制操作)。
      缺点是只能提供到某一时间点上的恢复,不能做其他工作,不能按表或按用户恢复。
    • 动态转储:即热备份,在转储期间允许对数据库进行存取、修改操作,因此,转储和用户事务可以并发执行。
      优点是可在表空间或数据库文件级备份,数据库仍可使用,可达到秒级恢复。
      缺点是不能出错,否则后果严重,若热备份不成功,所得结果几乎全部无效。
  • 海量转储(完全转储):是指每次转储全部数据库。
  • 增量转储:是指每次只转储上次转储后更新过的数据,用于数据库很大,事务处理频繁的场景。
  • 差量转储:是对最近一次数据库完全备份以来发生的数据变化进行备份,优点是速度快,占用较小的时间和空间。
  • 日志文件:在事务处理过程中,DBMS把事务开始、事务结束以及对数据库的插入、删除和修改的每一次操作写入日志文件。一旦发生故障,DBMS的恢复子系统利用日志文件撤销事务对数据库的改变,回退到事务的初始状态。

14 数据仓库

在这里插入图片描述
数据仓库与数据库对比:

数据仓库数据库
面向主题面向事务
数据结构是集成的,具有一致性数据结构更为复杂
是静态的历史数据,只能定期添加、刷新是动态变化的,业务发生,数据就更新
存储历史数据存储实时、在线数据
设计需要引入冗余设计尽量避免冗余

15 分布式数据库

  • 分布式数据库通常使用较小的计算机系统,每台算机可以单独放在一个地方,每台计算机中都可能有DBMS的一份完整拷贝副本或部分拷贝副本,并具自己局部的数据库,位于不同地点的许多计算机通过网络互相连接,共同组成一个完整的、全局的逻辑上集中、物理上分布的大型数据库
  • 分布式数据库的核心:
    • 数据分片:突破中心化数据库单机的容量限,将数据分散到多节点,以更灵活、高效的方式来处理数据。
      分片方式包括:
      ①水平分片:按行进行数据被分割,数据分割为一个个数据组,分散到不同节点上;
      ②垂直分片:按列进行数据分割,一个数据表的模式被切割为多个子模式。
    • 数据同步:由于数据库理论传统上是建立在单机数据库基础上,而引入分布式理论后,一致性原则被打破。因此引入数据库同步技术来帮助数据库回复一致性。
  • 分布式数据库特点:高可扩展性、高并发性、高可用性。
http://www.lqws.cn/news/557335.html

相关文章:

  • WebRTC(十二):DTLS
  • 关于前端页面上传图片检测
  • 暑假复习篇之运算与逻辑
  • UI前端大数据可视化创新:利用AR/VR技术提升用户沉浸感
  • 什么是集中刷新,分散刷新,和异步刷新
  • 从 AJAX 到 axios:前端与服务器通信实战指南
  • 2023国赛linux的应急响应-wp
  • Re--攻防世界-基础android
  • C++ vector 完全指南:从入门到精通
  • 源码运行效果图(六)
  • 【HarmonyOS Next之旅】DevEco Studio使用指南(三十八) -> 构建HAR
  • 基于springboot的海产品交易系统
  • 【数据标注师】3D标注
  • JWT认证性能优化实战指南
  • 《从 0 到 1 掌握正则表达式:解析串口数据的万能钥匙》
  • springboot+Vue逍遥大药房管理系统
  • 创建套接字时和填充地址时指定类型的异同
  • C++泛型编程2 - 类模板
  • 【数论】P11169 「CMOI R1」Bismuth / Linear Sieve|普及+
  • 嵌入式硬件与应用篇---寄存器GPIO控制
  • 进阶向:Flask框架详解,从零开始理解Web开发利器
  • Odoo邮箱别名使用指南:从配置到业务流程自动化
  • C# 委托(为委托添加方法和从委托移除方法)
  • docker部署后端服务的脚本
  • Golang JSON 标准库用法详解
  • Foundry测试实战:解锁区块链测试新姿势
  • Java 大视界 -- Java 大数据机器学习模型在金融市场高频交易策略优化与风险控制中的应用(327)
  • 单调栈一文深度解析
  • NLP——文本预处理(下)
  • 翻译服务器