Ferramenta Python para análise estrutural de bancos relacionais utilizando SQLAlchemy Inspector.
Permite mapear schemas, tabelas, colunas e relacionamentos de forma automatizada, permitindo inspeção automatizada de schemas, tabelas e relacionamentos.
Facilitar a exploração e análise estrutural de bancos de dados sem dependência de documentação manual.
O DatabaseInspector fornece uma camada de abstração para leitura de metadados, permitindo que sistemas entendam automaticamente o metadados do banco para automação, análise estrutural e geração automática de consultas SQL.
Com isso, é possível:
- entender bancos desconhecidos mais rapidamente
- gerar consultas SQL com base na estrutura real do banco
- evitar queries inválidas ou referências inexistentes
- automatizar análises e consultas repetitivas
- reduzir dependência de documentação manual
Este projeto NÃO trabalha com dados das tabelas, apenas com a estrutura do banco.
Ele atua como uma camada de leitura de metadados, permitindo que outros sistemas entendam como o banco está organizado (schemas, tabelas, colunas e relacionamentos) antes de executar consultas, gerar SQL ou automatizar operações baseadas no schema.
Ferramentas como DBeaver são focadas em exploração visual e administração manual do banco de dados.
O DatabaseInspector possui uma proposta diferente: permitir que sistemas entendam automaticamente como o banco está organizado através da leitura de metadados, sem a necessidade de acessar os dados das tabelas.
Em vez de depender de navegação manual via interface gráfica, o projeto permite interpretação automatizada da estrutura do banco para uso em automações, validações e ferramentas internas.
- Python
- SQLAlchemy
- PostgreSQL
- Listagem de schemas
- Listagem de tabelas por schema
- Listagem de colunas por tabela
- Chaves primárias (PK)
- Chaves estrangeiras (FK)
- Tipos de dados das colunas
- Nullable
- Geração de estrutura hierárquica do banco
- Saída em formato dict/JSON
- Mapeamento completo schema → tabelas → colunas → relações
pip install -r requirements.txtO projeto já possui um arquivo main.py com exemplo de inicialização e uso da classe DatabaseInspector.
Configure sua conexão no arquivo .env com base no .env.example.
Execute:
python main.pydb.get_schemas()db.get_tables("public")db.get_columns("clientes", schema="public")db.get_primary_keys("clientes", schema="public")db.get_foreign_keys("pedidos", schema="public")db.get_full_schema(){
"public": {
"clientes": {
"columns": [
{
"name": "id",
"type": "INTEGER",
"nullable": false
}
],
"primary_key": {
"constrained_columns": ["id"]
},
"foreign_keys": []
}
}
}- exploração de bancos desconhecidos
- inspeção e auditoria de schemas
- documentação automática de banco
- análise de relacionamentos entre tabelas
- geração de contexto estrutural para IA/LLMs
- Thayron Higlânder – LinkedIn