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

数据库范式

一、 三范式

  1. 主键: 创建表时可以不设置主键 , 但是没有设置主键的表 , 底层会认为所有的键都是主键 ,所以在创建时使用了所有的字段创建索引 , 在查询时索引的存在几乎没有意义 。
  2. 复合主键: 两个或两个以上的字段作为评价一条数据记录的唯一性标志 。
  3. 第一范式:
    1. 强调列的原子性 , 即:列不能分成几列
    2. 只要是关系型数据库 , 就自然的遵循第一范式
  4. 第二范式:
    1. 首先满足第一范式
    2. 必须有主键
    3. 没有包含在主键中的列必须完全依赖于主键, 而不能只依赖主键的一部分
  5. 第三范式:
    1. 首先满足第一范式
    2. 也属于第二范式的一种情况
    3. 任何非主键字段不能依赖于其他非主键字段
  6. 三范式是在数据库初期使用(时间换取空间) , 能外键关联就外键关联 , 能不冗余数据设计 , 就不冗余。
  7. 但是现在的系统对性能要求高, 对存储要求低(空间换时间)

二、 反范式

  1. 但是现在的系统对性能要求高, 对存储要求低(空间换时间) , 所以出现了一套反范式
  2. 反范式: 只要违反了第二范式和第三范式 , 就能做到空间换时间 , 获的最大的效率 。

你可能感兴趣的:(WEB,大数据)