Diese Seite beschreibt Calíope 1.5, die Version, die ich gerade baue. Die 1.4 ist im App Store für Mac, iPad, iPhone, Apple Watch, Apple TV und Apple Vision Pro. Das Changelog sagt, in welcher Version jede Funktion kam.

Fügt jedem Thema einen Button „In Calíope öffnen“ hinzu. Funktioniert nur mit installierter App.

Tabellen-Builder

Tabellen-Builder

Erstelle oder ändere Tabellen mit einer visuellen Oberfläche, ohne DDL manuell zu schreiben.

Wo es zu finden ist: Kataloge › Rechtsklick › Neue Tabelle / Tabelle entwerfen

Der Tabellen-Builder wird über Kataloge geöffnet: Klick in der Symbolleiste auf Neue Tabelle oder klick mit der rechten Maustaste auf eine bestehende Tabelle und wähle Tabelle entwerfen. Kataloge öffnet sich im Nur-Lesen-Modus, schalte ihn also zuerst aus. Er ist auf macOS, iPad und iPhone verfügbar und öffnet sich auf allen dreien als persistenter Tab des Workspace: Du kannst zu einem anderen Tab wechseln (zum Beispiel Kataloge, um eine andere Tabelle nachzuschlagen) und zurückkehren, ohne die Arbeit zu verlieren. Jede Tabelle öffnet sich in einem eigenen Tab.

Der Editor hat vier Tabs: Spalten, Indizes, Fremdschlüssel und Optionen. Darunter zeigt die SQL-Vorschau das CREATE TABLE —oder, bei einer bestehenden Tabelle, das ALTER TABLE—, das deine Änderungen ergeben, und folgt jeder Bearbeitung; Kopieren legt es in die Zwischenablage. Wenn du fertig bist, klick auf Tabelle erstellen (oder Änderungen anwenden bei einer bestehenden Tabelle), um es auf dem Server auszuführen. Zurücksetzen verwirft deine Änderungen: zurück zu den Standardwerten bei einer neuen Tabelle oder zur Definition des Servers bei einer bestehenden.

Stichwörter: Tabelle, Tabelle erstellen, Tabelle bearbeiten, DDL, Builder, table builder, iPad

Spalten definieren

Füge Spalten der Tabelle hinzu, bearbeite und ordne sie neu.

Wo es zu finden ist: Tabellen-Builder › Tab Spalten

Klick im Tab Spalten auf +, um eine Spalte hinzuzufügen; die Schaltflächen daneben duplizieren die ausgewählte Spalte, verschieben sie nach oben oder unten und löschen sie. Klick auf eine Spalte in der Liste, um sie darunter zu bearbeiten: den Namen, den Datentyp —die Liste ist die der Engine des Servers—, die Länge, wenn der Typ eine hat (zum Beispiel 500 für VARCHAR), und die Einschränkungen Erlaubt NULL, Primärschlüssel (PRIMARY KEY) und Eindeutig (UNIQUE), dazu die, die nur manche Typen haben. Es erscheinen nur die, die der gewählte Typ unterstützt, und eine Spalte als Primärschlüssel zu markieren schaltet NULL aus.

MySQLMariaDBAurora

Bei Ganzzahltypen nummeriert Auto-Increment (AUTO_INCREMENT) die Zeilen selbst, und Vorzeichenlos (UNSIGNED) lässt negative Werte weg.

SQL ServerPostgreSQL

Bei Ganzzahltypen nummeriert Auto-Increment (IDENTITY) die Zeilen selbst. Vorzeichenlos gibt es nicht.

Der Standardwert kann keiner sein, ein literaler Wert, NULL, CURRENT_TIMESTAMP oder ein Ausdruck. Jede Spalte kann außerdem einen Kommentar tragen.

MySQLMariaDBAurora

Textspalten können einen eigenen Zeichensatz und eine eigene Kollation haben; lässt man sie unverändert, erben sie die der Tabelle.

SQL ServerPostgreSQL

Der Builder bietet keinen Zeichensatz und keine Kollation pro Spalte an.

SQL Server

Der Kommentar wird als erweiterte Eigenschaft MS_Description geschrieben.

PostgreSQL

Der Kommentar wird mit COMMENT ON COLUMN geschrieben.

Eine Spalte, die schon existierte, behält ihren ursprünglichen Namen: Sie umzubenennen wird im ALTER TABLE zu einer Umbenennung, statt die Spalte zu löschen und eine neue anzulegen.

SQL ServerPostgreSQL

Eine neue Spalte kommt immer ans Ende der Tabelle: Die Engine hat kein AFTER. Eine neue Spalte nach oben oder unten zu verschieben ändert auf dem Server nichts, und die SQL-Vorschau sagt das in einem Kommentar.

