中级软件设计师备考---数据库系统2

news2024/11/19 17:34:06

目录

    • 规范化理论
    • 并发控制
    • 数据库完整性约束
    • 数据备份

规范化理论

在这里插入图片描述

  1. 函数依赖

    • 部分函数依赖:在一个关系中,一个非主属性依赖于该关系的某个候选键的一部分属性。
      举个例子,假设有一个关系R(A,B,C,D),其中(A,B)是候选键。
      如果C仅依赖于A,而不依赖于B,那么C就是一个部分函数依赖。
      因为C只依赖于候选键的一部分属性A,而不是整个候选键(A,B)
    • 传递函数依赖:在一个关系中,一个非主属性依赖于另一个非主属性,而不仅仅依赖于主属性。
      例如,假设有一个关系表格 R,其中有三个属性 ABC,且存在如下的函数依赖:ABBC。
      那么,由于存在 ABBC 两个函数依赖,就可以推出 AC 这个函数依赖,即 A 的取值能够唯一决定 C 的取值。
      这种 AC 的函数依赖就是传递函数依赖。
      
  2. 范式
    逐步优化,以解决插入异常、删除异常和数据冗余的问题。

    • 第一范式(1NF):每个属性都是原子性的

      第一范式要求属性值不可再分,即每个属性都是不可分割的原子值,不能再细分成更小的数据项。例如,一个人的姓名不能再分为姓和名两个属性。

    • 第二范式(2NF):满足1NF,每个非主属性都完全依赖于主键,消除非主属性对候选键的部分依赖

      第二范式要求每个非主属性都完全依赖于主键,即每个非主属性必须与主键相关,而不能只与主键的一部分相关【所以,如果候选键只有一个那肯定不满足第二范式】。这样可以消除数据冗余,避免数据更新时出现异常情况。例如,一个订单表中的商品名称和价格必须与订单号相关,而不能只与客户编号相关。

    • 第三范式(3NF):满足2NF,每个非主属性都不依赖于其他非主属性,消除非主属性对候选键的传递依赖

      第三范式要求每个非主属性都不依赖于其他非主属性,即不存在传递依赖关系。这样可以消除数据冗余,避免数据更新时出现异常情况。例如,一个学生表中的学生姓名和班级名称必须与学生编号相关,而不能只与班级编号相关。

    • 巴斯-科德范式(BCNF):满足3NF,每个决策属性都与候选键有函数依赖关系,消除主属性对候选键的传递依赖

      BCNF要求每个决策属性都与候选键有函数依赖关系,即不存在任何非平凡函数依赖关系。这样可以消除数据冗余,避免数据更新时出现异常情况。例如,一个教师表中的教师姓名和教师编号必须与科目名称相关,而不能只与科目编号相关。

  3. 模式分解

    保持函数依赖的分解是指在无损分解的基础上,保持原来的函数依赖关系不变。保持函数依赖的分解需要满足以下条件:

    要保持原来的函数依赖关系不变。
    
    要将原来的关系模式分解成多个关系模式,使得每个关系模式都只包含一部分属性。
    
    要满足无损分解的条件。
    

    无损分解是指将一个关系模式分解成多个关系模式,使得在进行关系代数运算时不会损失任何信息。 具体来说,无损分解需要满足以下条件:

    要将原关系模式的所有属性都包含在新的关系模式中。
    
    要保证新的关系模式之间没有重复的数据。
    
    要能够通过连接新的关系模式来还原原来的关系模式。
    

并发控制

并发产生的问题:

  • 丢失更新

  • 不可重复读

  • 读”脏“数据

解决方案— —封锁协议:

  • 一级封锁协议:可防止丢失修改

  • 二级封锁协议:可防止丢失修改和防止读“脏”数据

  • 三级封锁协议:可防止丢失修改、防止读“脏”数据和防止数据重复读

  • 两段锁协议:可串行化、可能发生死锁

封锁方式:

  • S封锁是指在网络设备上设置规则,阻止特定的IP地址或端口访问网络。S封锁通常用于防止网络攻击,例如拒绝服务攻击(DDoS)或钓鱼攻击。
  • X封锁是指在网络设备上设置规则,阻止特定的应用程序或协议访问网络。X封锁通常用于防止恶意软件或间谍软件等恶意应用程序的传播。

数据库完整性约束

  • 实体完整性约束【针对于主键】

  • 参照完整性约束【针对于外键】

  • 用户自定义完整性约束

  • 触发器【通过写脚本来实现数据库的管理要求】

数据备份

