范式

3 分钟阅读 356 字 + 328 词
八、业务设计
范式:设计数据库时需要遵循的 规则
1、范式设计(==重要==)
第一范式: 确保每列保持原子性,不能再分。
第二范式: 确保表中的每列都和主键完全相关,就是说完全通过主键确定其他列的信息。
第三范式: 确保每列都和主键列直接相关,而不是间接相关,不存在传递依赖。不能出现主键A决定B,然后B决定C的情况
优点:
1)可以尽量 减少数据冗余 2)范式化的表通常比反范式化的 表更小 3)范式化的数据库更新起来 更加快
不足: 1)范式化的表, 在查询的时候经常需要很多join关联,增加查询的代价。 2)更难进行索引优化
2、反范式设计
允许表中有少量的冗余信息
优点: 1)可以 减少表的关联 2)可以更好的进行索引优化
缺点: 1)存在数据冗余及数据 维护异常 2)对数据的修改需要更多的成本
总结
1、范式设计与反范式设计互为优缺点(范式设计的优点是反范式的缺点,范式设计的缺点是反范式的优点)
2、 如果数据库中的表更新比较频繁 ,就使用 范式设计 ,如果更多的在数据的查询上面,就使用 反范式设计