数据库常见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,又称完美范式);

        1.1 第一范式(1NF)

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

        1.2 第二范式(2NF)

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

        1.3 第三范式(3NF)

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

        1.4 巴斯·科德范式(BCNF)

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

        1.5 范式的优缺点

        1.5.1 优点

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

          1.5.2 缺点

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