ErdDocs

Incolla SQL, ottieni il diagramma ER e il dizionario dei dati

ErdDocs genera il diagramma entità relazione dallo schema che hai già. Incolla uno script o un dump SQL, uno schema Prisma o le migrazioni del tuo framework. Ottieni un diagramma interattivo e un dizionario dei dati pronto da stampare, con tutte le tabelle, le colonne, i tipi e le relazioni. Non serve registrarsi né installare nulla. Lo schema viene analizzato nel browser e non lascia il tuo computer.

Il tuo schema

Non viene caricato nulla. Lo schema resta in questo browser. L’ultimo che hai incollato ricompare quando riapri la scheda e sparisce quando cancelli i dati del sito.

Come funziona

Per trasformare un dump SQL in un diagramma ER e in un dizionario dei dati:

  1. 01Esporta lo schema con pg_dump --schema-only per PostgreSQL o mysqldump --no-data per MySQL.
  2. 02Incollalo qui sopra o trascina direttamente il file .sql sul pannello.
  3. 03Leggi il diagramma. Passa con il mouse su una tabella e le sue relazioni si evidenziano. Un clic le fissa.
  4. 04Passa a «Dizionario dati». Lì trovi colonne, tipi, valori predefiniti, indici e relazioni. Il dizionario si stampa in PDF.

Pensato per dump reali

Uno schema di produzione non è un elenco ordinato di statement CREATE TABLE. Per questo il parser è provato su schemi veri: pagila, sakila, GitLab, Discourse, WordPress, PrestaShop. Quanto bene si legge ogni formato, misurato su 89 schemi pubblici.

Diagramma entità relazione di uno schema di e-commerce: le tabelle customers, orders, products e order_items collegate da linee a zampa di gallina, generato da SQLDiagramma entità relazione di uno schema di e-commerce: le tabelle customers, orders, products e order_items collegate da linee a zampa di gallina, generato da SQL
Lo schema del negozio qui sopra, esattamente come lo disegna l’esportazione.
  • Le tabelle partizionate restano una tabella sola. Un dump con 55 partizioni mensili di payment disegna un solo riquadro payment, non 56.
  • Le chiavi esterne mancanti vengono ricostruite. I progetti Rails e Django spesso non ne dichiarano nessuna nel database. I nomi delle colonne dicono comunque cosa punta a cosa, e queste relazioni sono tratteggiate.
  • Uno statement sbagliato non affonda il file. Ciò che non si riesce a leggere viene saltato e segnalato, e il resto dello schema si disegna lo stesso.
  • Gli schemi grandi non vengono mai tagliati. Tutto ciò che incolli viene analizzato e disposto, anche gli schemi con centinaia di tabelle.

Perché ErdDocs

  • Documentazione, non solo un disegno. Il dizionario dei dati è ciò che chiedono davvero docenti, revisori, clienti e chi entra nel team.
  • Niente registrazione, niente installazione. Nessun account per vedere il risultato e nulla da aggiungere al progetto.
  • Paghi una volta. Un prezzo unico invece di un abbonamento che ti dimentichi di disdire.
  • Lo schema resta sul tuo computer. L’analisi avviene nel browser e lo schema non viene inviato a nessun server. Puoi incollare anche quello di produzione senza temere che la struttura del database trapeli.

Conversione tra formati

ErdDocs legge dieci formati ed esporta in otto, tutti nel pannello qui sopra. Ognuna di queste pagine segue un solo percorso e ha già un esempio caricato. Le pagine sono in inglese.

Domande frequenti

Cos’è un dizionario dei dati?

È il documento di riferimento di un database. Descrive in un unico posto tutte le tabelle e le colonne: tipo di dato, se ammette NULL, valore predefinito, indici e relazioni. Si usa negli esami e nei progetti universitari, negli audit e nella consegna di un sistema. ErdDocs lo genera dallo schema che incolli, pronto da stampare.

Il mio schema viene caricato da qualche parte?

No. Analisi e disegno avvengono interamente nel browser. Il tuo SQL non lascia il computer e non c’è nessun account da creare. Per scelta, ErdDocs non si collega a un database attivo, quindi non ci sono credenziali da fornire. Il sito conta le visite alle pagine con uno strumento di analisi senza cookie. Vede quale pagina hai aperto e niente di ciò che contiene.

Quali database e formati sono supportati?

SQL di PostgreSQL, MySQL, SQL Server e SQLite. Può essere un pg_dump con statement ALTER TABLE ONLY ... ADD CONSTRAINT, un mysqldump, uno script generato in SSMS, con i suoi batch GO e i nomi tra parentesi quadre, o l’output del comando .schema di SQLite. Altri nove formati si leggono così come sono: schemi Prisma, DBML, Mermaid erDiagram, PlantUML, modelli Django, SQLAlchemy e Sequelize, entità TypeORM e migrazioni Laravel. Per Prisma, i nomi @map, i campi di relazione e le tabelle di collegamento implicite dei molti a molti diventano le tabelle che il database riceve davvero. Il formato viene riconosciuto da ciò che incolli, e puoi correggere la scelta.

Il mio database non ha chiavi esterne. Il diagramma resterà vuoto?

No. I progetti Rails, Django o Laravel spesso gestiscono le relazioni solo nel codice. ErdDocs legge anche la convenzione dei nomi, quindi una colonna user_id si collega alla tabella users. Queste relazioni sono tratteggiate, per distinguerle da quelle dichiarate dal database.

In cosa è diverso da dbdiagram, drawSQL o sqltoerdiagram?

ErdDocs si paga una volta sola. I piani a pagamento di dbdiagram e drawSQL sono solo in abbonamento. ErdDocs legge Prisma, i modelli Django, SQLAlchemy, Sequelize e TypeORM e le migrazioni Laravel. Nessuno dei due legge questi formati. E nessuno dei due esporta in Mermaid o PlantUML. Senza account, drawSQL non esporta nemmeno un’immagine. Il DBML in drawSQL si può importare, ma non esportare. In dbdiagram le relazioni senza chiavi esterne le trova un assistente IA, solo con un piano a pagamento. ErdDocs le trova gratis dai nomi delle colonne. sqltoerdiagram non ha un dizionario dei dati da stampare. Disegna ogni partizione di un dump come una tabella a sé, mentre ErdDocs le raccoglie nella tabella madre. sqltoerdiagram non legge le migrazioni Laravel, e per Django e TypeORM ti chiede di generare prima il SQL dai modelli.

Quanto costa?

Vedere i diagrammi ed esportare le immagini è gratis e non serve un account. Gli schemi fino a 25 tabelle sono disegnati per intero. Anche quelli più grandi vengono analizzati completamente, ma le tabelle oltre il limite restano bloccate. Le sblocca un pagamento unico di 9 USD, che include anche il dizionario dei dati completo. Paddle aggiunge le imposte al pagamento, dove previste.

Posso creare il diagramma ER da un database MySQL o SQL Server?

Sì. Esporta lo script e incollalo qui. Per MySQL usa mysqldump --no-data o MySQL Workbench, per SQL Server «Genera script» in SQL Server Management Studio. Vengono letti i backtick di MySQL, AUTO_INCREMENT, i batch GO e i nomi tra parentesi quadre di SQL Server.

Altro