IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> MySQL数据库中的六大范式 -> 正文阅读

[大数据]MySQL数据库中的六大范式

一、范式的概念:

? ? ? ?设计关系数据库时,我们通过遵循不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求就是范式。

?? ? ? ?目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。

二、范式的具体描述:

第一范式(1NF)(字段分离)

一个行的每个列必须是原子性的(唯一并且不能再分割),即任何给定行的列只能包含一个值。

第二范式(2NF)(表分离)

第二范式在第一范式的基础上进行了扩展。

表必须符合第一范式。

表中的所有非主键列必须依赖于整个主键列。

第三范式(3NF)(建立主键、唯一键等相关索引的约束关系)

确保数据表中的每一列数据都和主键直接相关,而不能间接相关。

1NF:字段不可分;?
2NF:有主键,非主键字段依赖主键;?
3NF:非主键字段不能相互依赖;?

解释:?
1NF:原子性 字段不可再分,否则就不是关系数据库;

要求数据库表的每?列都是不可分割的原?数据项


2NF:唯一性 一个表只说明一个事物;?

要求数据库表中的每个实例或?必须可以被惟?地区分


3NF:每列都与主键有直接关系,不存在传递依赖;?

要求?个数据库表中不包含已在其它表中已包含的?主键字段

巴斯-科德范式(BCNF)

在3NF基础上,任何?主属性不能对主键?集依赖(在3NF基础上消除对主码?集的依赖)巴斯-科德范式(BCNF)是第三范式(3NF)的?个?集,即满?巴斯-科德范式(BCNF)必须满?第三范式(3NF)。通常情况下,巴斯-科德范式被认为没有新的设计规范加?,只是对第?范式与第三范式中设计规范要求更强,因?被认为是修正第三范式,也就是说,它事实上是对第三范式的修正,使数据库冗余度更?。这也是BCNF不被称为第四范式的原因。某些书上,根据范式要求的递增性将其称之为第四范式是不规范,也是更让?不容易理解的地?。?真正的第四范式,则是在设计规范中添加了对多值及依赖的要求。

(1)所有非主属性对每一个码都是完全函数依赖;

(2)所有主属性对每一个不包含它的码也是完全函数依赖;

(3)没有任何属性完全函数依赖于非码的任何一组属性。

第四范式(4NF)

对于第四范式,从理论层?来讲是,关系模式R∈1NF,如果对于R对于R的每个?平凡多值依赖X→Y(Y不属于X),X都含有候选码,则R∈4NF。4NF就是限制关系模式的属性之间不允许有?平凡且?函数依赖的多值依赖。显然?个关系模式是4NF,则必为BCNF

(1)消除表中的多值依赖,限制关系模式的属性之间不允许有非平凡且非函数依赖的多值依赖。

(2)也就是说,当一个表中的非主属性互相独立时(3NF),这些非主属性不应该有多值,若有多值就违反了4NF。第四范式禁止主键列和非主键列一对多关系不受约束。

第五范式(5NF)(完美范式)

不得存在不遵循键约束的?平凡连接依赖。如果且只有?个表符合4NF,同时其中的每个连接依赖被候选键所包含,此表才符合第五依赖

(1)必须满足第四范式;?
(2)表必须可以分解为较小的表,除非那些表在逻辑上拥有与原始表相同的主键。

第五范式是在第四范式的基础上做的进一步规范化。第四范式处理的是相互独立的多值情况,而第五范式则处理相互依赖的多值情况。第五范式将表分割成尽可能小的块,为了排除在表中所有的冗余。

相关例子阐释:了解数据库范式,看这篇文章就足够了!_ChenPlusPlus的博客-CSDN博客

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-12-28 22:59:50  更:2021-12-28 23:00:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 12:51:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码