Stichwörter: Spalte, Datentyp, INT, VARCHAR, PRIMARY KEY, AUTO_INCREMENT, nullable

Indizes und eindeutige Schlüssel

Verwalte die Indizes der Tabelle: INDEX und UNIQUE, und FULLTEXT und SPATIAL, wo die Engine sie hat.

Wo es zu finden ist: Tabellen-Builder › Tab Indizes

Klick im Tab Indizes auf +, um einen Index hinzuzufügen. Gib ihm einen Namen und wähle den Typ; die Liste bietet nur die Typen an, die die Engine des Servers hat: INDEX (normal) und UNIQUE (ohne Duplikate).

MySQLMariaDBAurora

Außerdem FULLTEXT (Volltextsuche in CHAR/VARCHAR/TEXT-Spalten) und SPATIAL (Geodaten).

SQL ServerPostgreSQL

Der Builder hat weder FULLTEXT noch SPATIAL.

Hake die Spalten an, aus denen er besteht: Die Reihenfolge, in der du sie anhakst, ist die Reihenfolge des Index, und die Zahl daneben zeigt sie an. Ein Index kann mehrere Spalten umfassen (zusammengesetzter Index).

Klick mit der rechten Maustaste auf einen Index in der Liste, um ihn zu bearbeiten oder zu löschen. Einen bereits vorhandenen zu bearbeiten löscht ihn und legt ihn neu an.

Der Primärschlüssel wird pro Spalte im Tab Spalten definiert (Primärschlüssel (PRIMARY KEY)); er erscheint hier nicht als separater Index.

Stichwörter: Index, index, UNIQUE, FULLTEXT, SPATIAL, zusammengesetzt, Leistung

Fremdschlüssel

Definiere Beziehungen zur referentiellen Integrität zwischen Tabellen.

Wo es zu finden ist: Tabellen-Builder › Tab Fremdschlüssel

Klick im Tab Fremdschlüssel auf +, um einen FK hinzuzufügen. Gib ihm einen Namen, wähle die lokale Spalte, die Datenbank —dieselbe, sofern du keine andere wählst— und die referenzierte Tabelle, und gib die referenzierte Spalte ein.

Wähle die Aktionen ON DELETE und ON UPDATE: RESTRICT (Fehler bei Verletzung der Integrität), CASCADE (propagiert die Änderung), SET NULL (setzt NULL im FK) oder NO ACTION.

MySQLMariaDBAurora

NO ACTION entspricht RESTRICT. Beide Tabellen müssen die Speicher-Engine InnoDB verwenden.

SQL Server

RESTRICT gibt es nicht: Der Builder schreibt NO ACTION, das in dieser Engine dasselbe tut. Ein Fremdschlüssel kann nicht auf eine andere Datenbank zeigen, und die SQL-Vorschau sagt das in einem Kommentar.

Klick mit der rechten Maustaste auf einen Schlüssel in der Liste, um ihn zu bearbeiten oder zu löschen; einen bereits vorhandenen zu bearbeiten löscht ihn und legt ihn neu an. Der Builder erzeugt das CONSTRAINT mit explizitem Namen, damit es sich später über diesen Namen entfernen lässt.

Stichwörter: FK, foreign key, Fremdschlüssel, CASCADE, RESTRICT, referentielle Integrität

Tabellenoptionen

Was zur ganzen Tabelle gehört: ihr Kommentar und, wo die Engine sie hat, Speicher-Engine, Zeilenformat, Zeichensatz und Kollation.

Wo es zu finden ist: Tabellen-Builder › Tab Optionen

Der Tab Optionen enthält, was zur ganzen Tabelle gehört.

MySQLMariaDBAurora

Die Speicher-Engine (ENGINE), das Zeilenformat (ROW_FORMAT), Zeichensatz und Kollation der Tabelle —ein anderer Zeichensatz wählt die erste Kollation dieses Zeichensatzes— und den Tabellen-Kommentar. Textspalten, die auf „(erbt von Tabelle)“ bleiben, übernehmen den Zeichensatz der Tabelle.

MySQLMariaDBAurora

Das Zeilenformat wird beim Erstellen der Tabelle gewählt: Bei einer bestehenden Tabelle bietet der Tab es nicht an, weil der Builder es nicht ändert. Die Listen der Engines, Zeichensätze und Kollationen kommen vom Server.

SQL ServerPostgreSQL

Die Engine hat weder Speicher-Engine noch Zeilenformat noch Zeichensatz pro Tabelle, deshalb enthält der Tab nur den Tabellen-Kommentar.

SQL Server

Der Kommentar wird als erweiterte Eigenschaft MS_Description geschrieben.

PostgreSQL

Der Kommentar wird mit COMMENT ON TABLE geschrieben.

Stichwörter: Optionen, ENGINE, InnoDB, ROW_FORMAT, Zeichensatz, Kollation, Kommentar