美文网首页
数据库设计的范式

数据库设计的范式

作者: 小冕 | 来源:发表于2022-01-21 11:57 被阅读0次

数据库设计的范式:

第一范式(1NF):指的是在关系模型中,对于添加的一个规范要求,所有的域都应该是原子性的,即数据库表的每一列都是不可分割的原子数据项,而不可能是集合,数组,记录等非原子性数据项。特点:原子性,同一列的类型相同,一个列名只能对应到一列,行的上下关系不影响。数据表中的每一个字段不可再分。

这种不是第一范式.png
第一范式.png
第二范式(2NF):数据表中不存在非关键字段对任意一候选字段的部分函数依赖。在1NF基础上,消除非主属性对主码的部分函数依赖。这个概念分两个层次理解:函数、函数依赖。
1.函数问题
所谓函数关系指的就是数据表中的列之间不应该存在的关系。如订单表(订单编号,商品名称,商品单价,商品数量,总价),这是这个表中存在函数关系了,总价=单价*数量。所以这样的就不符合第二范式(2NF)。
2函数依赖
满足第一范式.png
(身份证号,性别)→(学号,姓名,年龄,班级,班主任,爱好1,爱好2)
其中,班级和班主任部分函数依赖于主码
第二范式要使非主属性必须完全依赖于候选码
图片来自网络教学视频
表1 由身份证号主属性来锁定表2由主属性性别来锁定班级和班主任。
第三范式(3NF):在2NF基础上,任何非主属性不依赖于其他非主属性。
图片来自网络教学视频.png
满足第三范式要在2NF的基础上消除传递依赖: 图片来自网络教学视频.png
巴斯-科德范式(BCNF):在3NF的基础上,任何非主属性不能对主键子集依赖。
不满足BCNF例子 图片来自网络教学视频.png
拆分后满足BCNF
图片来自网络教学视频.png
第四范式(4NF):消除多值依赖
不满足4NF的例子如下:
图片来自网络教学视频.png
满足4NF例子如下:
图片来自网络教学视频.png
第5范式(5NF)::是最终范式。消除了4NF中的连接依赖。
第五范式有以下要求:
(1)必须满足第四范式
(2)表必须可以分解为较小的表,除非那些表在逻辑上拥有与原始表相同的主键。
第五范式是在第四范式的基础上做的进一步规范化。第四范式处理的是相互独立的多值情况,而第五范式则处理相互依赖的多值情况。
有一个销售信息表SALES(SALEPERSON,VENDOR,PRODUCT)。SALEPERSON代表销售人员,VENDOR代表供和商,PRODUCT则代表产品。
在某些情况下,这个表中会产生一些冗余。可以将表分解为PERSON_VENDOR表(SALEPERSON,VENDOR);PERSON_PRODUCT表(SALEPERSON,PRODUCT);VENDOR­_PRODICT表(VENDOR,PRODUCT)
本篇内容来自网络,本人只是做了结合来学习。

相关文章

  • 数据库设计范式

    数据库设计三大范式 数据库设计范式 什么是范式:简言之就是,数据库设计对数据的存储性能,还有开发人员对数据的操作都...

  • 数据库设计三范式与反范式

    MySql设计与优化系列笔记:一、数据库设计三范式与反范式二、MySql表设计与优化 第一范式: 1、数据库的所有...

  • mysql的优化总结(一)

    一。数据库设计方面 1)遵循数据库设计三大范式 ,适当的进行反范式设计 第一范式:1NF 原子性 字段不能再拆分 ...

  • python学习笔记-数据库07_高级操作_数据库设计

    数据库设计之三范式 范式:对设计数据库提出的一些规范,目前有迹可循的共有8中范式,一般遵循3范式即可。第一范式(1...

  • 数据库设计-三大范式

    讲到数据库设计,就需要先说一下数据库设计的三大范式(Normal Form)。 三大范式 第一范式(1NF):列属...

  • SQL范式

    范式(数据库设计范式,数据库的设计范式)是符合某一种级别的关系模式的集合。构造数据库必须遵循一定的规则。在关系数据...

  • 范式

    范式(数据库设计范式,数据库的设计范式)是符合某一种级别的关系模式的集合。构造数据库必须遵循一定的规则。在关系数据...

  • (系列7)数据库

    MySQL 数据库概念 范式 范式是数据库设计规范,范式越高则数据库冗余越小,但查询也更复杂,一般只需满足第三范式...

  • 数据库设计范式

    数据库设计范式 整理参考资料[1]参考资料[2] 数据库范式 设计关系数据库时,遵从不同的规范要求,设计出合理的关...

  • 57、【数据库技术】【MySQL】数据库范式

    1、概述 数据库范式是关系型数据库理论中比较重要的概念。“范式”可以理解成是“规则”、“规范”,数据库范式就是设计...

网友评论

      本文标题:数据库设计的范式

      本文链接:https://www.haomeiwen.com/subject/jrrehrtx.html