Funzioni
Tabelle, colonne e relazioni si scrivono in un linguaggio semplice; accanto si disegna dal vivo un diagramma ER, e ogni modifica fatta nel diagramma viene riscritta nel codice. Tabliva segnala i problemi dello schema, suggerisce normalizzazioni e genera l’SQL e il file di migrazione con versione che portano un database allo stato del codice. PostgreSQL, MySQL / MariaDB e SQLite.
Funzioni principali
- Un linguaggio di schema leggibile
- Tabelle, tipi logici, chiavi primarie ed esterne (->), indici (parziali e su espressione), vincoli check ed enum si scrivono in file .tabliva. I dettagli di ciascun dialetto si aggiungono con annotazioni (@postgres(type: "jsonb")); viste, trigger e funzioni con blocchi sql grezzi. L’editor offre evidenziazione della sintassi, completamento e ricerca.
- Diagramma ER bidirezionale
- Il diagramma si aggiorna mentre si scrive; in caso di errore di sintassi resta l’ultimo stato valido e l’errore viene mostrato con la sua riga. Aggiungere, rinominare o eliminare tabelle, colonne, relazioni e indici, o cambiare un tipo nel diagramma riscrive solo la riga di codice interessata; i commenti restano. Il layout è salvato in un file a parte (diagram.tabliva-layout.json).
- Problemi: 55 regole
- Chiavi, suggerimenti di chiavi esterne mancanti con livello di affidabilità, tipi (ad es. float per importi), indici, dati ripetuti, nomi, struttura e compatibilità con il dialetto. Ogni problema ha una spiegazione semplice e una correzione; le correzioni sicure si applicano tutte insieme. Ignorare un problema o disattivare una regola viene scritto nel file kurallar.tabliva.
- Normalizzazione
- Le dipendenze funzionali si dichiarano nel codice con una riga depends o vengono suggerite dai nomi delle colonne. Per ogni tabella si vedono i passaggi dalla 1NF alla BCNF, correzioni con anteprima prima / dopo (sposta in un’altra tabella, nuova tabella, tabella figlia, copia voluta) e l’SQL di migrazione dei dati per il dialetto.
- Piano delle modifiche e file di migrazione
- Il codice viene confrontato con una destinazione (cartella delle migrazioni, istantanea; su desktop, un database dal vivo). Le ridenominazioni vengono riconosciute; ogni passaggio ha etichette di rischio come perdita di dati, riscrittura della tabella o blocco. L’SQL viene generato per PostgreSQL, MySQL / MariaDB e SQLite; il file di migrazione viene scritto nella cartella migrations/ con un nome datato e il suo checksum viene aggiunto a tabliva.sum.
- Importare uno schema esistente
- Si leggono dump SQL (pg_dump, mysqldump, SQLite .schema o CREATE TABLE scritto a mano), DBML e un altro progetto Tabliva; si sceglie un file per tabella o un file unico. Si prende solo lo schema; le righe INSERT e COPY vengono saltate. Su desktop lo schema si legge anche direttamente da un database.
- Sincronizzazione
- Origine e destinazione (codice, istantanea, cartella delle migrazioni; su desktop, un database) si confrontano affiancate o in una sola colonna, e la direzione si può invertire. Le modifiche fatte nel database senza file di migrazione compaiono come deriva; lo script di sincronizzazione viene generato dalle modifiche selezionate.
- Documentazione
- Il dizionario dei dati si salva in HTML (un unico file che non carica nulla dalla rete), Markdown o, tramite la finestra di stampa, PDF. Le descrizioni vengono dai commenti /// del codice; una descrizione scritta qui viene riscritta nel codice. Il diagramma ER si esporta in PNG / SVG chiaro o scuro, lo schema in SQL o DBML.
- Dati di esempio e cronologia dello schema
- Si generano dati di esempio che rispettano tipi, vincoli e relazioni; lo stesso seme dà sempre gli stessi dati (SQL, CSV o JSON). La cronologia dello schema si ricava dai file di migrazione e dalle istantanee; si possono confrontare due momenti qualsiasi.
- Database dal vivo (desktop)
- L’app desktop si collega a PostgreSQL e MySQL / MariaDB (con opzioni SSL): importazione dello schema dal database, sincronizzazione, «Applica al database» con conferma (accettare la perdita di dati e digitare il nome del database), caricamento dei dati di esempio e controlli dei dati per le relazioni suggerite. Nel browser e sul telefono queste funzioni non vengono mostrate.
- Cartella del progetto e condivisione
- I progetti restano su questo dispositivo; nei browser che possono scrivere in una cartella e su desktop, un progetto si collega a una cartella e ogni modifica viene scritta lì (ad es. un repository Git). I progetti si esportano e importano come ZIP; un file, il progetto o l’SQL del piano si condividono con la funzione di condivisione del dispositivo.
- Progetto di esempio, backup e offline
- Al primo avvio è incluso lo schema di un negozio con alcuni problemi voluti; «Aggiungi di nuovo il progetto di esempio» lo ripristina. «Esegui backup…» salva progetti e impostazioni in un unico file (senza i collegamenti alle cartelle né le password). Non serve un account; tutto tranne il database dal vivo funziona offline.
Dispositivi e browser
- Su desktop i file del progetto e le destinazioni sono a sinistra, il codice e il diagramma al centro; le viste (Editor, Modifiche, Problemi, Normalizzazione, Sincronizzazione, Documentazione, Strumenti) si scelgono dalla barra in alto. Sul telefono e sul tablet in verticale, la navigazione in basso contiene Codice, Diagramma, Problemi, Piano e Altro.
- Le funzioni di database dal vivo (importazione da un database, database nella Sincronizzazione, «Applica al database», caricamento dei dati di esempio, controlli dei dati) sono solo nell’app desktop. Nel browser e sul telefono si scrivono file di migrazione oppure si salva e si condivide l’SQL.
- La scrittura diretta in una cartella è disponibile in Chrome, Edge e nell’app desktop; in Safari, Firefox e sul telefono i progetti restano su questo dispositivo e si spostano come ZIP.



Scorciatoie da tastiera
Su macOS si usano ⌘ e ⌥; su Windows e Linux Ctrl e Alt.
| Scorciatoia | Azione |
|---|---|
| 1 – 7 | Viste |
| Ctrl/⌘ S | Salva |
| Ctrl/⌘ O | Progetti |
| Ctrl/⌘ I | Importa |
| Ctrl/⌘ ⇧ P | Vedi il piano |
| Ctrl/⌘ F | Cerca nel codice |
| Ctrl/⌘ Z · ⇧ Z | Annulla · ripeti |
| F2 | Rinomina la tabella (diagramma) |
| ← → ↑ ↓ | Sposta la scheda selezionata |
| Invio | Apri la pagina della tabella |
| Canc | Elimina la tabella |
Sugli schermi touch il diagramma si ingrandisce e si sposta con due dita; per tracciare una relazione si tocca prima la colonna di origine e poi quella di destinazione. Una pressione prolungata sulla scheda di una tabella apre il menu contestuale; menu e finestre di dialogo si aprono dal basso.
Ottieni Tabliva
Si può provare nel browser senza installazione; per l’uso continuativo si acquista la versione per macOS, Windows o Linux.