figbellScarica

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.
Screenshot di Tabliva: area di lavoro con contenuto di esempio
Desktop
Screenshot di Tabliva: area di lavoro con contenuto di esempio
Tablet
Screenshot di Tabliva: area di lavoro con contenuto di esempio
Telefono

Scorciatoie da tastiera

Su macOS si usano ⌘ e ⌥; su Windows e Linux Ctrl e Alt.

ScorciatoiaAzione
1 – 7Viste
Ctrl/⌘ SSalva
Ctrl/⌘ OProgetti
Ctrl/⌘ IImporta
Ctrl/⌘ ⇧ PVedi il piano
Ctrl/⌘ FCerca nel codice
Ctrl/⌘ Z · ⇧ ZAnnulla · ripeti
F2Rinomina la tabella (diagramma)
← → ↑ ↓Sposta la scheda selezionata
InvioApri la pagina della tabella
CancElimina 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.