BrunoP.Blog

Como gerar um diagrama ER a partir do SQL (sem instalar nada, sem conta, com auditoria de segurança)

Herdei um banco de dados sem documentação nenhuma: schema bruto, sem diagrama, sem saber se tinha falhas de segurança ou problema com a LGPD. O Insight resolve isso no navegador — cole o SQL, ganhe o diagrama, a auditoria e o código de model pronto.

Há uns meses peguei um projeto pra dar manutenção. O cliente me mandou um arquivo .sql com o "banco de dados do sistema" e um "vê aí se tá tudo certo". Abri: quarenta e poucas tabelas, milhares de linhas de CREATE TABLE, zero documentação, zero diagrama. Pra entender como usuarios se conectava com pedidos e pagamentos, eu ia ter que ler aquilo linha por linha. E foi lendo que achei o susto: CPF e número de cartão guardados em campo de texto comum, senha num VARCHAR(32) (ou seja, MD5 ou texto puro). Aquele banco era uma multa de LGPD esperando pra acontecer — e ninguém tinha percebido. Naquele dia parei de ler schema na unha e construí o Insight.

O problema: o banco é a parte mais importante e a menos visível do sistema

Quase todo bug sério de software nasce numa estrutura de dados mal pensada. Só que o banco é exatamente a parte que você não vê — ele é texto. E quando você precisa realmente entender um schema, esbarra em quatro paredes:

  • Ver o desenho. Você tem o SQL, mas não a planta. As ferramentas que desenham diagrama ou são pesadas (instalar o Workbench inteiro), ou pedem pra você subir o seu schema num site de terceiro — e o schema é literalmente a planta do seu produto, informação sensível — ou trancam tudo atrás de cadastro e plano pago.
  • Saber se é seguro (e legal). Senha em campo curto demais pra um hash forte, CPF/e-mail/telefone jogados sem cuidado, número de cartão ou CVV guardado, tabela sem chave primária. Nada disso aparece sozinho — você só descobre quando vira incidente, vazamento ou multa.
  • Estimar o custo. Antes de contratar um servidor, quanto seu banco vai ocupar de verdade? Sem isso, ou você paga demais "por garantia", ou descobre tarde que faltou espaço.
  • Escrever o código repetitivo. Depois de entender o banco, ainda falta digitar à mão dezenas de migrations e models — trabalho mecânico que ninguém gosta de fazer.

O fio comum: você precisa conversar com um banco que só fala em SQL cru, e as ferramentas pra isso ou são demais, ou querem seus dados, ou querem seu cartão.

A solução: o Insight, grátis e sem subir nada

O Insight faz uma coisa só, bem feita: você cola o CREATE TABLE e ele te devolve, na hora, a planta do seu banco. Sem instalar nada, sem cadastro, de graça — e o detalhe que pra mim é inegociável: 100% no navegador. O SQL que você cola não é enviado pra servidor nenhum, não passa por API, não fica salvo em lugar que não seja a sua própria máquina. Faz sentido: o schema diz como o seu produto funciona por dentro; isso não devia sair do seu computador só pra você ver um desenho.

O que ele te entrega de uma vez

  • Diagrama ER na hora. Cada tabela vira um bloco visual e arrastável. As relações aparecem ligadas sozinhas — tanto as chaves estrangeiras declaradas (FOREIGN KEY ... REFERENCES) quanto a convenção user_id → users que todo mundo usa.
  • Auditoria de segurança e LGPD. Um security score e uma lista de riscos em português claro: "essa senha cabe num campo curto demais pra hash forte", "esse campo é CPF e precisa de cuidado de LGPD", "isso aqui é número de cartão, atenção ao PCI-DSS", "essa tabela não tem chave primária". É o raio-x que teria me poupado naquele projeto.
  • Estimativa de tamanho. Informe quantas linhas cada tabela deve ter e ele estima o espaço — pra você dimensionar o servidor antes de contratar, não depois.
  • Código pronto. Um clique gera as migrations em Laravel ou os models em Sequelize, com os tipos mapeados e os campos nullable certos. Você sai do diagrama já com o esqueleto do back-end na mão.

Desenhar a planta do meu banco

Perguntas frequentes

Preciso instalar algo ou criar conta? Não. É grátis, sem cadastro e roda no navegador — abre, cola o CREATE TABLE e pronto.
Meu SQL é enviado para algum servidor? Não. Todo o processamento acontece no seu navegador; o schema não sai da sua máquina. O único lugar onde algo fica guardado é o localStorage do seu próprio navegador, pra você não perder o trabalho.
Funciona com MySQL e PostgreSQL? Sim. O parser entende o CREATE TABLE dos dois, com opções de tabela (ENGINE, charset), tipos com tamanho e chaves estrangeiras.
A auditoria de LGPD substitui um especialista? Não — é um primeiro raio-x automático que pega os erros comuns (senha fraca, dado pessoal exposto, sem chave primária). Casos sensíveis ainda pedem análise dedicada.