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

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

  • 相关阅读:
    [轉]Discuz!NT 数据库读写分离方案
    [轉]最流行的PHP MVC框架
    [轉]关于MS SQL的执行计划
    [轉]Oracle读写分离架构
    [轉]資料庫讀寫分離
    [轉]SQL Server 老是死锁,或提示进程已牺牲,怎麽解决
    [轉]让IIS支持解析json
    [轉]jquery.validate全攻略
    [轉]Flex判断对象的类型
    [轉]mssql 数据表修复方法
  • 原文地址:https://www.cnblogs.com/huqingfeng/p/12711930.html
Copyright © 2011-2022 走看看