zoukankan      html  css  js  c++  java
  • 数据库 三大范式

    设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。

    目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。

    平常我们用的最多的就是第一范式(1NF)、第二范式(2NF)、第三范式(3NF)

    1、第一范式(1NF)

    在关系模型中,每一个列都是不可分割的原子数据项。

     在上述表格中,在收货地址这一列有多个属性,不符合原子性原则。

    修改后:

    2、第二范式(2NF)

    在1NF的基础上,非码属性必须完全依赖于候选码(在1NF基础上消除非主属性对主码的部分函数依赖)。

    即一个表中只能保存一类数据,不能将几种不同的数据保存在同一个表当中。

    在上述表格中,是以订单号与产品号作为联合主键,故单价与订单号无关。

    修改后:

    3、第三范式(3NF)

    在2NF基础上,任何非主属性不依赖于其它非主属性(在2NF基础上消除传递依赖)。

    比如在上述第二范式的例子中,我们不能将总价格放于订单表中,因为价格是依赖于订单项表的,所以总价格应该是通过订单表关联订单项表算出来的。

  • 相关阅读:
    F#周报2019年第33期
    The .NET World——gPRC概览
    编程杂谈——Non-breaking space
    F#周报2019年第32期
    F#周报2019年第31期
    F#周报2019年第30期
    pat 乙级 1015. 德才论 (25) c++
    pat 乙级 1008. 数组元素循环右移问题 (20)
    PAT 乙级 1007. 素数对猜想 (20) c++ 筛选法求素数
    PAT-B 1005. 继续(3n+1)猜想 (25) c++
  • 原文地址:https://www.cnblogs.com/huqingfeng/p/12711930.html
Copyright © 2011-2022 走看看