【问题标题】:How to detect a relational database design defects如何检测关系数据库设计缺陷
【发布时间】:2014-10-11 14:14:33
【问题描述】:

有哪些工具(对 SQL Server 最感兴趣)可以自动执行数据库重构过程,特别是检测设计中可能存在的缺陷(如字符串列或列过多的表上缺少主键或主键,甚至关于违反规范形式的假设,尽管这种东西取决于业务领域)?

总的来说,数据库设计中可能存在哪些缺陷,哪些缺陷可以被工具检测出来?

【问题讨论】:

  • 最好在 dba.stackexchange.com 上发布

标签: sql sql-server database-design relational-database


【解决方案1】:

使用 sys.objects 可以很容易地发现缺少主键。

基于字符串列的主键没有错。 您可以将它与聚集索引设计的建议混合使用...

除了数据库限制(例如,每个非宽表 1024 列)之外,没有“列太多”的定义。这一切都取决于业务案例。

可以通过分析元数据(例如,查找类似的列名,如 Name_1、Name_2、Name_3)或分析数据本身(例如,在可能指示列表存储在列中)。这两种方法都可以而且通常会导致结果集不完整,同时丢失一些违规行为。因此,它只是一个“提示”……

【讨论】:

  • 是的,当然,所有这些“违规”都只是提示,与列数相同(例如,拥有 50 列并不总是意味着设计缺陷,但如果有人想要任何关于可能的提示设计缺陷那么值得指出)
猜你喜欢
  • 2011-07-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-12
  • 2010-11-14
相关资源
最近更新 更多