范式

关系数据库中的关系要满足一定要求的,满足不同程度的要求的为不同的范式。

各种范式之间的关系
5NF⊂4NF⊂BCNF⊂3NF⊂2NF⊂1NF

  • 1NF:
    作为一个二维表,关系要符合一个最基本的田间,每个分量必须是不可分的数据项,即具有原子性。

1NF强调的是列的原子性,即列的属性不可再拆分。比如下表包含「姓名」、「性别」、「电话」字段。但是在实际应用场景中,「电话」是可以被拆分为「家庭电话」以及「工作电话」的。所以我们说,「电话」这一列不符合原子性原则,也就是说这个表不符合1NF。
正确的做法应该是将「电话」拆分为「家庭电话」和「工作电话」。
(总结:就是一个表中的属性,不能拆分成多个就说这个表符合第一范式)。

  • 2NF
    在第一范式的基础上,没有非主属性对于码的部分函数依赖。即每个非主属性完全依赖于任何一个候选码

举例学生成绩表(学号,姓名,科目,成绩,所属院系,系主任)
此表中由于成绩是由科目和学号共同确定的,只有当学号确定,科目确定,才能知道成绩。
所以这个表的码就是(学号,科目)这两个组成的。然后就是说主属性是学号和科目,非主属性是姓名,成绩,所属院系,系主任。
因为姓名可以不需要科目只由学号单独就能确定出来,所以说非主属性(姓名)部分函数依赖于码(学号,科目)。所以此表不符合第二范式,要想他符合2NF必须将此表分成两个表:学生表(学号,姓名,所属院系,系主任),成绩表(学号,科目,成绩)。

  • 3NF
    不存在非主属性对码的部分函数依赖和传递函数依赖。

举例学生表(学号,姓名,所属院系,系主任)
在这个表中,主属性是学号,由学号可以确定其他的属性,
但是由以下情况 学号–>所属院系,所属院系–>系主任 学号–>系主任
学号可以确定所属院系,所属院系可以确定系主任,学号又可以确定系主任
具有传递关系,即存在非主属性(系主任)对码(学号)的传递函数依赖,所以不符合第三范式。
要想符合3NF就拆分表:学生表(学号,姓名,所属院系) ,院系表(院系,系主任)。


范式1NF,2NF,3NF相关推荐

  1. 数据库范式1NF 2NF 3NF详细阐述

    范式:关系数据库中的关系是要满足一定要求的,满足不同程度要求的不同范式.满足最低要求的叫第一范式,简称1NF ,在第一范式中满足进一步要求的为第二范式,其余以此类推.通俗来说是满足数据库关系表中的一套 ...

  2. 【转】关系型数据库的设计范式 1NF 2NF 3NF BCNF

    本文转载自:https://www.cnblogs.com/langdashu/p/5924082.html 一.缘由: 要做好DBA,就要更好地理解数据库设计范式.数据库范式总结概览: 为了更好地理 ...

  3. 数据库范式1NF 2NF 3NF BCNF

    设计范式(范式,数据库设计范式,数据库的设计范式)是符合某一种级别的关系模式的集合.构造数据库必须遵循一定的规则.在关系数据库中,这种规则就是范式.关系数据库中的关系必须满足一定的要求,即满足不同的范 ...

  4. 数据库范式 1NF, 2NF, 3NF的问题与细解

    转自https://www.jianshu.com/p/94a274ef35a9 一. 关于数据冗余与异常 数据库的规范化 数据库规范化是一种在数据库中组织数据的技术. 规范化是消除冗余(重复)和不良 ...

  5. 数据库范式1NF 2NF 3NF BCNF通俗讲解

    1NF(第一范式) 在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库. 所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数 ...

  6. MYSQL学习笔记06:列属性[NULL,default,comment],主键,自增长,唯一键,数据库设计规范[范式(1NF,2NF,3NF),逆规范化],表关系[1V1,1VN,NVN]

    列属性 列属性又称为字段属性. 在mysql中一共有6个属性:null,默认值,列描述,主键,唯一键和自增长. NULL属性 NULL属性代表字段为空. 如果对应的值为yes表示该字段允许为null, ...

  7. 3nf mysql表_数据库三大范式(1NF,2NF,3NF)及ER图

    数据库三大范式(1NF,2NF,3NF)及ER图 百度官方解释: 设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据 ...

  8. 数据库范式解析(1NF 2NF 3NF BCNF)

    数据库设计范式是关系型数据库的设计准则.其目的在于通过规划设计使得数据库结构合理,尽量减少数据冗余,消除存储异常,方便数据的插入.更新和删除操作.目前常用范式包括1NF(第一范式).2NF(第二范式) ...

  9. 数据库三大范式(1NF,2NF,3NF)及ER图

    数据库三大范式(1NF,2NF,3NF)及ER图 百度官方解释: 设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据 ...

最新文章

  1. 小乐乐打游戏(BFS+曼哈顿距离)
  2. mongodb 复制集 维护小结
  3. 1499抢飞天茅台?可惜了,才26万的并发app就崩了!
  4. MLP is Best?
  5. C++最大数的幂 largest power实现算法(附完整源码)
  6. 基于蒙特卡罗模拟的金融风险评估-函数调用关系图
  7. 第九十五期:Python帮你识破双11的套路
  8. linux版_微软爱 Linux:安全杀毒软件 Defender ATP 要出 Linux 版了! | Linux 中国
  9. OSGI-flex-blazeds通信
  10. Main函数参数argc,argv说明
  11. 基于Starling的mask实现
  12. AndroidStudio安卓原生开发_UI控件介绍---Android原生开发工作笔记96
  13. cocos 发布android 返回值2,用cocos creator打包发布的时候,编译失败是怎么回事?执行命令出错,返回值:1。...
  14. Urllib3 库详解
  15. python删除一行代码_python基础教程:python3.7 openpyxl 删除指定一列或者一行的代码...
  16. 服装ERP软件有哪些优点?
  17. 实验2014062701:opencv对图像的点操作
  18. shell的课程大纲
  19. 代码批量删除QQ日志和说说
  20. html 调用es2015模块,在浏览器中懒加载ES2015模块

热门文章

  1. CMD下添加IP地址,删除IP地址
  2. 多维向量的均值、协方差
  3. 创基MIFI多功能分线器实现随时随地上网需求
  4. python创建目录
  5. webrequest 访问https url代
  6. 私有vlan(PVLAN)实验配置步骤
  7. MySQL8.0 通过data文件和SQL语句恢复数据库
  8. gotoxy()的用法.
  9. php中文网第八期大纲,ppt大纲不显示文字怎么办
  10. JavaCV - 图像色温调整