1NF: 字段设计必须符合原子性
2NF: 不存在部分依赖(没有复合主键)
3NF: 不存在传递依赖(实体单独建表)
逆规范化: 效率与磁盘空间的博弈
- 范式:normal format,是一种离散数学中的知识,是为了解决一种数据的存储于优化的问题:保存数据的存储之后,凡是能够通过关系寻找出来的数据,坚决不再重复存储:
终极目标是为了减少数据的冗余
- 范式:一种分层结构的规范,分为六层:每一层都比上一层更加严格:若要满足上一层范式,前提是满足上一层范式
- 六范式:1NF、2NF、3NF、4NF、5NF、6NF:其中1NF是最底层的;6NF是最高层的,最严格
- MySQL属于关系型数据库:有空间浪费,致力于节省存储空间,与范式所要解决的问题不谋而合:在设计数据的时候,会利用范式来指导设计!但是数据库不单是要解决存储空间的问题,还需要保证效率问题:但是范式只是为了解决空间问题,所以数据库的设计又不可能完全按照范式的要求实现:一般情况下只要满足前三种范式即可
- 范式在数据库的设计当中具有指导意义:但不是强制规范
1NF
- 第一范式:
字段数据具有原子性,即字段数据不可再分
:在设计表存储数据的时候,如果表中设计的字段存储的数据,在取出来使用之前还需要额外的处理,例如拆分,那么说表的设计不满足第一范式
- 教师带课表
教师 |
性别 |
班级 |
教室 |
代课时间 |
AA |
male |
C |
D302 |
2014-02-27,2014-05-05 |
AA |
female |
C++ |
D304 |
2014-03-21,2014-05-30 |
CC |
male |
J |