正确的规范化可防止数据库中的数据异常。
https://docs.google.com/presentation/d/1z1aEu-unoBsyEDnwIrLrpCKg7-1VVA-IspTEm57FIiA/edit#slide=id.g3ed3e07691_2_50
数据的规范化与非规范化
https://www.jdon.com/48376
关系规范化理论及非规范化设计在数据库中的运用
https://www.cnblogs.com/jplee/archive/2006/10/12/527769.html
非规范化设计
把规范化(normalization)设计的高一级的关系范式(如3NF或BCNF)降低为低一级的关系范式的操作称为非规范化(denormalization),设计者一般用这种方式改变系统的性能以支持响应时间苛刻的操作。
现实世界并不总是依从于某一完美的数学化的关系模式。有时强制性地对事物进行规范化设计,形式上显得简单化,内容上却趋于复杂化,更重要的是可能导致数据库运行效率的减低。这时我们可以从实际出发采用非规范化设计,适当降低甚至抛弃关系模式的范式,不再要求一个关系只描述一个实体或者实体间的一种联系。其主要目的在于提高数据库的运行效率。不使用规范化设计的代价是用来保持冗余数据一致性的额外开销[3]。
数据库设计非规范化处理的主要技术包括增加冗余或派生列,对表进行合并、分割或增加重复表。一般认为,在下列情况下可以考虑进行非规范化处理:(1)大量频繁的查询过程所涉及的表都需要进行连接;(2) 主要的应用程序在执