范式
范式:Normal Farmat
,是为了解决数据的存储和优化问题。
在数据存储之后,凡是能够通过关系寻找出来的数据,坚决不再重复存储,范式的终极目标是减少数据冗余。
范式是一种分层结构的规范,共 6 层,分别为1NF
、2NF
、3NF
、4NF
、5NF
和6NF
,每一层都比上一层严格,若要满足下一层范式,其前提是先满足上一层范式。其中,1NF
是最底层的范式,6NF
为最高层的范式,也最严格。
MySQL 数据库属于关系型数据库,其存储数据的时候有些浪费空间,但也致力于节省空间,这就与范式想要解决的问题不谋而合,因此在设计数据库的时候,大都会利用范式来指导设计。但是数据库不单是要解决存储空间的问题,还要保证效率的问题,而范式只为解决存储空间的问题,所以数据库的设计又不能完全按照范式的要求来实现,因此在一般情况下,只需要满足前三种范式即可。
此外,咱们需要知道:范式在数据库的设计中是有指导意义的,但不是强制规范。
1NF
第一范式:在设计表存储数据的时候,如果表中设计的字段存储的数据,在取出来使用之前还需要额外的处理(拆分),那么表的设计就不满足第一范式,第一范式要求字段的数据具有原子性,不可再分