数据库的设计
1、为什么需要数据库规范
- 信息重复
- 插入错误
- 更新错误
- 删除错误
2、三大范式
- 第一范式(1NF)**:==**原子性,确保每一列不可再分==.例如下表中的数据一样,家庭信息和学校信息中的信息可以在分,每一个都可以在分为两个列

**第二范式(2NF)**:
- 前提:满足第一范式
- 每一个表都在描述一个事情,一个信息。例如学生表中只应该有学生信息,学校的具体信息应该在另外加一个表
第三范式(3NF):
前提:满足第二范式
确保直接相连,例如下图的班主任信息一样,班主任信息依赖于班主任姓名,与学生姓名无关,所以要另起一个表,将班主任的信息分开。

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



