2 pontos por GN⁺ 4 시간 전 | 1 comentários | Compartilhar no WhatsApp
  • Ao colar um schema SQL, a ferramenta visualiza instantaneamente tabelas, colunas, chaves e relacionamentos como um ERD dentro do navegador
  • Faz parsing de DDL CREATE TABLE e ALTER TABLE das sintaxes PostgreSQL, MySQL, SQLite e SQL Server, lidando com chaves primárias e estrangeiras e restrições unique e not-null
  • Suporta edição interativa como arrastar tabelas, layout automático, adicionar notas, zoom e renomear com duplo clique
  • O resultado pode ser exportado como PNG em alta resolução, SVG vetorial, arquivo de projeto e link compartilhável com o diagrama codificado na URL
  • Não exige conta, cadastro nem instalação, e foca em execução local, já que o schema SQL não é enviado nem armazenado no servidor

Cole SQL, veja o schema

  • Ao inserir instruções CREATE TABLE no editor à esquerda, o schema SQL é exibido como um diagrama ER
  • O schema de exemplo mostra uma pequena estrutura de e-commerce, composta por 6 tabelas e 7 relacionamentos: users, addresses, products, orders, order_items e reviews
  • É possível arrastar tabelas, usar a rolagem para aplicar zoom, renomear com duplo clique e exportar após concluir
  • Há um recurso para carregar o schema de exemplo, e a tela mostra um zoom de 122%
  • Todo o processamento roda 100% localmente no navegador, e o schema não sai do navegador

SQL to ER Diagram — gerador online gratuito de ERD

  • SQL to ER Diagram é uma ferramenta gratuita e de código aberto que transforma schemas SQL em ERDs interativos dentro do navegador
  • Ao colar instruções CREATE TABLE, ela visualiza instantaneamente tabelas, colunas, chaves primárias, chaves estrangeiras e relacionamentos
  • Funciona com PostgreSQL, MySQL, SQLite e SQL Server
  • Suporta arrastar tabelas, alinhamento automático de layout, adição de notas e exportação para PNG ou SVG
  • Nada é enviado, e o schema permanece no dispositivo do usuário

Perguntas frequentes

  • Para criar um diagrama ER a partir de SQL, basta colar instruções SQL CREATE TABLE no editor, e a ferramenta renderiza imediatamente um ERD interativo
    • Depois, é possível posicionar as tabelas arrastando e exportar como PNG ou SVG
  • Os dialetos SQL compatíveis são PostgreSQL, MySQL, SQLite e SQL Server, com parsing de DDL padrão CREATE TABLE e ALTER TABLE
    • Ela lida com chaves primárias, chaves estrangeiras, restrições unique e not-null
  • SQL to ER Diagram é totalmente gratuito e de código aberto, sem necessidade de conta ou cadastro
  • Todo o trabalho é executado localmente no navegador, e o schema SQL não é enviado nem armazenado no servidor
  • Os diagramas podem ser exportados como PNG em alta resolução, SVG vetorial, arquivo completo do projeto e link compartilhável com o diagrama codificado na URL
  • Não requer instalação e funciona em navegadores web de desktop e mobile

