Uma ferramenta que usei e oferece algumas verificações de integridade é SchemaSpy . Em particular, a página anomalias fornece algumas verificações básicas.
Existe uma ferramenta popular para examinar a configuração e o esquema de um banco de dados para campos, relacionamentos e configurações duvidosos, semelhante a como ferramentas de análise estáticas, como lint irá sinalizar linhas duvidosas de código?
(Não tenho certeza se isso é tecnicamente estático, já que provavelmente seria conectado a um servidor de banco de dados ativo).
Eu tenho trabalhado em colocar em suporte a esquema de banco de dados em SchemaCrawler. O SchemaCrawler vem com vários linters para problemas comuns de design de banco de dados, bem como a capacidade de estendê-los com suas próprias verificações. O SchemaCrawler também detecta automaticamente o que parecem ser relações de chave estrangeira, mesmo que uma restrição de chave estrangeira não esteja definida.
Seis anos depois, acabei de descobrir o maravilhoso Schema Crawler e adoro o seu Lint .
(claro, hoje em dia, podemos fazer perguntas como essa no link )