数据库模式质量门/分析

时间:2020-10-06 11:00:19

标签: sql-server database-design sonarqube schema

我被赋予了彻底改造数据库的任务。该数据库具有所有此类不良做法,几乎没有主键,缺少关系,数据类型选择不当。我很欣赏其中的一些难点,但是肯定有一些道理。如果名称为IsActive并且类型为nvarchar,则至少应该是代码气味。我试图找到质量门或什至是RedGate Schema比较或类似工具。

最后要确定的是一个SQL Server数据库,显然我正在迁移到SSDT,以便我们可以获取有关更改的历史信息,而且我认为作为CI流程的一部分,我将对其进行质量检查。< / p>

例如,有一个用于T-SQL的https://www.sonarsource.com/tsql/,但我找不到一个可以分析架构的方法,也没有真正从本地或从位桶管道的角度来设置它的方法

1 个答案:

答案 0 :(得分:2)

我个人使用tSQLt unit-testing database framework进行了大量常规质量检查。例如,搜索没有主键的表,或者搜索名称中带有“ id”但没有引用任何内容的列,或者强制执行命名标准。

这是特别有价值的方法

  • 您编写测试以生成还可以解决该问题的代码,
  • 您还有其他数据库,可以在几分钟之内稍后进行这些测试,从而节省了工作时间。

SQLCop可以免费提供大量此类测试。我强烈建议将它们与tSQLt一起检查。