• 系统架构师--数据库系统


    数据库系统

    三级模式-两级映射
    • 外模式(用户级数据库)
    • 外模式-概念模式映射
    • 概念模式(概念级数据库)
    • 概念模式-内模式映射
    • 内模式(物理级数据库)

    内模式:也称存储模式,是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。定义所有的内部记录类型、索引和文件的组织方式,以及数据控制方面的细节

    概念模式(模式)对应数据库的表

    外模式对应的是数据库里的视图

    外模式-概念模式映射:如果表发生了变化,只需要修改外模式-概念模式映射,不需要改应用程序

    概念模式-内模式映射:内部存储结构改变,只需要修改概念模式-内模式映射关系,不需要改应用程序

    数据库设计过程

    在这里插入图片描述

    1. 需求分析:产物:数据流图、数据字典、需求说明书
    2. 概念结构设计:ER模型 用户的数据模型,与DBMS无关的概念模型
    3. 逻辑结构设计:关系模式
    4. 物理设计

    需求分析阶段的任务是:对现实世界要处理的对象进行详细调查,在了解现行系统的概况,确定新系统功能的过程中,确定系统边界、收集支持系统目标的基础数据及其处理方法

    概念结构设计阶段的工作步骤

    1. 抽象数据
    2. 设计局部视图
    3. 合并取消冲突
    4. 修改重构消除冗余

    逻辑设计阶段的任务:对关系模式进一步地规范化处理、分解、合并或者增加冗余属性,提高存储效率和处理效率

    逻辑设计阶段:将ER图转成数据模式(如:关系模式)然后通过规范化将其结构调整好,并做相应地优化,最后是形成用户模式

    ER模型

    一个实体型转换为一个关系模式:1:1联系、1:n联系、m:n联系

    关系代数

    并、交、差、笛卡尔积、投影、选择、联接

    规范化理论
    函数依赖

    部分函数依赖:A、B ->C , A ->C

    传递函数依赖:A -> B, B -> C

    在这里插入图片描述

    价值与用途

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

    求候选关键字

    在这里插入图片描述

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

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

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

    范式

    在这里插入图片描述

    • 第一范式:在关系模式R中,当且仅当所有域只包含原子值,即每个分量都是不可再分的数据项,则称R是第一范式
    • 第二范式:当且仅当R是1NF,且每一个非主属性完全依赖主键(不存在部分依赖)时,则称R是第二范式
    • 第三范式:当且仅当R是1NF,且E中没有非主属性传递依赖于码时,则称R是第三范式
    • BC范式:设R是一个关系模式,F是它的依赖集,R属于BCNF当且仅当其F中每个依赖的决定因为必定包含R的某个候选码
    模式分解

    在这里插入图片描述

    表格法

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

    公式法:只适用于R拆分为两个函数依赖
    在这里插入图片描述

    并发控制

    在这里插入图片描述

    事务的4大特性:原子性、一致性、隔离性、持续性

    在这里插入图片描述

    封锁协议:

    • 一级封锁协议:事务T在修改数据R之前必须先对其加X锁,直至事务结束才释放。可防止丢失修改
    • 二级封锁协议:一级封锁协议加上事务T在读取数据R之前先对其加S锁,读完后即可释放S锁。可防止丢失修改,还可以防止读”脏“数据
    • 三级封锁协议:一级封锁协议加上事务T在读取R之前先对其加S锁,直到事务结束才释放。可防止丢失修改,还可以防止读”脏“数据与防止数据重复读
    • 二段锁协议:可串行化的。可能发生死锁

    S锁:读锁 X锁:写锁

    完整性约束
    • 实体完整性约束:主键
    • 参照完整性约束:外键
    • 用户自定义完整性约束

    复杂的约束更多的使用触发器完成的

    • 触发器
    数据库安全

    在这里插入图片描述

    数据库管理系统的安全措施有3个方面

    1. 权限机制:通过权限机制,限定用户对数据的操作权限,把数据的操作限定在具有指定权限的用户范围内,以保证数据的安全。在标准SQL中定义了授权GRANT来实现权限管理
    2. 视图机制:通过建立用户视图,用户或应用程序只能通过视图来操作数据,保证了视图之外的数据的安全性
    3. 数据加密:对数据库中的数据进行加密,可以防止数据在存储和传输过程中失密
    备份与恢复

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    分布式数据库

    在这里插入图片描述

    数据库优化

    在这里插入图片描述

    数据仓库与数据挖掘

    在这里插入图片描述

    商业智能系统(BI)主要包括数据预处理、数据仓库、数据分析和数据展现4个主要阶段

    • 数据预处理包括数据的**抽取(extraction)、转换(transformation)、加载(load)**三个过程(ETL过程)

    • 建立数据仓库则是处理海量数据的基础

    • 数据分析是体现系统智能的关键,一般采用OLAP(联机分析处理)和数据挖掘

    • 数据展现则主要保证系统分析结果的可视化

    在采用数据仓库技术进行数据收集时,有时会遇到一些略微不一致但可以纠正的数据,这时需要采用数据清洗技术对这些不一致的数据进行处理和纠正

    数据仓库4个特点

    1. 面向主题:操作型数据库的数据组织面向事务处理任务,各个业务系统之间各自分离,而数据仓库中的数据是按照一定的主题域进行组织。主题是一个抽象的概念,是指用户使用数据仓库进行决策时所关心的重点方面,一个主题通常与多个操作型信息系统相关
    2. 集成性:面向事务处理的操作型数据库通常与某些特定的应用相关,而数据仓库中的数据是在对原有分散的数据库数据进行抽取、清理的基础上经过系统加工、汇总和整理得到的,必须消除源数据中的不一致性,以保证数据仓库内的信息是关于整个企业的一致的全局信息
    3. 相对稳定性:操作型数据库中的数据通常需要实时更新,数据根据需要及时发生变化。数据仓库的数据主要提供企业决策分析之用,所涉及的数据操作主要是数据查询,一旦某个数据进入数据仓库以后,一般情况下将长期保留,也就是数据仓库中一般有大量的查询操作,但修改和删除操作很少,通常只需要定期的加载、刷新
    4. 反映历史变化:操作型数据库主要关心当前某一个时间段内的数据,而数据仓库中的数据通常包含历史信息,系统记录了企业从过去某一时点(如开始应用数据仓库的时点)到目前的各个阶段的信息,通过这些信息、可以对企业的发展历程和未来趋势做出定量分析和预取
    联邦数据库

    在这里插入图片描述

    反规范化

    对完全规范的数据库查询,通常需要更多的连接操作,从而影响查询速度。因此,有时为了提高某些查询或者应用的性能而破坏规范规则,即反规范化。主要方法包括:

    1. 增加冗余列
    2. 增加派生列
    3. 重新组表
    4. 分表,水平分割/垂直分割
  • 相关阅读:
    ceph osd分组
    【数据集标注制作】视频剪切标注1——类DarkLabel软件
    原生HTML,CSS,JS实现tab栏切换效果
    ios项目安装hermes-engine太慢问题
    C++ | string类的使用
    Activiti源码跟踪之模型Model操作
    uniapp uni.showToast 一闪而过的问题
    数据库的功能模块图怎么画,就以我图所示
    [附源码]计算机毕业设计JAVA 宠物医院管理系统
    Excel 5s内导入20w条简单数据(ExecutorType.BATCH)Mybatis批处理的应用
  • 原文地址:https://blog.csdn.net/u012748043/article/details/126448675