• 【系统架构设计师】第三章 数据库系统


    【系统架构设计师】第三章 数据库系统

    数据库模式(⭐)
    分布式数据库(⭐⭐⭐)
    数据库设计阶段(⭐⭐)
    概念结构设计-ER模型(⭐)
    逻辑结构设计-关系模式(⭐⭐)
    关系代数(⭐⭐⭐⭐)
    规范化理论(⭐⭐⭐⭐⭐)
    并发控制(⭐)
    数据库的安全性(⭐)
    数据库备份与恢复技术(⭐)
    数据库性能优化(⭐)

    一、数据库模式

    在这里插入图片描述
    外模式和概念模式保证逻辑独立性,概念模式和内模式保证物理独立性

    关系的 3 种类型

    • 基本关系(通常又称为基本表或基表):实际存在的表,实际存储数据的逻辑表示
    • 查询表:查询结果对应的表
    • 视图表:由基表或其他视图表导出来的表,本身不独立存储,数据库只存放它的定义,常称为虚表

    数据库视图
    他是一个虚拟表(逻辑上的表),其内容由查询定义(仅保存 SQL 查询语句)。同真实的表一样,示图包含一系列带有名称的列和行数据。但是,视图并没有真正存储这些数据,而是通过查询原始表动态生成所需要的数据。因此视图的查询比较慢,性能较差

    视图的优点

    • 视图能简化用户操作
    • 视图使用户能以多种角度看待同一数据
    • 视图对重构数据库提供了一定程度的逻辑独立性
    • 视图可以对机密数据提供安全保护

    物化视图
    它不是传统意义上的虚拟视图,是实体化视图,其本身会存储数据。同时当原始表中的数据更新时,物化视图也会更新。但是当数据更新时,原表和物化视图都需要修改,导致整个系统变慢

    二、分布式数据库

    分布式数据库的特点

    • 数据独立性:除了数据的逻辑独立性与物理独立性外,还有分布独立性(分布透明性)
    • 集中与自治共享结合的控制结构:各局部的 DBMS 可以独立地管理局部数据库,具有自治的功能。同时,系统又设有集中控制机制,协调各局部 DBMS 的工作,执行全局应用
    • 适当增加数据冗余度:在不同的场地存储同一数据的多个副本,可以提高系统的可靠性和可用性,同时也能提高系统性能
    • 全局的一致性、可串行性和可恢复性
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

    三、数据库设计过程

    在这里插入图片描述

    四、概念结构设计

    在这里插入图片描述
    集成的方法

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

    集成产生的冲突

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

    五、关系模型基本概念

    关系模型是一种数据模型,数据模型包含三要素:数据结构、数据操作、数据的约束条件
    在这里插入图片描述

    六、逻辑结构设计

    在这里插入图片描述
    E-R 图向关系模式的转换

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

    关系模式的规范化
    确定完整性约束(保证数据的正确性)
    用户视图的确定(提高数据的安全性和独立性)

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

    应用程序设计

    七、关系代数

    在这里插入图片描述

    八、规范化理论

    非规范化存在的问题
    数据冗余、更新异常(修改操作一致性问题)、插入异常、删除异常

    基本概念
    设 R(U,F) 是属性 U 上的一个关系模式,X 和 Y 是 U 的子集,r 为 R 的任一关系,如果对于 r 中的任意两个元组 u,v,只要有 u[X]=v[X],就有 u[Y]=V[X],则称 X 函数决定 Y,或称 Y 函数依赖于 X,记为 X→Y

    1.求候选键的过程

    • 将关系模式的函数依赖用“有向图”的方式表示
    • 找入度为 0 的属性,并以该属性集合为起点,尝试遍历有向图,若能正常遍历图中所有节点,则该属性集即为关系模式的候选键
    • 若入度为 0 的属性集不能遍历图中所有结点,则需要尝试性地将一些中间节点(既有入度,也有出度的结点)并入入度为 0 的属性集中,直至该集合能遍历所有结点,集合为候选键

    2.Armstrong 公理

    在这里插入图片描述

    3.范式判断

    在这里插入图片描述
    第一范式
    在关系模式 R 中,当且仅当所有域只包含原子值,即每个属性都是不可再分的数据项,则称关系模式 R 是第一范式

    第二范式
    当且仅当实体 E 是第一范式,且每一个非主属性完全依赖主键(不存在部分依赖)时,则称实体 E 是第二范式

    第三范式
    当且仅当实体 E 是第二范式,且 E 中没有非主属性传递依赖于候选键时,则称实体 E 是第三范式

    BC 范式
    设 R 是一个关系模式,F 是它的依赖集,R 属于 BCNF 当且仅当其 F 中每个依赖的决定因素必定包含 R 的某个候选码

    九、模式分解

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

    无损分解
    不能还原就是有损,可以还原就是无损。无损联接分解:指将要给关系模式分解成若干个关系模式后,通过自然联接和投影等运算仍能还原到原来的关系模式
    在这里插入图片描述

    十、并发控制

    ACID
    原子性、一致性、隔离性、持久性

    并发读写问题
    脏读、不可重复读、幻读

    封锁协议
    在这里插入图片描述

    十一、数据库的安全性

    在这里插入图片描述

    十二、数据库备份与恢复技术

    • 冷备份也称为静态备份,是将数据库正常关闭,在停止状态下,将数据库的文件全部备份(复制)下来
    • 热备份也称为动态备份,是利用备份软件,在数据库正常运行的状态下,将数据库中的数据文件备份出来
      在这里插入图片描述
    • 完全备份:备份所有数据
    • 差量备份:仅备份上一次完全备份之后变化的数据
    • 增量备份:备份上一次备份之后变化的数据
      在这里插入图片描述
    • 撤销事务(UNDO):故障发生时未完成的事务,放入 Undo 撤销
    • 重做事务(REDO):故障发生前已提交的事务,放入 Redo 重做

    十三、数据库性能优化

    在这里插入图片描述

  • 相关阅读:
    Web自动化——python
    社区垃圾分类督导AI盒子应用的痛点难点分析
    bgp路由更新属性
    词汇与词组
    Mac下搭建Texstudio+Textlive(Mactex)
    Pytest 自定义HOOK函数
    读书随笔《围城》——就近日某高校高价引进海龟博士有感
    物理层
    Asp.Net各种超时问题总结
    Flask框架——MongoEngine使用MongoDB数据库
  • 原文地址:https://blog.csdn.net/qq_45593575/article/details/125801574