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

    什么是范式

    设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。
    目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。

    来源:百度百科

    如何理解范式

    在网上找了很多关于范式的解释以及详解,说都都太专业了,都是用专有名词来解释什么是范式,范式的等级是如何划分

    而且要先去了解关于范式的专有名词,什么主属性,非主属性,主键,候选码,依赖等等,原本范式就有点不好理解

    再加上这些专有名词来来回回的使用,很容易把人绕进去,而且举的例子相对于初学者来说还是过于复杂

    下面将会用最通俗易懂的方式,来帮助你理解范式

    第一范式

    列不能再分

    红色表示主键

    这张表就不满足第一范式,因为地址可以再分

     这是符合第一范式的

    第二范式

    • 首先要符合第一范式
    • 表必须有主键
    • 非主键列不能只依赖于主键的一部分 

    这是不符合第二范式的(红色代表主键)---商品名称依赖了主键的一部分商品ID

    订单表

     这是符合第二范式的

    订单表

    商品表

    第三范式

    • 首先满足第二范式
    • 非主键列必须直接依赖于主键,不能存在传递依赖

    这是不符合第一范式的(红色代表主键)——学校描述没有直接依赖于主键,而是直接依赖于学校,学校直接依赖于主键,所以存在传递依赖

    学生表

    这是符合第一范式的

    学生表

    学校表

    通过以上案例,可以很好的帮助你去理解三大范式,有一个好的入门,再想去具体的往深理解,将会事半功倍

    原文链接

  • 相关阅读:
    NOIP2017 D1T2 时间复杂度
    NOIP2017 游记
    NOIP2017 Day-1 模板荟萃
    NOIP2013 货车运输 倍增
    洛谷3933 Chtholly Nota Seniorious 二分答案+贪心
    洛谷2474 [SCOI2008] 天平 差分约束->枚举
    bzoj1270 BeijingWc2008 雷涛的小猫 DP
    poj1061--青蛙的约会--扩展欧几里得
    “整除”的相关
    poj1067--取石子游戏--(神奇的黄金分割比)
  • 原文地址:https://www.cnblogs.com/masterhxh/p/12901154.html
Copyright © 2011-2022 走看看