1 comentários

 
GN⁺ 4 시간 전
Opiniões no Hacker News
  • Lembrou uma ferramenta que fiz junto com o v0 alguns meses atrás: https://v0-yaerd.vercel.app
    Eu não tinha visto nenhuma ferramenta capaz de interpretar arquivos de migration do Laravel para gerar um ERD, então criei uma, e depois também adicionei suporte básico a SQL por prompt

  • A ferramenta é bem legal, mas eu diria que não dá para criar um diagrama ER só com SQL
    Entidades e tabelas são coisas fundamentalmente diferentes e, embora sejam muito parecidas, só com SQL não há informação suficiente para montar um diagrama ER de verdade
    Não estou dizendo que esta ferramenta é inútil ou que esse tipo de diagrama não ajuda; é só uma observação mais teórica, então talvez outras pessoas não concordem

    • Imagino que o fato de entidades e tabelas geralmente corresponderem entre si seja justamente o princípio básico de inúmeros ORMs
      Claro, o DDL não diz muita coisa sobre o ciclo de vida de uma entidade, mas se o critério for representar em gráfico relações, campos e cardinalidade, parece suficiente
    • Para ser mais preciso, pela definição de Chen, um diagrama ER extraído de SQL seria um diagrama físico no nível mais baixo, e a partir dele não seria possível reconstruir um diagrama lógico/conceitual
      Hoje em dia não parece haver muita gente que se preocupe com essa diferença
    • A conversão de SQL para ER serve para entender um banco de dados desconhecido
      O banco já pode existir, mas sem ERD e com pouquíssima documentação
      Então é mais uma ferramenta de exploração e, idealmente, deveria permitir criar views e anexar notas
      Isso porque, quando há muitas tabelas ou muitas sem chave estrangeira, não é necessário ver o ERD inteiro de uma vez só
    • Seria bom se você explicasse um pouco melhor a diferença
      Na prática, quase sempre dá para usar um no lugar do outro, mas conceitualmente parece possível haver uma camada de significado mais rica sobre entidades e relacionamentos
      Por exemplo, descrições dos relacionamentos ou anotações adicionais ligadas às entidades
    • Seria legal se você explicasse com mais detalhes
      Eu sempre entendi que entidades têm uma relação 1:1 com tabelas, e um exemplo ajudaria bastante
  • A usabilidade no celular é nota 1000 de 100
    Pan, zoom, seleção e movimentação são tão suaves que achei que eu estivesse imaginando coisas

    • A base de código inteira, sinceramente, é revigorante: https://github.com/royalbhati/sqltoerdiagram/blob/main/src/m...
      Eu gosto de desenvolvedores que refinam problemas complexos em soluções simples, e este aqui é realmente excelente
      Não consigo pensar em elogio maior para dar a um desenvolvedor
    • Minha primeira reação foi que a parte de diagramas deveria virar uma biblioteca separada
      Parece haver muitos usos para essa funcionalidade de diagramas além de ERD
    • Muito bom mesmo
      Mesmo editando com toque duplo, o nível de zoom não é resetado
      Está claramente entre os melhores sites mobile-friendly que já vi
    • Só é uma pena o Safari mobile dar zoom ao tocar no campo de texto, mas esse é um problema que todo mundo enfrenta
  • Não é nada grandioso, só uma ferramenta pequena, mas achei que poderia ser útil para outras pessoas
    Eu continuava precisando visualizar esquemas de banco de dados, e a maioria das ferramentas tinha barreira de pagamento, exigência de cadastro ou o problema de mandar SQL para o servidor de outra pessoa
    Sem backend, sem conta, e os dados não saem do meu dispositivo
    Também houve partes divertidas na implementação: em vez de DOM/SVG, as tabelas são rasterizadas em bitmaps com cache, e viewport culling é usado para manter tudo fluido mesmo com centenas de tabelas na tela
    O parser SQL rastreia o intervalo de origem de todos os tokens, então edições como renomear uma tabela alteram com precisão apenas os identificadores e referências relevantes, preservando comentários e formatação
    O esquema inteiro vai na URL, e o compartilhamento funciona serializando o esquema na própria URL, então não é preciso backend, estado salvo nem conta
    Também experimentei uma versão em Rust/WASM, mas o custo da fronteira JS↔WASM superou a economia de computação e o parser ficou cerca de 37% mais lento; por outro lado, a etapa O(n^2) de resolução de sobreposição ficou cerca de 2,2 vezes mais rápida
    No fim mantive em JavaScript puro, e o tamanho é de cerca de 32 KB em gzip, sem framework

    • No título está escrito que é grátis, então fiquei curioso para saber qual licença de software livre ele usa
      Se a licença não estiver explícita, pode até ser open source, mas não é software livre
    • Se o esquema inteiro fica na URL, imagino se isso não vira problema por causa do limite de tamanho de URL
      “Recomenda-se que todos os emissores e destinatários suportem URIs com pelo menos 8000 octetos de comprimento dentro de elementos de protocolo.”
      https://www.rfc-editor.org/rfc/rfc9110#section-4.1-5
    • Muito bem feito
      É responsivo, limpo e a experiência de onboarding sem barreira de cadastro é excelente
  • A distinção entre “entidade vs tabela” realmente existe, mas para a grande maioria dos desenvolvedores que só quer visualizar rapidamente um esquema existente, isso já basta
    Aqui, o perfeito é inimigo do útil
    A maioria não está tentando criar uma abstração de ORM; só quer ver o que está conectado com o quê

  • Lembrou https://explain.dalibo.com/
    É uma ferramenta para visualizar planos de execução de consultas e foi uma das mais úteis que já usei para otimizar consultas SQL
    Se for usar com dados sensíveis, é melhor baixar a versão v2 totalmente offline que fica mais abaixo

  • Seria bom ter opções de linha reta e de linhas com ângulos de 90 graus
    Nunca fui muito fã de linhas curvas, mas está bonito e muito bem feito

    • Vou adicionar à lista de tarefas
  • Fiquei curioso se existe alguma forma de gerar esses SVGs via CLI
    Gostei muito, e a extensão de Postgres para VSCode com funcionalidade parecida também é boa, mas fica presa ao VSCode
    E de novo falta uma opção de CLI exportável que dê para colocar no repositório

  • Estou usando https://github.com/ondras/wwwsqldesigner e acho que vale considerar como comparação

    • É o Ondras do V8CGI?
      Eu gostava muito daquele projeto; foi uma das primeiras implementações de JS no lado do servidor
      Talvez eu tenha sido o único seguidor, mas Ondřej, seu trabalho era muito bom
  • É legal, mas não há um arquivo LICENSE no GitHub: https://github.com/royalbhati/sqltoerdiagram