数据库范式是关系型数据库中表的一种设计规则
    什么是范式(NF = NormalForm)

    • 范式是符合某一种设计要求的总结

    在数据库中表的设计,必须保证其合理性

    • 数据库表的设计关系整个系统的架构,关系到后续的开发效率和运行效率

    如何设计合理的数据库表

    • 结构合理
    • 冗余数据少
    • 尽量避免插入删除修改异常
    • 遵循一定的规则,在关系型数据库中这种规则就称为范式

    关系型数据库有六种常见范式:

    • 第一范式(1NF)
    • 第二范式(2NF)
    • 第三范式(3NF)
    • 巴斯-科德范式(BCNF)
    • 第四范式(4NF)
    • 第五范式(5NF)

    各个范式是依次嵌套包含的:
    在第一范式的基础上进一步满足更多规范要求的称为第二范式(2NF),其余范式以此类推。
    image.png
    范式越高,设计质量越高,在现实设计中也越难实现,一般数据库设计,达到第三范式就足够了

    数据库范式中的概念
    元组:可以理解为一张表中的每条记录,也就是每一行数据。
    属性:可以看作是“表的一列”。

    • 主属性:在一个关系中,如一个属性是构成某一个候选关键字的属性集中的一个属性,则称它为主属性。例如:在关系——学生(学号,姓名,年龄,性别,班级)中,主属性是“学号”,那么其他的“姓名”、“年龄”、“性别”、“班级”就都可以称为非主属性。
    • 非主属性:不包含在候选码中的属性称为非主属性,相对于主属性来定义的。