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基础上消除传递依赖)。

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

  • 相关阅读:
    C# 从服务器下载文件
    不能使用联机NuGet 程序包
    NPOI之Excel——合并单元格、设置样式、输入公式
    jquery hover事件中 fadeIn和fadeOut 效果不能及时停止
    UVA 10519 !! Really Strange !!
    UVA 10359 Tiling
    UVA 10940 Throwing cards away II
    UVA 10079 Pizze Cutting
    UVA 763 Fibinary Numbers
    UVA 10229 Modular Fibonacci
  • 原文地址:https://www.cnblogs.com/huqingfeng/p/12711930.html
Copyright © 2011-2022 走看看