在这里插入图片描述

  • 冷备份是在系统关闭或者不可用的情况下进行备份。这种备份方式可以确保数据的完整性和一致性,但是需要停止系统运行,可能会影响业务的正常运行。

  • 热备份是利用备份软件,在系统正常运行的情况下进行备份。这种备份方式不需要停止系统运行,可以保证业务的连续性和可用性,但是备份过程中可能会影响系统的性能。

备份方式优点缺点
冷备份(静态备份)数据备份不会影响主要的生产环境,因为备份是在另一个系统或设备上进行的。冷备份是一种简单的备份方法,易于管理和维护。冷备份通常比热备份更经济实惠,因为不需要额外的硬件或软件。冷备份通常需要停机时间,因为数据必须在备份期间暂停或关闭。冷备份需要更多的手动操作,因为备份必须手动启动和停止。冷备份通常需要更长的恢复时间,因为数据必须从备份设备恢复到主要生产环境。不能按表或按用户恢复。
热备份(动态备份)高可用性:热备份可以确保系统的持续运行,即使出现故障,也可以快速切换到备份系统,保证系统的高可用性。数据完整性:热备份可以确保备份数据的完整性,避免数据丢失或损坏。时间效率:热备份可以在系统运行时备份数据,不需要停机或者重启系统,可以节省备份时间,提高数据备份的效率。成本高:热备份需要更多的硬件和软件资源,成本较高。需要专业技术:热备份需要专业技术支持,需要专业人员进行配置和管理。安全性问题:热备份可能会面临安全性问题,需要采取相应的安全措施来保护备份数据的安全。不能出错,否则后果严重。

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

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

相关文章

微服务学习之面试知识相关总结(Nacos、MQ)

文章目录 壹 微服务Nacos1.1 SpringCloud常见组件1.2 Nacos的服务注册表结构1.3 Nacos如何支撑内部数十万服务注册压力1.4 Nacos避免并发读写冲突问1.5 Nacos与Eureka的区别1.6 Sentinel的限流与Gateway的限流的差别1.7 Sentinel的线程隔离与Hystix的线程隔离的差别 贰 MQ知识2…

前端Img图片不同格式的互相转化

