我个人认为数据库规范化非常有趣(实际上非常喜欢这样做)但是在设计模式并为资产管理器规范化时(包含通用和项目特定资产,每种资产都有任意类型)关系深度)我目前正在研究,我来到这个基本问题,即一个规范化数据库的程度(我知道 3NF ),以便进行多个查询,插入等,并不会比以编程方式处理标准化试图避免的数据不一致,冗余等成本更高?
答案 0 :(得分:0)
在设计数据库时,您应该将其标准化到最大程度(考虑到常识)。在开发过程中,您会注意到一些潜在的性能问题。在这种情况下,您可能想要使用视图甚至 denormalize 。
虽然这种情况因个案而异,但由于某些程序对性能有严格要求。其他人可能只被少数用户使用,在这种情况下,性能可能并不那么重要。
为了做出是否进行非规范化并因此能够执行更简单的查询的良好决策,您应该对这两种情况运行一些性能测试。请记住,非规范化会对维护数据库造成什么影响。
如果要进行非规范化,请务必将其记录在最充分的范围内。