Vai al contenuto

Schema SQL a DBML

Trasforma le istruzioni CREATE TABLE in una definizione di diagramma DBML.

Ingresso
Uscita

Schema SQL a DBML

Incolla una o più istruzioni CREATE TABLE e questo strumento restituisce l'equivalente DBML — il formato di testo semplice utilizzato da dbdiagram.io e strumenti simili di diagrammi entità-relazione. Ogni tabella diventa un blocco Table, ogni colonna mantiene il suo nome e tipo, e le chiavi primarie, i vincoli di univocità e le chiavi esterne vengono trasferiti automaticamente. È progettato per quando hai un dump dello schema e hai bisogno di un diagramma velocemente, senza incollare SQL in un servizio ospitato.

L'opzione dialetto dice al parser cosa sta leggendo — MySQL, PostgreSQL, SQLite o SQL Server — poiché la stessa parola chiave può significare cose diverse tra i motori (un TINYINT(1) MySQL viene letto come booleano, una colonna IDENTITY SQL Server viene letta come auto-incremento). Attiva il mapping dei tipi per comprimere i tipi specifici del dialetto nell'insieme canonico di DBML (int, varchar, decimal, timestamp, ecc.), oppure lascialo disattivato per mantenere i nomi originali. I commenti — una clausola COMMENT MySQL o un'istruzione COMMENT ON PostgreSQL — diventano voci Note di DBML quando "Mantieni i commenti" è attivato. I nomi delle colonne come user_id possono opzionalmente dedurre una relazione a una tabella users anche senza una chiave esterna esplicita, e le tabelle che condividono un prefisso di nome (shop_orders, shop_products) possono essere raggruppate in un TableGroup.

Lo strumento comprende le clausole REFERENCES inline, i vincoli FOREIGN KEY a livello di tabella e le istruzioni ALTER TABLE ADD CONSTRAINT separate, quindi funziona su un singolo blocco CREATE TABLE o su un dump completo con chiavi aggiunte successivamente. Le chiavi primarie composite e i vincoli di univocità vengono renderizzati come blocchi di indici DBML piuttosto che essere scartati.

Tutto viene eseguito localmente nel tuo browser — nessuno schema viene mai caricato da nessuna parte, il che importa quando l'SQL che stai incollando descrive un vero database di produzione. Copia il DBML, scaricalo come file .txt, o invia l'output direttamente a un altro strumento per continuare a lavorarci.

FAQ

Quali dialetti SQL sono supportati?
MySQL, PostgreSQL, SQLite e SQL Server. Scegli il dialetto corrispondente in modo che il mapping dei tipi e la rilevazione dell'auto-incremento leggano correttamente il SQL.
Come vengono rilevate le chiavi esterne?
Da clausole REFERENCES inline, vincoli FOREIGN KEY a livello di tabella e istruzioni ALTER TABLE ADD CONSTRAINT ... FOREIGN KEY separate — tutti e tre vengono convertiti in righe Ref di DBML.
Cosa fa "Deducere le relazioni dai nomi delle colonne"?
Quando una colonna è denominata come user_id e non esiste una chiave esterna esplicita, lo strumento controlla se esiste una tabella users corrispondente con una colonna id e aggiunge una Ref per essa, contrassegnata come dedotta nell'output.
Posso incollare l'output direttamente in dbdiagram.io?
Sì. L'output è DBML puro — tabelle, colonne, chiavi e relazioni — nel formato che dbdiagram.io e gli strumenti compatibili si aspettano.
Lo schema viene caricato da qualche parte?
No. L'SQL che incolla viene analizzato completamente nel tuo browser e non lascia mai il tuo dispositivo.