如何检测关系数据库设计缺陷

时间:2014-10-11 14:14:34

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

什么样的工具(最感兴趣的是SQL Server)可以自动化数据库重构过程,特别是检测设计中可能存在的缺陷(比如缺少主键或字符串列上的主键或列太多甚至是表关于违反正常形式的假设,虽然这种东西取决于业务领域)?

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

1 个答案:

答案 0 :(得分:1)

使用sys.objects可以很容易地找到主键的缺失。

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

除了数据库限制之外,没有“Too many columns”的定义(例如,每个非扩展表有1024列)。这完全取决于商业案例。

正常形式违规的指示可以通过分析元数据(例如,查找类似的名称,如Name_1,Name_2,Name_3)或通过分析数据本身(例如,在列中搜索可能表示数据的多个逗号)来完成。存储在列中的列表)。这两种方法都可以并且通常会导致结果集不完整,同时也会丢失一些违规行为。因此,这只是一个“暗示”......