Ir para o conteúdo

Esquema SQL para DBML

Converter instruções CREATE TABLE numa definição de diagrama DBML.

Entrada

Esquema SQL para DBML

Cole uma ou mais instruções CREATE TABLE e esta ferramenta devolve o DBML equivalente — o formato de texto simples utilizado por dbdiagram.io e ferramentas semelhantes de diagrama entidade-relação. Cada tabela torna-se um bloco Table, cada coluna mantém o seu nome e tipo, e as chaves primárias, restrições únicas e chaves estrangeiras são transportadas automaticamente. Foi construída para o momento em que tem um despejo de esquema e precisa de um diagrama rápido, sem colar SQL num serviço alojado.

A opção de dialeto diz ao analisador o que está a ler — MySQL, PostgreSQL, SQLite ou SQL Server — visto que a mesma palavra-chave pode significar coisas diferentes entre motores (um MySQL TINYINT(1) lê-se como booleano, uma coluna SQL Server IDENTITY lê-se como auto-incremento). Ative o mapeamento de tipos para colapsar tipos específicos de dialeto no conjunto canónico do DBML (int, varchar, decimal, timestamp e assim por diante), ou deixe desactivado para manter os nomes originais. Os comentários — uma cláusula MySQL COMMENT ou uma declaração PostgreSQL COMMENT ON — tornam-se entradas DBML Note quando "Manter comentários" está ativo. Os nomes de colunas como user_id podem inferir opcionalmente uma relação com uma tabela de utilizadores mesmo sem uma chave estrangeira explícita, e as tabelas que partilham um prefixo de nomeação (shop_orders, shop_products) podem ser agrupadas num TableGroup.

A ferramenta compreende cláusulas REFERENCES inline, restrições FOREIGN KEY de nível de tabela e instruções ALTER TABLE ADD CONSTRAINT separadas, para funcionar num bloco CREATE TABLE único ou num despejo completo com chaves adicionadas posteriormente. As chaves primárias compostas e restrições únicas são apresentadas como blocos de índices DBML em vez de serem descartadas.

Tudo funciona localmente no seu navegador — nenhum esquema é alguma vez carregado em qualquer lugar, o que importa quando o SQL que está a colar descreve uma base de dados de produção real. Copie o DBML, descarregue-o como um ficheiro .txt ou envie a saída directamente para outra ferramenta para continuar a trabalhar nela.

FAQ

Que dialetos SQL são suportados?
MySQL, PostgreSQL, SQLite e SQL Server. Escolha o dialeto correspondente para que a detecção de auto-incremento e mapeamento de tipos leia o SQL correctamente.
Como são detectadas as chaves estrangeiras?
A partir de cláusulas REFERENCES inline, restrições FOREIGN KEY de nível de tabela e instruções ALTER TABLE ADD CONSTRAINT ... FOREIGN KEY separadas — todas as três são convertidas em linhas DBML Ref.
O que faz "inferir relações a partir de nomes de coluna"?
Quando uma coluna tem um nome como user_id e não existe nenhuma chave estrangeira explícita, a ferramenta verifica se existe uma tabela users correspondente com uma coluna id e adiciona uma Ref para ela, marcada como inferida na saída.
Posso colar a saída directamente em dbdiagram.io?
Sim. A saída é DBML simples — tabelas, colunas, chaves e relações — no formato que dbdiagram.io e ferramentas compatíveis esperam.
O meu esquema é carregado em algum lugar?
Não. O SQL que cola é analisado inteiramente no seu navegador e nunca sai do seu dispositivo.