Are there useful static analysis tools for databases? [closed]

Is there a popular tool for examining the configuration and schema of a database for dubious fields, relationships and configuration, similar to how static analysis tools like lint will flag dubious lines of code?

(I'm not sure that this is technically static, since it would likely connect to a live database server).


One tool I've used that offers some sanity checking is SchemaSpy. In particular, the anomalies page gives a few basic checks.


I have been working on putting in database schema linting support into SchemaCrawler. SchemaCrawler comes with several linters for common database design issues, as well as the ability to extend them with your own checks. SchemaCrawler also automatically detects what seem like foreign-key relationships, even if a foreign-key constraint is not defined.

SchemaCrawler Lint