目录 一、格式简介 二、格式互转 2.1、base64在视图上进行页面展示 2.3、将二进制流转为url进行页面展示 2.3、静态路径转二进制流传给后端 一、格式简介 主要有base64(数字字母组成的乱码那种)、url(http://xxx地址那种)、二进制流(后端上传图片的格式)、本地项目文件夹…

【JavaEE】社区版IDEA(2021.X版本及之前)创建SpringBoot项目

目录 下载Spring Boot Helper 创建项目 下载相关依赖 判断成功 删除多余文件 项目建好后添加依赖 输出Hello World SpringBoot的优点 下载Spring Boot Helper 创建项目 下载相关依赖 如果没有配置过国内源,参考【JavaEE】Spring项目的创建与使用_p_fly的博…

[架构之路-173]-《软考-系统分析师》-5-数据库系统-6-分布式数据库系统

目录 5 . 6 分布式数据库系统 5.6.1分布式数据库槪述 0. 分布式数据库特点 1 . 分布式数据库的体系结构 2 . 分布式数据库的优点 5.6.2 数据切片 1 . 数据分片方法的分类 2 . 数据分片的原则 3 . 分布透明性 5.6.3分布式数据库查询优化 2 . 副本的选择与多副本的更新策…

数据迁移实践 | MySQL到ClickHouse,HTAP黄金搭档

MySQL是世界上最流行的开源数据库,也是OLTP界的顶流,但是对于OLAP分析型业务场景的能力太弱。ClickHouse是最近几年数仓OLAP分析查询领域的黑马,当红炸子鸡,有意思的是天然兼容MySQL语法。所以很多用户喜欢OLTP放MySQL&#xff0c…

2023年湖北安全员ABC证报考条件都有哪些?甘建二告诉你

一、安全员ABC证是什么? 安全员A、B、C证属于建筑三类人员证书。建筑三类人员:是指建筑施工企业主要负责人、项目负责人和专职安全生产管理人员。 建筑企业的法人代表,必须取得A证才能担任法人代表 建造师必须取得B证才能担任项目负责人 …

FreeRTOS 信号量(一)

文章目录 一、信号量简介二、二值信号量1. 二值信号量简介2. 创建二值信号量①函数 vSemaphoreCreateBinary ()②函数 xSemaphoreCreateBinary()③函数 xSemaphoreCreateBinaryStatic() 3. 二值信号量创建过程分析4. 释放信号量①函数 xSemaphoreGive()②函数 xSemaphoreGiveFr…

UFD203A101 3BHE019361R0101电 工理论、电子技术、信息处理、控制理论、电力系统分析

UFD203A101 3BHE019361R0101电 工理论、电子技术、信息处理、控制理论、电力系统分析 作为电气工程及其自动化专业的大学生都会关心电气工程及其自动化就业方向是什么?电气工程专业就业方向怎样?自动化专业就业方向怎样? 对于很多本专业的在校…

实验06:哈夫曼编码

1.实验目的: 理解贪心算法的思想,掌握哈夫曼编码的技术和图像编解码算法的基本。 2.实验内容: 统计图像像素灰度值的分布特性,利用哈夫曼编码构造码表,实现对图像的编码和解码。 3.实验要求: 首先完成…

《JavaEE》InputStream, OutputStream 的用法

目录 File类 路径 绝对路径 相对路径 InputStream和OutputStream的使用 InputStream基本用法 OutputStream基本用法 功能实现 我们先来尝试着使用一些File类完成一些基本操作 我们查看这个文本是否存在 如果不存在我们创建一个新的文本出来 在当前文件夹中创建一个新…

MATLAB函数封装1:生成QT可以调用的.dll动态链接库

在进行相关算法的开发和设计过程中,MATLAB具有特别的优势,尤其是对于矩阵运算的处理,具有很多现成的方法和函数可以进行调用,同时MATLAB支持把函数封装成不同的语言方便完成算法的集成。 这里记录利用MATLAB封装成C动态链接库&…

git 自学笔记

git 自学笔记 git 是一个开源的分布式版本控制软件,可以敏捷的处理任何大小项目。 git 的工作流程大体如下: 首先克隆一个git资源作为工作目录 在克隆的资源上添加或者修改文件 如果其他人也修改了,就要对资源进行更新 在提交时也要查看有没有…

通过使用生成对抗市场模型改进基于强化学习的交易的泛化

Improving Generalization in Reinforcement Learning–Based Trading by Using a Generative Adversarial Market Model | IEEE Journals & Magazine | IEEE Xplore Improving Generalization in Reinforcement Learning–Based Trading by Using a Generative Adversaria…

ASEMI代理ADG736BRMZ-REEL7原装ADI车规级ADG736BRMZ-REEL7

编辑:ll ASEMI代理ADG736BRMZ-REEL7原装ADI车规级ADG736BRMZ-REEL7 型号:ADG736BRMZ-REEL7 品牌:ADI /亚德诺 封装:MSOP-10 批号:2023 安装类型:表面贴装型 引脚数量:10 类型&#xff1…

c/c++:指针p+p-p*p/,数组a+1,指针减指针,指针实现strlen函数,指针的比较运算,指针数组,多级指针

c: 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,此时学会c的话, 我所知道的周边的会c的同学,可手握10多个offer,随心所欲,而找啥算法岗的,基本gg 提…

IMX6ULLPRO单独编译kernel+dtb内核模块以及uboot

目录 为什么编译驱动程序之前要先编译内核? 驱动程序要用到内核文件: 编译内核 编译安装内核模块 编译内核模块 安装内核模块到 Ubuntu 某个目录下备用 安装内核和模块到开发板上 Bootloader 介绍 编译 u-boot 镜像 为什么编译驱动程序之前要先编…

4.4 使用分组聚合进行组内计算

4.4 使用分组聚合进行组内计算 4.4.1 使用groupby方法拆分数据groupby方法的参数及其说明:groupby对象常用的描述性统计方法如下: 4.4.2 使用agg方法聚合数据agg函数和aggregate函数的参数说明1、使用agg求出当前数据对应的统计量2、使用agg分别求字段的…

X509证书中的Subject Public Key Info

SubjectPublicKeyInfo在TBSCertificate的第七项: 对于ECC id-ecPublicKey OBJECT IDENTIFIER :: { iso(1) member-body(2) us(840) ansi-X9-62(10045) keyType(2) 1 } id-ecPublicKey 是必须的 ECParameters :: CHOICE {namedCurve OBJECT IDENTIFIER -- implicitCurve NULL -…

java day10

第10章 创建Swing界面 10.1 Swing的特性10.1.1 标准对话框1. 确认对话框2. 输入对话框3.消息对话框4. 选项对话框 10.1.2 使用对话框10.1.3 滑块10.1.4 滚动窗格10.1.5 工具栏10.1.6 进度条10.1.7 菜单10.1.8 选项卡式窗格 10.1 Swing的特性 10.1.1 标准对话框 JOptionPane类…

HTML5 <rt> 标签、HTML5 <ruby> 标签

HTML5 <rt> 标签 实例 HTML5 <rt>标签用于表示为<ruby>标签中的注释内容。 一个 ruby 注释&#xff1a; <ruby> 漢 <rt> ㄏㄢˋ </rt> </ruby> 尝试一下 浏览器支持 IE 9、Firefox、Opera、Chrome 和 Safari 支持 <rt> 标…