← πŸ› οΈ Dev Tools
πŸ—„ Dev Tools

Visual Database Designer

Progetta database con drag & drop. Crea tabelle, aggiungi campi, definisci relazioni FK e genera SQL (MySQL, PostgreSQL, SQLite) in tempo reale.

πŸ“– Come si usa il DB Designer β–Ά
1️⃣ Crea le tabelle
Clicca "+ Nuova tabella" nella sidebar sinistra o scegli un template (Blog, E-commerce, Auth) per partire da una struttura pronta. Rinomina la tabella nel campo di testo in cima all'editor dei campi.
2️⃣ Aggiungi e configura i campi
Clicca "+ Aggiungi campo" e imposta nome e tipo dal menu a tendina. Attiva i flag: PK = Primary Key · NN = NOT NULL · UQ = UNIQUE · AI = AUTO_INCREMENT.
πŸ”— Foreign Key
Attiva il flag 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.
πŸ—οΈ Chiave Composta (Composite PK)
Attiva 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).
πŸ–±οΈ Canvas e relazioni
Trascina le tabelle tenendo premuto l'header. Le frecce tratteggiate mostrano le FK. Usa i pulsanti: βˆ’ / + per zoom · ⊞ Auto per riorganizzare · πŸ—‘ Pulisci per ricominciare.
πŸ’Ύ Esporta SQL
Il pannello destro mostra il SQL in tempo reale. Scegli dialetto: 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.
Database:
Syntax highlight
Tabelle
Relazioni
Nessuna relazione
Template
πŸ—„

Clicca "+ Nuova tabella" o scegli
un template per iniziare

SQL generato
-- Aggiungi tabelle per generare SQL

Come progettare un database visualmente

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.

Tipi di dati e vincoli supportati

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).

Normalizzazione del database: le forme normali

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.

Relazioni 1:1, 1:N, N:M

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).

FAQ

Posso esportare lo schema come file SQL? β–Ύ

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.

Come creo una relazione Foreign Key? β–Ύ

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.

Come creo una chiave primaria composta? β–Ύ

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? β–Ύ

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.

Posso importare uno schema esistente? β–Ύ

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.