Progetta database con drag & drop. Crea tabelle, aggiungi campi, definisci relazioni FK e genera SQL (MySQL, PostgreSQL, SQLite) in tempo reale.
PK = Primary Key · NN = NOT NULL · UQ = UNIQUE · AI = AUTO_INCREMENT.
FK su un campo: appare un input "FK β tabella.colonna".
Scrivi il riferimento nel formato tabella.colonna (es. users.id).
Il designer disegna la freccia sul canvas e genera la clausola FOREIGN KEY β¦ REFERENCES nel SQL.
PK su due o piΓΉ campi della stessa tabella.
Il SQL omette il PRIMARY KEY inline e aggiunge PRIMARY KEY (col1, col2) in fondo alla tabella.
Tipico nelle tabelle di associazione come user_roles(user_id, role_id).
β / + per zoom · β Auto per riorganizzare · π Pulisci per ricominciare.
MySQL, PostgreSQL o SQLite.
Imposta il nome del database nell'apposito campo per aggiungere CREATE DATABASE in testa.
Usa lo switch Syntax highlight per copiare SQL plain text senza tag HTML.
Clicca "+ Nuova tabella" o scegli
un template per iniziare
Clicca "Nuova tabella" per aggiungere una tabella al canvas, poi aggiungi campi definendo nome, tipo di dato e vincoli. Trascina le tabelle per organizzare il layout. Per creare una relazione, attiva il flag FK su un campo e seleziona la tabella e il campo di riferimento β la freccia viene disegnata automaticamente. Il SQL generato viene aggiornato in tempo reale e puΓ² essere copiato direttamente su MySQL, PostgreSQL o SQLite.
Il designer supporta i tipi comuni: INT/BIGINT per ID e contatori, VARCHAR(n) per stringhe a lunghezza variabile, TEXT per contenuti lunghi, BOOLEAN, DECIMAL(p,s) per valori monetari, DATE/DATETIME/TIMESTAMP, UUID per identificatori distribuiti. Vincoli disponibili: PRIMARY KEY, NOT NULL, UNIQUE, DEFAULT, FOREIGN KEY con opzioni ON DELETE (CASCADE, SET NULL, RESTRICT).
La normalizzazione elimina ridondanze e anomalie nei dati. Prima forma normale (1NF): ogni campo contiene un solo valore atomico β niente liste o JSON in un campo. Seconda forma normale (2NF): ogni campo non-chiave dipende dall'intera chiave primaria, non da una sua parte. Terza forma normale (3NF): ogni campo non-chiave dipende direttamente dalla chiave, non da altri campi non-chiave. In pratica: 3NF Γ¨ il target per la maggior parte delle applicazioni. Denormalizzazione consapevole Γ¨ accettabile per performance in tabelle di solo lettura.
Uno a uno (1:1): una riga in A corrisponde a esattamente una riga in B β usato per separare dati opzionali o di accesso raro (es. users β user_profiles). Uno a molti (1:N): il piΓΉ comune β una riga in A corrisponde a piΓΉ righe in B (es. users β orders). FK nella tabella "molti". Molti a molti (N:M): richiede una tabella ponte (es. products β tags tramite product_tags) con FK verso entrambe le tabelle. La tabella ponte puΓ² avere campi aggiuntivi (es. created_at).
SΓ¬. Clicca "Copia SQL" per copiare il DDL negli appunti β puoi incollarlo direttamente in MySQL Workbench, pgAdmin, DBeaver o nel terminale. Per salvarlo come file usa il browser (incolla in un editor e salva come .sql) oppure usa il pulsante "Scarica SQL" se disponibile.
Seleziona la tabella "figlio", clicca sul campo che vuoi usare come FK e attiva il flag FK. ApparirΓ un campo per scegliere la tabella e il campo di riferimento β di solito la PRIMARY KEY della tabella "padre". La freccia di relazione viene disegnata automaticamente sul canvas.
Attiva il flag PK su due o piΓΉ campi della stessa tabella. Il generatore SQL rimuove il PRIMARY KEY inline da ogni colonna e aggiunge la constraint PRIMARY KEY (col1, col2) al fondo della tabella β sintassi corretta per MySQL e PostgreSQL.
Lo schema viene salvato automaticamente nel localStorage del browser. Per backup o condivisione usa il pulsante "Esporta JSON" β salva l'intero schema in un file che puoi reimportare in qualsiasi momento o versionare in Git insieme al codice.
SΓ¬ tramite il file JSON esportato in precedenza. Per importare da SQL esistente (es. uno schema giΓ in produzione), copia il DDL nel campo di import β il tool analizza le istruzioni CREATE TABLE e ricostruisce il diagramma visivo.