就我个人而言,我觉得数据库规范化真的很有趣(事实上我很喜欢这样做),但是在为资产管理器(包含通用的和特定于项目的资产,每种资产都有任意类型的关系深度)设计模式和规范化它时,我谈到了一个基本问题,即一个数据库应该在多大程度上规范化(我知道3NF),这样做多个查询( insert等)不会比编程地关注数据不一致、冗余等等的代价更高--而标准化是如何避免的?
发布于 2013-05-01 18:42:57
在设计数据库时,您应该最大限度地规范它(嗯,考虑到常识)。在开发过程中,您会注意到一些潜在的性能问题。在这种情况下,您可能需要使用视图,甚至是去角色化一点。
虽然这在不同的情况下有所不同,因为有些程序对性能有严格的要求。其他的可能只供少数用户使用,在这种情况下,性能可能没有那么重要。
为了正确地决定是否去denormalize,从而能够执行更简单的查询,您应该对这两种情况运行一些性能测试。请记住,反错会对数据库的维护造成什么影响。
如果去甲基化,一定要记录到最充分的程度。
https://stackoverflow.com/questions/16324249
复制相似问题