美文网首页服务器
关系型数据库范式

关系型数据库范式

作者: 余明豪 | 来源:发表于2018-04-01 16:36 被阅读12次

关系型数据库

关系型数据库范式

1)1NF(第一范式): 数据库表的每一列都是不可拆分的最小单元。 如“电话号码”这个属性可以继续被分割为“办公电话”、“手机号码”等属性,在第一范式的语义下不应该被作为单独的一列出现。

口语化理解: 第一范式: 表中的每一列都是不可拆分的最小单元,例如电话号码可已拆分为办公电话、手机号码,电话号码就不应该作为单独的一列出现。

2)2NF(第二范式):必须先满足第一范式。 数据库表中的每一行必须可以被唯一的区分,即每一行中有一个唯一标识将这行与其他行区分出来,这个唯一标识就是我们常说的主键。在2NF的语义下,所有非主键的字段都要依赖主键。比如在学生表中我们用学生id作为主键,那么当我们需要查询一个学生的时候,通过他的id号应该可以唯一地定位到这个学生,会并且只会查出一行。

口语化理解: 第二范式: 先满足第一范式, 然后要求数据表中的每一行都有个标识能跟其他行区分开来,这个标识时主键。例如查询一个订单时,通过订单id就能定位到这个订单,而且只会查出一行。

3)3NF(第三范式):必须先满足第二范式。非主键字段都与主键字段有直接依赖关系,不存在传递依赖。可以理解为非主键字段只依赖主键字段,而不依赖其它的非主键字段。

口语化理解: 第三范式: 先满足第二范式, 要求 不是主键的其他字段要于主键直接相关。
例如订单表, 有订单id、订单日期、产品id、产品名称。 产品名称跟主键订单id不是直接相关的而是间接相关的,不应该出现在该表内,可以拆分为两个表订单表:订单id、订单日期、产品id, 产品表:产品id 、产品名称。

二跟三的区别在于,二没有规定是否时直接相关的

4) BCNF :第三范式的扩展和加强。

口述: BCNF 主要在于解耦合,例如:表结构: 仓库id 管理员id 物品id 物品数量。仓库id和管理员id耦合在一起了,为了解耦合,可以改为两张表:仓库id 物品id 物品数量,增加表关系表: 仓库id 管理员id。

5) 4NF(第4范式):先满足第三范式, 要求将表中的多值属性拆分出来,分别建表。
例如: 电话号码, 这个就是多值属性。可已单独建表。

相关文章

  • MySQL基础(4)——数据表操作

    数据库范式 数据库范式就是在设计关系型数据库时,遵循的规范,这样就能设计出比较合理的关系型数据库。关系型数据库有6...

  • 关系型数据库范式

    关系型数据库 关系型数据库范式 1)1NF(第一范式): 数据库表的每一列都是不可拆分的最小单元。 如“电话号码”...

  • 数据库知识点

    1、什么是关系型数据库? 2、什么是关系模型? 3、数据库三范式?

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

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

  • 多对一关系

    数据库表关联设计关系型数据库:第三范式:严格的关联关系的处理第三范式(Third Normal Form,3rd ...

  • 数据库部分 Day56 2019-01-15

    数据库部分 1. 关系型数据库的三范式 关系型数据库在设计表时要遵循的规范 第一范式:数据库表的每一列都是不可分割...

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

    数据库范式 范式的级别设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同...

  • 数据库范式

    数据库范式设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种...

  • 程序员面试备战篇:18个经典MySQL面试专题解析(干货分享答案

    1.数据库三范式是什么? 第一范式(1NF):字段具有原子性,不可再分。(所有关系型数据库系统都满足第一范式数据库...

  • Java程序员面试篇:经典MySQL面试专题

    1.数据库三范式是什么? 第一范式(1NF):字段具有原子性,不可再分。(所有关系型数据库系统都满足第一范式数据库...

网友评论

    本文标题:关系型数据库范式

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