数据库常见4种范式

数据库范式

  • 1. 数据库范式
    • 1.1 第一范式(1NF)
    • 1.2 第二范式(2NF)
    • 1.3 第三范式(3NF)
    • 1.4 巴斯·科德范式(BCNF)
    • 1.5 范式的优缺点
      • 1.5.1 优点
      • 1.5.2 缺点

1. 数据库范式

  • 在关系型数据库中,关于数据表设计的基本原则、规则就称为范式
  • 关系型数据库有六种常见范式,按照范式级别,从低到高分别是:第一范式(1NF)、第二范式
    (2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式
    );

数据库常见4种范式_第1张图片
数据库常见4种范式_第2张图片

1.1 第一范式(1NF)

  • 第一范式要求数据表中每个字段的值必须具有原子性,也就是不可再分;
  • 属性的原子性具有主观性,需要根据场景应用具体分析;

1.2 第二范式(2NF)

  • 在第一范式基础上,要求:1)非主键字段必须完整依赖主键字段,而不是部分依赖;2)数据表记录可唯一标识
  • 第二范式说明每个数据表都是一个独立的对象,有自己的独立含义;

1.3 第三范式(3NF)

  • 在第二范式基础上,要求:数据表中的所有非主键字段必须与主键字段直接相关,而不能与其他非主键字段存在依赖关系
  • 所有非主键字段之间互相独立

1.4 巴斯·科德范式(BCNF)

  • 简称巴斯范式,是改进的第三范式;
  • 在第三范式基础上,要求:数据表只能有一个候选键每个候选键都是单属性,进一步降低数据冗余性;

1.5 范式的优缺点

1.5.1 优点

  • 降低数据冗余;
  • 在性能、扩展性和数据完整性取得较好平衡;

1.5.2 缺点

  • 数据冗余度越低,数据表数量越多;
  • 查询时涉及联合查询,且会造成部分索引无效,导致数据查询效率降低;

你可能感兴趣的:(MySql,Java开发,数据库,oracle,mysql,java)