zoukankan      html  css  js  c++  java
  • MySQL--数据库范式

    数据库范式

    1. 第一范式(1 NF )

    第一范式是最基本的范式,符合数据表的原子性。第一范式就是每一个属性都不可再分。

    • 表中的同一列的类型相同

    • 一个列名只能对应到一列

    • 每一列都不可分

    • 行的上下关系互不影响
      image

    2. 第一范式(2 NF)

    第二范式,是在1 NF的基础上,消除了非主属性对于主属性的部分函数依赖,简单的说就是表中的非主属性必须完全依赖于主属性

    完全依赖: 不能存在仅仅依赖候选键一部分的属性。

    image

    • 判断一个关系是否属于第二范式:
      • 找出数据表中的所有候选键
      • 找出所有主属性和非主属性
      • 判断所有的非主属性对候选键的部分函数依赖
        image

    3.第一范式(3 NF )

    第3范式指的是表中的所有数据元素,不但要能唯一的被主关键字所标识,而且它们之间还必须相互独立,不存在其他的函数关系。

    也就是说:在2 NF 的基础上,消除传递函数依赖。传递函数依赖,指的是如果存在A --> B -->C 的决定关系,则C 传递函数依赖于A。

    image

    4. BC范式(BC NF)

    BC NF 是消除主属性对主键的部分和传递依赖。
    image

    5. 第四范式(4 NF)

    第四范式是消除表中的多值依赖

    image
    image

    总结

    • 1 NF 是为了保证原子性,每个列属性不可再分
    • 2 NF 是为了消除非主属性对主属性部分函数依赖
    • 3 NF 是为了消除非主属性对主属性传递函数依赖
    • BC NF 是为了消除主属性对主键部分和传递依赖。
    • 4 NF 是为了消除中的多值依赖

    注意:

    本文图片来源: https://www.bilibili.com/video/BV1AM4y1u7cB?from=search&seid=10981649986536367252

    小姐姐不光讲的很清楚,说话又好听,点开看看吧,嘻嘻。

    image

  • 相关阅读:
    HDU 1950 Bridging signals
    HDU 1025 (LIS+二分) Constructing Roads In JGShining's Kingdom
    HDU 1160 FatMouse's Speed
    HDU 1257 最少拦截系统
    HDU 1574 RP问题
    解同余式ax ≡ c(mod m)
    拓展欧几里得算法及代码实现
    百练 1088 滑雪
    [再做01背包] POJ 3624 Charm Bracelet
    百练 2755 神奇的口袋
  • 原文地址:https://www.cnblogs.com/sinlearn/p/14961240.html
Copyright © 2011-2022 走看看