我们如何评估数据库系统中表的好坏?我们需要分析哪些方面?我可以建立一个进行此类评估的模型吗?如果是,那么如何?
答案 0 :(得分:2)
非详尽清单。对于所有这些问题,是是一个很好的答案,没有是坏的。
enum
)的外键? 正如您所知,这是一个固定列表(这就是为什么有些人投票结束你的问题)。有些观点相当不精确。它可能离您希望的模型还有很长的路要走。
人们会想要与其中一些措施争论。例如,关于非原子数据结构的观点,如JSON。当然有时这种结构是合适的;我曾经研究过一个系统,如果我们将数据存储在XMLtype列中而不是将其分解为关系表,那么这个系统就会简单得多。但那些是孤立的案件。阅读本网站上有关智能密钥,标记CSV字符串或针对实体 - 属性 - 值反模型编写查询的一些问题,以了解这些事情导致的悲痛程度。 First Normal Form应该是给定的,蔑视它的开发者不应该拥有数据库。
其他要点是领头羊。如果您的组织没有维护最新的物理数据模型,那么很可能大多数(如果不是所有的)表都不好(不可避免,很可能)。令人惊讶的是,有多少地方似乎没有将他们的DDL脚本保持在源代码管理之下。他们如何管理他们的部署以进行测试和生产?我认为祷告很重要。