https://www.cnblogs.com/JTrun/p/11069652.html
第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多规范要求的称为第二范式(2NF),其余范式以此类推。一般说来,数据库只需满足第三范式(3NF)就行了。所以这里就只记录三范式相关的知识。

一、1NF

数据库中的字段具有「原子性」,不可再分,并且是单一职责,比如:第一个字段为ID,它就是ID不能在分成两个字段了,不能说我要把这个人的ID、名称、班级号都塞在一个字段里面,这个是不合适的,对以后的应用造成很大影响;

二、2NF

建立在第一范式的基础上」 ,第二范式要求数据库表中的每个实例或行必须「可以被惟一地区分」。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。这个惟一属性列被称为主键

“unique”表示唯一的、不允许重复的,确实它经常会修饰某个字段,保证该字段唯一性,然后再设置该字段为主键;

三、3NF

建立在第一,第二范式的基础上」 ,确保每列都和主键列直接相关,而不是间接相关,不存在其他表的非主键信息,非主键字段不能相互依赖

这个怎么理解呢,比如student表,班级编号受人员编号的影响,如果在这个表中再插入班级的班主任、数学老师等信息,你们觉得这样合适吗?肯定不合适,因为学生有多个,这样就会造成班级有多个,那么每个班级的班主任、数学老师都会出现多条数据,而我们理想中的效果应该是一条班级信息对应一个班主任和数学老师,这样更易于我们理解,这样就形成class表,那么student表和class表中间靠哪个字段来关联呢,肯定是通过“classNo”,这个字段也叫做两个表的外键

但是在我们的日常开发当中, 「并不是所有的表一定要满足三大范式」 ,有时候冗余几个字段可以少关联几张表,带来的查询效率的提升有可能是质变的

数据库的第一范式,第二范式,第三范式相关推荐

  1. MySQL (4) 第一范式 第二范式 第三范式 BC范式

    第一范式 第一范式:所有属性都是不可分割的原子值. 也就是每个属性都是不可再分的. 例如下图就不符合第一范式的要求 实际上,1NF是所有关系型数据库的最基本要求,你在关系型数据库管理系统(RDBMS) ...

  2. 第一范式第二范式第三范式学习笔记

    三楚白云生佛手,九江寒月照禅心. --李日华<佛手岩> 文章目录 前言 一.第一范式(1NF) 二.第二范式(2NF) 三.第三范式(3NF) 四.参考学习视频 五.名词解释&知识 ...

  3. 第一范式 第二范式 第三范式 BC范式

    第一范式 第一范式:所有属性都是不可分割的原子值.  也就是每个属性都是不可再分的.  例如下图就不符合第一范式的要求   实际上,1NF是所有关系型数据库的最基本要求,你在关系型数据库管理系统(RD ...

  4. 第一范式 第二范式 第三范式理解

    数据库中设计一个好的标准化范式能大大减少数据冗余,增强数据的易操作性. 范式的演变: 第一范式:表中没有重复数据组 属性不可以再分,具有一个主键(主键组) 例如: 出现从重复的数据组,把它转换为第一范 ...

  5. 数据库(第一范式,第二范式,第三范式)

    范式:英文名称是 Normal Form,它是英国人 E.F.Codd(关系数据库的老祖宗)在上个世纪70年代提出关系数据库模型后总结出来的,范式是关系数据库理论的基础,也是我们在设计数据库结构过程中 ...

  6. 数据库中第一范式、第二范式、第三范式

    1 第一范式(1NF)无重复的列 所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性.如果出现重复的属性,就可 ...

  7. java的第一范式,数据库第一范式第二第三范式关系详解

    一.范式的定义 程序员在做数据库设计时不是心血来潮胡乱设计的,而是需要遵循一定的规范而为之,这些规范就是为了设计出合理而实用的数据库而总结的的,专门适用于任何关系型数据库. 数据库设计在很大程度上取决 ...

  8. 数据库_第一第二第三范式讲解(通俗易懂)

    第一范式(1NF)无重复的列 所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性.如果出现重复的属性,就可能需 ...

  9. 数据库设计第一范式(1NF)

    定义 第一范式要求关系数据库中一个实体的每一个属性都为不可再分解的基本数据单位.第一范式表达的核心思想的属性的原子性,是关系模式规范化的最低要求,否则,将有很多基本操作在这样的关系模式中实现不了. 1 ...

最新文章

  1. 机器学习数学 — 初等函数求导
  2. idea自动捕获_Smilefie:如何通过检测微笑来自动捕获自拍
  3. linux pthread_join 使用记录
  4. su 和su -的区别
  5. JNI的native代码中打印日志到eclipse的logcat中
  6. selendroid之inspector
  7. simple2.py
  8. 字节、阿里等大厂的技术如何?看看这些Java程序员的自学笔记
  9. mysql中数据定义语言_SQL数据定义语言(DDL)
  10. exp/imp 注释乱码问题或Oracle EXP-00091的解决方法
  11. scrapy信号扩展
  12. vim基础学习之自动补全功能
  13. Spring Cloud之Swagger集群搭建
  14. 地理数据处理之矢量数据
  15. 第2篇:Python 基础语法
  16. 如何取消a标签的下划线
  17. 创意APP如何盈利?怎么赚钱的?
  18. android 按钮倒计时读秒
  19. 简单易学的机器学习算法——Latent Dirichlet Allocation(理论篇)
  20. error TS7056

热门文章

  1. 【老生谈算法】标准遗传算法的MATLAB实现源码——遗传算法
  2. Java 必会10大的经典算法
  3. super()和this()
  4. delphi通过php连接数据库,delphi2010中使用sqlitesimpledelphi连接sqlite数据库并解决中...
  5. 通达信自动提示启明星、黄昏星K线组合形态(含指标公式源码)
  6. matlab2021a安装包
  7. mysql8.0Access denied for user 'root'@'' (using password: YES)
  8. 告别网贷系统圈钱模式,开启P2P网贷系统免费时代
  9. 人脸识别接口_DS-K5603-Z 海康威视人员通道人脸识别组件 1万人脸库 10.1英寸LCD触摸显示屏_DS-K5603-Z_DS-K5603-Z...
  10. 数据结构—冒泡排序 C语言代码实现(从前向后/从后向前两种)