数据库的设计

1、为什么需要数据库规范

  • 信息重复
  • 插入错误
  • 更新错误
  • 删除错误

2、三大范式

  • 第一范式(1NF)**:==**原子性,确保每一列不可再分==.例如下表中的数据一样,家庭信息和学校信息中的信息可以在分,每一个都可以在分为两个列

  • **第二范式(2NF)**:

    • 前提:满足第一范式
    • 每一个表都在描述一个事情,一个信息。例如学生表中只应该有学生信息,学校的具体信息应该在另外加一个表
  • 第三范式(3NF):

    • 前提:满足第二范式

    • 确保直接相连,例如下图的班主任信息一样,班主任信息依赖于班主任姓名,与学生姓名无关,所以要另起一个表,将班主任的信息分开。

3、性能和规范的问题

  • 考虑商业化的用途的话,那么就是性能比较重要
  • 在考虑性能的同时,要适当的考虑规范
  • 为了尽量避免多表查询,可以适当增加数据的冗余;
  • 故意增加一些计算列,降低数据量的查询,还可以增加索引