Funktionen
Tabellen, Spalten und Beziehungen werden in einer schlichten Sprache geschrieben; daneben entsteht live ein ER-Diagramm, und jede Änderung im Diagramm wird in den Code zurückgeschrieben. Tabliva zeigt Probleme im Schema, schlägt Normalisierungen vor und erzeugt das SQL und die versionierte Migrationsdatei, die eine Datenbank auf den Stand des Codes bringen. PostgreSQL, MySQL / MariaDB und SQLite.
Hauptfunktionen
- Lesbare Schemasprache
- Tabellen, logische Typen, Primär- und Fremdschlüssel (->), Indizes (partielle und Ausdrucksindizes), Prüfungen und Enums werden in .tabliva-Dateien geschrieben. Dialektspezifisches wird mit Annotationen ergänzt (@postgres(type: "jsonb")), Sichten, Trigger und Funktionen mit rohen sql-Blöcken. Der Editor bietet Syntaxhervorhebung, Vervollständigung und Suche.
- ER-Diagramm in beide Richtungen
- Das Diagramm aktualisiert sich beim Schreiben; bei einem Syntaxfehler bleibt der letzte gültige Stand stehen, der Fehler wird mit Zeile angezeigt. Tabellen, Spalten, Beziehungen und Indizes im Diagramm hinzuzufügen, umzubenennen, zu löschen oder einen Typ zu ändern, schreibt nur die betreffende Codezeile neu; Kommentare bleiben erhalten. Das Layout liegt in einer eigenen Datei (diagram.tabliva-layout.json).
- Probleme: 55 Regeln
- Schlüssel, Vorschläge für fehlende Fremdschlüssel mit Vertrauensstufe, Typen (z. B. float für Geldbeträge), Indizes, doppelte Daten, Benennung, Struktur und Dialektverträglichkeit. Jedes Problem hat eine verständliche Erklärung und eine Korrektur; sichere Korrekturen lassen sich auf einmal anwenden. Ignorieren und Abschalten von Regeln wird in die Datei kurallar.tabliva geschrieben.
- Normalisierung
- Funktionale Abhängigkeiten werden im Code mit einer depends-Zeile festgelegt oder aus Spaltennamen vorgeschlagen. Für jede Tabelle werden die Stufen von 1NF bis BCNF, Korrekturen mit Vorher-/Nachher-Vorschau (in andere Tabelle verschieben, neue Tabelle, Untertabelle, bewusste Kopie) und SQL zur Datenübernahme für den Dialekt gezeigt.
- Änderungsplan und Migrationsdateien
- Der Code wird mit einem Ziel verglichen (Migrationsordner, Momentaufnahme; auf dem Desktop eine Live-Datenbank). Umbenennungen werden erkannt; jeder Schritt ist mit Risiken wie Datenverlust, Neuschreiben der Tabelle oder Sperre gekennzeichnet. SQL entsteht für PostgreSQL, MySQL / MariaDB und SQLite; die Migrationsdatei wird mit Datum im Namen in den Ordner migrations/ geschrieben, ihre Prüfsumme in tabliva.sum ergänzt.
- Vorhandenes Schema importieren
- SQL-Dumps (pg_dump, mysqldump, SQLite .schema oder handgeschriebenes CREATE TABLE), DBML und ein anderes Tabliva-Projekt werden gelesen; wählbar ist eine Datei pro Tabelle oder eine einzige Datei. Nur das Schema wird übernommen; INSERT- und COPY-Zeilen werden übersprungen. Auf dem Desktop lässt sich das Schema auch direkt aus einer Datenbank lesen.
- Abgleich
- Quelle und Ziel (Code, Momentaufnahme, Migrationsordner; auf dem Desktop eine Datenbank) werden nebeneinander oder einspaltig verglichen; die Richtung lässt sich umkehren. Änderungen, die ohne Migrationsdatei in der Datenbank vorgenommen wurden, erscheinen als Abweichung; das Abgleichsskript entsteht aus den ausgewählten Änderungen.
- Dokumentation
- Das Datenwörterbuch wird als HTML (eine Datei, die nichts aus dem Netz lädt), Markdown oder über das Druckfenster als PDF gespeichert. Beschreibungen stammen aus ///-Kommentaren im Code; hier geschriebene Beschreibungen werden in den Code zurückgeschrieben. Das ER-Diagramm wird hell oder dunkel als PNG / SVG exportiert, das Schema als SQL oder DBML.
- Beispieldaten und Schemaverlauf
- Es werden Beispieldaten erzeugt, die Typen, Einschränkungen und Beziehungen einhalten; derselbe Startwert liefert immer dieselben Daten (SQL, CSV oder JSON). Der Schemaverlauf entsteht aus Migrationsdateien und Momentaufnahmen; zwei beliebige Zeitpunkte lassen sich vergleichen.
- Live-Datenbank (Desktop)
- Die Desktop-Anwendung verbindet sich mit PostgreSQL und MySQL / MariaDB (mit SSL-Optionen): Schema aus der Datenbank importieren, Abgleich, bestätigtes „Auf Datenbank anwenden“ (Datenverlust bestätigen und Datenbanknamen eingeben), Beispieldaten laden und Datenprüfungen für vorgeschlagene Beziehungen. Im Browser und auf dem Smartphone werden diese Funktionen nicht angezeigt.
- Projektordner und Teilen
- Projekte werden auf diesem Gerät gespeichert; in Browsern, die in Ordner schreiben können, und auf dem Desktop lässt sich ein Projekt mit einem Ordner verbinden, jede Änderung wird dorthin geschrieben (z. B. ein Git-Repository). Projekte werden als ZIP exportiert und importiert; eine Datei, das Projekt oder das SQL des Plans lässt sich mit der Teilen-Funktion des Geräts teilen.
- Beispielprojekt, Sicherung und offline
- Beim ersten Start ist ein Ladenschema mit einigen absichtlichen Problemen enthalten; „Beispielprojekt erneut hinzufügen“ holt es zurück. „Sichern…“ speichert Projekte und Einstellungen in einer Datei (Ordnerverbindungen und Passwörter sind nicht enthalten). Kein Konto nötig; außer der Live-Datenbank funktioniert alles offline.
Geräte und Browser
- Auf dem Desktop stehen Projektdateien und Ziele links, Code und Diagramm in der Mitte; die Ansichten (Editor, Änderungen, Probleme, Normalisierung, Abgleich, Doku, Werkzeuge) werden in der oberen Leiste gewählt. Auf dem Smartphone und dem Tablet im Hochformat enthält die untere Navigation Code, Diagramm, Probleme, Plan und Mehr.
- Live-Datenbankfunktionen (Import aus einer Datenbank, Datenbank im Abgleich, „Auf Datenbank anwenden“, Beispieldaten laden, Datenprüfungen) gibt es nur in der Desktop-Anwendung. Im Browser und auf dem Smartphone werden Migrationsdateien geschrieben oder SQL gespeichert und geteilt.
- Direktes Schreiben in einen Ordner ist in Chrome und Edge sowie in der Desktop-Anwendung möglich; in Safari, Firefox und auf dem Smartphone bleiben Projekte auf diesem Gerät und werden als ZIP übertragen.



Tastenkürzel
Unter macOS werden ⌘ und ⌥ verwendet, unter Windows und Linux Ctrl und Alt.
| Tastenkürzel | Aktion |
|---|---|
| 1 – 7 | Ansichten |
| Ctrl/⌘ S | Speichern |
| Ctrl/⌘ O | Projekte |
| Ctrl/⌘ I | Importieren |
| Ctrl/⌘ ⇧ P | Plan anzeigen |
| Ctrl/⌘ F | Im Code suchen |
| Ctrl/⌘ Z · ⇧ Z | Rückgängig · Wiederholen |
| F2 | Tabelle umbenennen (Diagramm) |
| ← → ↑ ↓ | Ausgewählte Karte verschieben |
| Eingabe | Tabellenseite öffnen |
| Entf | Tabelle löschen |
Auf Touchscreens wird das Diagramm mit zwei Fingern gezoomt und verschoben; für eine Beziehung tippen Sie zuerst auf die Quellspalte, dann auf die Zielspalte. Langes Drücken auf eine Tabellenkarte öffnet das Kontextmenü; Menüs und Dialoge öffnen sich von unten.
Tabliva beziehen
Im Browser ohne Installation testen; für die dauerhafte Nutzung die Version für macOS, Windows oder Linux kaufen.