前言:2NF必须在1NF的前提下,3NF必须在2NF的前提下,如果前提都不满足当然不是此阶级范式

1NF

只需要满足:在数据库表中每一个属性(列)都不可以再进行拆分(记住它就行)

例如 学生姓名就不可以再进行拆分(即是不能表中有表)

2NF

在满足1NF的前提下,每一个非主属性都完全依赖于任何一个候选码

完全依赖

Sno:学号

Sname:学生姓名

Cno:课程号

Grade:学生成绩

Sdept:系

Mname:系主任名

例如(Sno,Cno)->Grade

此时,必须由Sno和Cno共同出现,才能决定Grade

部分依赖:

例如(Sno,Cno)->Sdept

此时,Sno和Cno,任何一个都可以找到Sdept

候选码:

例如A->B,B->C则说明A是候选码,因为没有人可以决定A,所以他是候选码

例如(A,B)-C,C-A,则(A,B)和(C,B)都可以做为候选码,(C,B)是因为C可以决定A所以可以替换

总结:(无人能决定它的,他就是候选码,多的,则应该加在一起写)

3NF

在满足2NF的基础上,非主属性无传递函数依赖即可

函数传递:

例如Sno->Sdept,Sdept->Mname

则推出Sno->Mname

BCNF(在3NF的基础上所有的属性都满足无传递即可,函数传递上面已经介绍)

1NF,2NF,3NF,BCNF范式(学习笔记)相关推荐

  1. 【数据库】范式理解:1NF,2NF,3NF,BCNF,4NF详析

    数据库入门(一)范式理解:1NF,2NF,3NF,BCNF,4NF详析 引言 范式种类 第一范式(1NF) 符合1NF的关系中的每个属性都不可再分 存在问题 第二范式(2NF) 在1NF基础上消除了非 ...

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

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

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

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

  4. 数据库范式(1NF 2NF 3NF BCNF)详解

    数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的.结构明晰的,同时,不会发生插入(insert).删除(delete)和更新(update)操作异常.反之则是乱七八糟,不仅给 ...

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

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

  6. 关系数据库范式(1NF, 2NF, 3NF, BCNF)基本概念

    定义:符合某一种级别的关系模式的集合,表示一个关系内部各属性之间的联系的合理化程度. 关系模式的范式主要有4种,即第一范式(1NF).第二范式(2NF).第三范式(3NF)和BCNF范式.满足这些范式 ...

  7. 数据库范式(1NF 2NF 3NF BCNF)详解一

    数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的.结构明晰的,同时,不会发生插入(insert).删除(delete)和更新(update)操作异常.反之则是乱七八糟,不仅给 ...

  8. mysql bcnf_数据库范式(1NF 2NF 3NF BCNF)详解一

    数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的.结构明晰的,同时,不会发生插入(insert).删除(delete)和更新(update)操作异常.反之则是乱七八糟,不仅给 ...

  9. mysql中bcnf_数据库范式(1NF 2NF 3NF BCNF)详解

    @hxx: http://blog.sina.com.cn/u/3113060227 简介:一范式:每一列不可分割,二范式:每一列唯一(对应唯一对象):三范式:一列中的非主关键列不应该在其他表(或自己 ...

最新文章

  1. python营销骗局_python案例:金融营销活动中欺诈用户行为分析
  2. 新手用python2还是3-新手用python2还是3
  3. 给wxPython事件处理函数传递参数
  4. PyCharm3.0默认快捷键
  5. 一个div 上下两行_用 Python 撸一个 Web 服务器第4章:动态渲染数据
  6. GDCM:gdcm::SequenceOfItems的测试程序
  7. Javascript aop(面向切面编程)之around(环绕)
  8. UVA - 315 Network(tarjan求割点)
  9. java中的char可以存储汉字吗?
  10. 过了这么多年,才发现写的最多的代码竟然是...
  11. opengl es 实现旋转的三角形
  12. poj2752Seek the Name, Seek the Fame【kmp next数组应用】
  13. Python的切片操作
  14. 003 python 注释/数据类型/运算符/输入输出/格式化输出
  15. Redis的数据类型(对象)
  16. 【TSP】基于matlab模拟退火算法求解旅行商问题【含Matlab源码 136期】
  17. 589. N叉树的前序遍历
  18. PreparedStatement的用法
  19. 分享一个可以让你在朋友圈赚钱的小工具
  20. mumu模拟器安装xpk包

热门文章

  1. 2023拼多多商品详情,拼多多sku采集
  2. rabbitmq——交换机fanout和direct
  3. 怎样使用计算机上的高级共享设置密码,怎么设置电脑共享密码
  4. 央视CCTV摄制组进驻领存深入报道
  5. Redis数据库(二)
  6. 湖南大学计算机学院陈浩,杨圣洪-湖大信息科学与工程学院
  7. 盛水容器问题php代码,盛水容器的形状如图2-13所示,已知各水面高程为▽1=1.15m,▽2=0.68m,▽3=0.44m...
  8. 小程序之仿小米商城Lite
  9. 孤独,是优秀的必经之路
  10. Tomat介绍--1