大数据互联网架构阶段 数据库三范式与反范式

一、 三范式

    主键: 创建表时可以不设置主键 , 但是没有设置主键的表 , 底层会认为所有的键都是主键 ,所以在创建时使用了所有的字段创建索引 , 在查询时索引的存在几乎没有意义 。
    复合主键: 两个或两个以上的字段作为评价一条数据记录的唯一性标志 。
    第一范式:

  1.         强调列的原子性 , 即:列不能分成几列
  2.         只要是关系型数据库 , 就自然的遵循第一范式


    第二范式:

  1.         首先满足第一范式
  2.         必须有主键
  3.         没有包含在主键中的列必须完全依赖于主键, 而不能只依赖主键的一部分


    第三范式:

  1.         首先满足第一范式
  2.         也属于第二范式的一种情况
  3.         任何非主键字段不能依赖于其他非主键字段


    三范式是在数据库初期使用(时间换取空间) , 能外键关联就外键关联 , 能不冗余数据设计 , 就不冗余。
    但是现在的系统对性能要求高, 对存储要求低(空间换时间)

二、 反范式

  1.     但是现在的系统对性能要求高, 对存储要求低(空间换时间) , 所以出现了一套反范式
  2.     反范式: 只要违反了第二范式和第三范式 , 就能做到空间换时间 , 获的最大的效率 。
     
发布了170 篇原创文章 · 获赞 64 · 访问量 19万+

猜你喜欢

转载自blog.csdn.net/hy_coming/article/details/105090578