ErdDocs

Cole o SQL, gere o diagrama entidade relacionamento e o dicionário de dados

O ErdDocs gera o DER a partir do schema que você já tem. Cole um dump SQL, um schema Prisma ou as migrations do seu framework. Você recebe um diagrama interativo e um dicionário de dados pronto para imprimir, com todas as tabelas, colunas, tipos e relacionamentos. Não precisa de cadastro nem de instalar nada. O schema é analisado no seu navegador e nunca sai do seu computador.

Seu schema

Nada é enviado. Seu schema fica neste navegador. O último que você colou volta quando você reabre a aba e é apagado se você limpar os dados do site.

Como funciona

Para transformar um dump SQL em diagrama entidade relacionamento e dicionário de dados:

  1. 01Exporte o schema. No PostgreSQL, use pg_dump --schema-only. No MySQL, use mysqldump --no-data.
  2. 02Cole acima ou arraste o arquivo .sql direto para o painel.
  3. 03Leia o diagrama. Passe o mouse sobre uma tabela para destacar os relacionamentos. Um clique fixa o destaque.
  4. 04Mude para a aba «Dicionário de dados». Lá estão as colunas, os tipos, os valores padrão, os índices e os relacionamentos. Dá para imprimir tudo em PDF.

Feito para dumps de verdade

Um schema de produção não é uma lista arrumada de comandos CREATE TABLE. Por isso o parser é testado com schemas reais: pagila, sakila, GitLab, Discourse, WordPress, PrestaShop. Como cada formato é lido, medido em 89 schemas públicos.

Diagrama entidade relacionamento de uma loja virtual: as tabelas customers, orders, products e order_items ligadas por linhas de relacionamento em pé de galinha, gerado a partir de SQLDiagrama entidade relacionamento de uma loja virtual: as tabelas customers, orders, products e order_items ligadas por linhas de relacionamento em pé de galinha, gerado a partir de SQL
O schema da loja lá de cima, exatamente como o exportador o desenha.
  • Tabelas particionadas continuam sendo uma tabela só. Um dump com 55 partições mensais de payment desenha um único cartão payment, e não 56.
  • Chaves estrangeiras que faltam são recuperadas. Projetos em Rails e Django muitas vezes não declaram nenhuma no banco. Os nomes das colunas ainda dizem o que aponta para onde, e esses relacionamentos aparecem tracejados.
  • Um comando com erro não derruba o arquivo. O que não dá para ler é pulado e informado, e o resto do schema é desenhado normalmente.
  • Schemas grandes nunca são cortados. Tudo o que você cola é analisado e organizado, inclusive schemas com centenas de tabelas.

Por que o ErdDocs

  • Documentação, não só um desenho. O dicionário de dados é o que professores, auditores, clientes e quem entra no time realmente pedem.
  • Sem cadastro e sem instalação. Você não precisa de conta para ver o resultado nem de instalar nada no projeto.
  • Pagamento único. Um preço único, em vez de uma assinatura que você esquece de cancelar.
  • Seu schema não sai da sua máquina. A análise roda no seu navegador e o schema não é enviado a nenhum servidor. Dá para colar o de produção sem medo de vazar a estrutura do banco de dados.

Converter entre formatos

O ErdDocs lê dez formatos e exporta para oito, tudo no painel acima. Cada uma destas páginas cobre uma conversão, com um exemplo já carregado. Elas estão em inglês:

Perguntas frequentes

O que é um dicionário de dados?

É o documento de referência de um banco de dados. Ele reúne em um só lugar todas as tabelas e colunas: o tipo de dado, se aceita nulo, o valor padrão, os índices e os relacionamentos. É usado em trabalhos de faculdade e TCC, em auditorias e na entrega de projetos. O ErdDocs gera o dicionário a partir do schema que você cola, pronto para imprimir.

Meu schema é enviado para algum servidor?

Não. A análise e o desenho acontecem inteiramente no seu navegador. Seu SQL não sai do seu computador e não há conta para criar. De propósito, o ErdDocs não se conecta a um banco ao vivo, então você não precisa passar credenciais de acesso. O site conta as visitas com um beacon de analytics sem cookies, que vê qual página você abriu e nada do que está nela.

Funciona com PostgreSQL, MySQL, SQL Server e SQLite?

Sim. Um pg_dump com ALTER TABLE ONLY ... ADD CONSTRAINT e um mysqldump são lidos como estão. O mesmo vale para scripts gerados no SSMS, com lotes GO e nomes entre colchetes, e para a saída do comando .schema do SQLite. Outras nove entradas são lidas como estão: schemas Prisma, DBML, erDiagram do Mermaid, PlantUML, models do Django, SQLAlchemy e Sequelize, entidades do TypeORM e migrations do Laravel. No Prisma, os nomes @map, os campos de relação e as tabelas associativas implícitas dos muitos para muitos são resolvidos. Assim você chega às tabelas que o banco de fato recebe. O formato é detectado pelo que você cola, e você pode corrigir a escolha.

Meu banco não tem chaves estrangeiras. O diagrama vai sair vazio?

Não. Projetos em Rails, Django ou Laravel costumam manter os relacionamentos só no código. O ErdDocs também lê a convenção de nomes, então uma coluna cliente_id ou user_id se liga à tabela correspondente. Esses relacionamentos aparecem tracejados, para não serem confundidos com os que o banco declara.

Qual a diferença para o dbdiagram, o drawSQL ou o sqltoerdiagram?

No ErdDocs, você paga uma vez só. Os planos pagos do dbdiagram e do drawSQL são só por assinatura. O ErdDocs lê Prisma, models do Django, SQLAlchemy, Sequelize e TypeORM, e também migrations do Laravel. Nenhum dos dois lê nada disso. Os dois também não exportam Mermaid nem PlantUML. Sem conta, o drawSQL não exporta nem uma imagem. Nele, DBML só pode ser importado, nunca exportado. No dbdiagram, quem encontra relacionamentos sem chave estrangeira é um assistente de IA, num plano pago. O ErdDocs encontra esses relacionamentos pelo nome da coluna, de graça. O sqltoerdiagram não tem dicionário de dados para imprimir. Ele desenha cada partição de um dump como uma tabela à parte, enquanto o ErdDocs agrupa as partições sob a tabela mãe. O sqltoerdiagram não lê migrations do Laravel. Para Django e TypeORM, ele pede que você gere o SQL a partir dos models primeiro.

Quanto custa?

Ver diagramas e exportar imagens é grátis, e não precisa de conta. Schemas de até 25 tabelas aparecem completos. Os maiores também são analisados por inteiro, mas as tabelas além do limite aparecem bloqueadas. Um pagamento único de US$ 9 libera essas tabelas e também inclui o dicionário de dados completo. O Paddle adiciona os impostos no pagamento, quando se aplicam.

Mais