范式

来源:互联网 发布:上海中科软件 编辑:程序博客网 时间:2024/06/03 21:57


范式

范式(Normal Format):是设计合理的关系型数据库时,遵从不同的规范要求,这些不同的规范要求被称为不同的范式

范式是为了解决数据的存储和优化问题,保存数据的存储之后,凡是能够通过关系寻找出来的数据坚决不再存储,最终目的是减少数据的冗余;

范式是一种分层的结构规范,分为6层,每一次都比上一层更加严格,若要满足下一层的规范,前提必须满足上一层规范;

六层范式,1NF2NF3NF4NF5NF6NF1NF是最底层,要求最低;6NF是最高层,要求最严格;

Mysql是关系型数据库,有空间浪费,也是致力于节省存储空间,与范式所要解决的问题不谋而合,会利用到范式来指导设计;

但是数据库不单是要解决空间问题,还要保证效率问题,范式只为解决空间问题,所以数据库设计时不能完全依照范式的要求实现,所以一般情况只需要满足前三种范式即可;

范式在数据库设计时有指导意义,但不是强制要求;

1NF

1NF要求字段的数据具有原子性;

2NF

1NF的基础上,非码属性必须完全依赖于候选码(在1NF基础上消除非主属性对主码的部分函数依赖)(这时的候选码一般为复合键)

解决办法:(1)将复合键拆分到不同的表中;

  2)取消复合键,使用逻辑主键;

3NF

1NF基础上,任何非主属性不依赖于其他非主属性(在2NF的基础上消除传递依赖

 


0 0
原创粉丝点击