Diese Seite beschreibt Calíope 1.5, die Version, die wir gerade bauen. Die 1.4 ist fertig und in der App-Review, und der Store liefert heute 1.3 auf dem Mac und 1.2 auf dem iPad. 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.

Kataloge

Kataloge erkunden

Navigiere Tabellen, Views, Indizes, Felder, Routinen, Trigger und Events.

Wo es zu finden ist: Workspace › Werkzeuge › Kataloge

Öffne Kataloge über die Navigationsleiste des Workspace. Wähl eine Datenbank im oberen Auswahlfeld aus. Die Unter-Tabs zeigen die verschiedenen Objektkategorien.

Stichwörter: Kataloge, Objekte, Tabellen, Views, Indizes, Routinen

Das DDL eines Objekts anzeigen und bearbeiten

Zeigt das CREATE TABLE, CREATE VIEW oder CREATE PROCEDURE an und erlaubt, es zu bearbeiten und anzuwenden.

Wo es zu finden ist: Kataloge › Rechtsklick › DDL anzeigen

Mach einen Rechtsklick auf ein beliebiges Objekt in der Katalogliste und wähl DDL anzeigen. Das untere Panel zeigt das vollständige DDL mit farbiger Syntax und Textauswahl auf allen dreien.

Das DDL bearbeiten:
Klick auf Im ItemEditor öffnen (obere Schaltfläche des DDL-Panels), um den Editor in einem modalen Blatt mit vorgeladenem DDL zu öffnen:

- macOS: SQLTextEditor-Editor mit Syntaxhervorhebung.
- iPad: TextEditor mit Monospace-Schrift und Touch-Tastatur.

Bearbeite das DDL beliebig und klick auf Anwenden, um es an den Server zu senden. Die Schaltfläche Zurücksetzen verwirft deine Änderungen und kehrt zum ursprünglichen DDL zurück. Schlägt das ALTER oder CREATE fehl, erscheint eine rote Meldung in der unteren Leiste mit dem MySQL-Fehler.

Verfügbar unter macOS, iPad und iPhone.

Stichwörter: DDL, CREATE TABLE, ALTER, Definition, Struktur, schema, bearbeiten, ItemEditor, Anwenden

Neue Tabelle erstellen

Erstellt eine Tabelle direkt über die Werkzeugleiste der Kataloge.

Wo es zu finden ist: Kataloge › Neue Tabelle

Nutz in der Werkzeugleiste der Kataloge die Schaltfläche Neue Tabelle, um den Tabellen-Builder in einem neuen Tab zu öffnen. Du kannst auch das Kontextmenü einer bestehenden Tabelle öffnen — Rechtsklick unter macOS, gedrückt halten auf dem iPad — und Tabelle entwerfen wählen, um sie zu bearbeiten.

Der Builder ist in vier Bereiche unterteilt, die über seine Tab-Leiste erreichbar sind:

- Spalten — legt Name, Datentyp und Constraints jeder Spalte fest. Wähl eine Zeile der Liste aus, um ihre Eigenschaften im unteren Panel zu bearbeiten (Identifikation, Constraints, Standardwert, Zeichensatz).
- Indizes — verwaltet PRIMARY-, UNIQUE-, INDEX- und FULLTEXT-Indizes.
- Fremdschlüssel — konfiguriert Beziehungen zwischen Tabellen mit ihren ON DELETE-/ON UPDATE-Aktionen.
- Optionen — stellt die Engine (ENGINE), den Zeichensatz und den Tabellenkommentar ein.

Der Bereich SQL-Vorschau unten zeigt in Echtzeit das DDL an, das ausgeführt wird. Klick auf Tabelle erstellen (oder Änderungen anwenden im Bearbeitungsmodus), um das DDL an den Server zu senden.

Stichwörter: neue Tabelle, create table, erstellen, DDL, Builder, Spalten, Indizes, Fremdschlüssel

Views, Indizes, Routinen, Trigger und Events erstellen

Greif über die Werkzeugleiste auf die visuellen Editoren für jeden Objekttyp zu.

Wo es zu finden ist: Kataloge › Neue View / Neuer Index / Neue Routine / Neuer Trigger / Neues Event

Die Werkzeugleiste der Kataloge enthält eigene Schaltflächen zum Erstellen jedes Objekttyps:

- Neue View — öffnet den View-Editor
- Neuer Index — öffnet den Index-Editor
- Neue Routine — öffnet den Editor für Funktionen und gespeicherte Prozeduren
- Neuer Trigger — öffnet den Trigger-Editor
- Neues Event — öffnet den Editor für Events des MySQL-Schedulers

Jeder Editor generiert das entsprechende DDL (CREATE VIEW, CREATE INDEX, CREATE PROCEDURE usw.) und führt es beim Bestätigen auf dem Server aus.

Stichwörter: View, Index, Routine, Trigger, Event, erstellen, DDL, gespeicherte Prozedur

Views, Routinen, Trigger und Events bearbeiten

Bearbeite bestehende Objekte mit dem visuellen Editor oder direkt im SQL-Editor.

Wo es zu finden ist: Kataloge › Rechtsklick › Bearbeiten (visuelles Formular) / Im ItemEditor öffnen

Öffne das Kontextmenü einer View, Routine, eines Triggers oder Events im entsprechenden Tab der Kataloge — Rechtsklick unter macOS, gedrückt halten auf dem iPad. Neben DDL anzeigen bietet es zwei Wege zum Bearbeiten:

- Bearbeiten (visuelles Formular) — öffnet den grafischen Editor mit vorausgefüllten Feldern
- Im ItemEditor öffnen — öffnet das vollständige DDL des Objekts im SQL-Editor zur manuellen Bearbeitung

Änderungen im visuellen Formular erzeugen je nach Objekttyp ein ALTER oder DROP + CREATE.

Stichwörter: View bearbeiten, Routine bearbeiten, Trigger bearbeiten, Event bearbeiten, Formular, ItemEditor

Tabelle mit Dummy-Daten füllen

Generiert automatisch Testzeilen für eine Tabelle.

Wo es zu finden ist: Kataloge › Rechtsklick › Mit Dummy-Daten füllen

Öffne das Kontextmenü einer Tabelle im Tab Tabellen der Kataloge — Rechtsklick unter macOS, gedrückt halten auf dem iPad — und wähl Mit Dummy-Daten füllen. Calíope generiert Beispiel-INSERTs, die an die Spaltentypen der Tabelle angepasst sind.

Stichwörter: Dummy-Daten, seed, test data, füllen, fiktiv

Nur-Lesen-Modus

Verhindert versehentliche Änderungen an Katalogobjekten.

Wo es zu finden ist: Kataloge › Nur lesen

Aktivier den Schalter Nur lesen in der Leiste der Kataloge, um alle Schaltflächen zum Erstellen und Löschen zu deaktivieren. Nützlich beim Erkunden einer Produktionsdatenbank.

Stichwörter: nur lesen, read only, schützen, Produktion

View-Editor

Erstellt oder ändert eine MySQL-View mit Optionen für Algorithmus, Sicherheit und Prüfung.

Wo es zu finden ist: Kataloge › Neue View / View bearbeiten

Der View-Editor öffnet sich beim Klick auf Neue View oder über das Kontextmenü einer bestehenden View — Rechtsklick unter macOS, gedrückt halten auf dem iPad — mit Bearbeiten (visuelles Formular). Er generiert das DDL CREATE [OR REPLACE] VIEW automatisch.

Verfügbare Felder:

- Name — Name der View in der ausgewählten Datenbank.
- OR REPLACE (Schalter) — ist er aktiv, enthält das generierte DDL OR REPLACE, um die View zu ersetzen, falls sie bereits existiert, ohne sie vorher löschen zu müssen.
- Algorithmus — steuert, wie MySQL die View verarbeitet:
- UNDEFINED (Standard) — MySQL wählt den optimalen Algorithmus.
- MERGE — kombiniert die Query der View mit der äußeren Query. Effizienter.
- TEMPTABLE — materialisiert die View in einer temporären Tabelle, bevor äußere Filter angewendet werden.
- SQL SECURITY — legt die Privilegien fest, mit denen die View ausgeführt wird:
- DEFINER (Standard) — wird mit den Privilegien des Benutzers ausgeführt, der sie erstellt hat.
- INVOKER — wird mit den Privilegien des Benutzers ausgeführt, der sie abfragt.
- CHECK OPTION — prüft, ob die über die View geänderten Zeilen darin weiterhin sichtbar bleiben:
- LOCAL — prüft nur die Bedingung dieser View.
- CASCADED — prüft auch die Bedingungen zugrunde liegender Views.
- SQL SELECT — der Texteditor mit der SELECT-Query, die den Inhalt der View definiert.

Klick auf Anwenden, um das DDL auf dem Server auszuführen.

Stichwörter: View, view, CREATE VIEW, OR REPLACE, Algorithmus, MERGE, TEMPTABLE, SQL SECURITY, DEFINER, INVOKER, CHECK OPTION, View-Editor

Editor für Routinen und Funktionen

Erstellt oder ändert gespeicherte Prozeduren und Funktionen mit visueller Oberfläche.

Wo es zu finden ist: Kataloge › Neue Routine / Routine bearbeiten

Der Routinen-Editor öffnet sich beim Klick auf Neue Routine oder beim Bearbeiten einer bestehenden Routine im Tab Routinen der Kataloge. Er generiert das DDL CREATE OR REPLACE PROCEDURE oder CREATE OR REPLACE FUNCTION.

Verfügbare Felder:

- Name — Name der Prozedur oder Funktion.
- Typ — wähl zwischen PROCEDURE (Prozedur) oder FUNCTION (Funktion).
- Parameter — füg mit der Schaltfläche + Parameter hinzu. Jeder Parameter hat:
- Modus: IN (Eingabe), OUT (Ausgabe), INOUT (Eingabe und Ausgabe). Nur für Prozeduren verfügbar.
- Name des Parameters.
- Datentyp (z. B. INT, VARCHAR(100), DATETIME).
- Rückgabetyp (nur für Funktionen) — der Datentyp, den die Funktion zurückgibt (z. B. INT, VARCHAR(255)).
- Deterministisch — aktiviert DETERMINISTIC, wenn die Funktion für dieselben Eingabeparameter immer dasselbe Ergebnis zurückgibt. Wichtig für Replikation und Query-Cache.
- Datenzugriff — deklariert das Verhalten der Routine gegenüber der Datenbank:
- CONTAINS SQL — kann SQL enthalten, liest oder schreibt aber keine Daten.
- NO SQL — enthält keine SQL-Anweisungen.
- READS SQL DATA — liest Daten, ändert sie aber nicht.
- MODIFIES SQL DATA — kann Daten einfügen, aktualisieren oder löschen.
- Rumpf — Texteditor mit dem SQL-Code des Routinenrumpfs (zwischen BEGIN und END).

Klick auf Anwenden, um das DDL auf dem Server auszuführen.

Stichwörter: Routine, Prozedur, Funktion, PROCEDURE, FUNCTION, Parameter, IN, OUT, INOUT, deterministic, CONTAINS SQL, CREATE PROCEDURE, CREATE FUNCTION

Trigger-Editor

Erstellt oder ändert MySQL-Trigger, die einer Tabelle zugeordnet sind.

Wo es zu finden ist: Kataloge › Neuer Trigger / Trigger bearbeiten

Der Trigger-Editor öffnet sich beim Klick auf Neuer Trigger in der Werkzeugleiste der Kataloge oder über das Kontextmenü eines bestehenden Triggers — Rechtsklick unter macOS, gedrückt halten auf dem iPad — mit Bearbeiten (visuelles Formular). Der Schema-Baum öffnet ihn nicht: Sein Kontextmenü bietet nur SELECT * FROM, Daten importieren… und WHERE erstellen….

Verfügbare Felder:

- Name — Name des Triggers.
- Timing — wann der Trigger im Verhältnis zur Operation ausgelöst wird:
- BEFORE — wird vor der Operation ausgeführt. Erlaubt, die Werte von NEW vor dem Schreiben zu ändern.
- AFTER — wird nach der Operation ausgeführt.
- Ereignis — die Operation, die den Trigger auslöst:
- INSERT — beim Einfügen einer Zeile.
- UPDATE — beim Aktualisieren einer Zeile.
- DELETE — beim Löschen einer Zeile.
- Rumpf — Texteditor mit dem Code des Triggers. Der Platzhalter enthält Kommentare mit den Referenzen NEW.columna (neuer Wert) und OLD.columna (vorheriger Wert):
- NEW verfügbar in INSERT- und UPDATE-Triggern.
- OLD verfügbar in UPDATE- und DELETE-Triggern.

Klick auf Anwenden, um das DDL auf dem Server auszuführen.

Hinweis: MySQL erlaubt nur einen Trigger pro Kombination aus Timing + Ereignis + Tabelle. Existiert bereits ein BEFORE INSERT-Trigger für die Tabelle, kannst du keinen weiteren mit derselben Kombination erstellen.

Stichwörter: Trigger, Auslöser, BEFORE, AFTER, INSERT, UPDATE, DELETE, NEW, OLD, CREATE TRIGGER, Trigger-Editor

Editor für Scheduler-Events

Erstellt oder ändert Events des MySQL Event Schedulers.

Wo es zu finden ist: Kataloge › Neues Event / Event bearbeiten

Der Event-Editor öffnet sich beim Klick auf Neues Event in der Werkzeugleiste der Kataloge oder beim Bearbeiten eines bestehenden Events. Er setzt voraus, dass der Event Scheduler von MySQL aktiviert ist (SET GLOBAL event_scheduler = ON).

Verfügbare Felder:

- Name — Name des Events.
- Status — steuert, ob das Event aktiv ist:
- ENABLE — das Event wird gemäß seiner Planung ausgeführt.
- DISABLE — das Event ist pausiert.
- SLAVESIDE_DISABLED — auf einem Replikations-Slave deaktiviert.
- Planungstyp:
- Einmal (AT) — wird zu einem bestimmten Datum und einer bestimmten Uhrzeit ausgeführt. Nutz die Datums-/Zeitauswahl, um den Zeitpunkt zu wählen.
- Wiederkehrend (EVERY) — wiederholt sich alle N Zeiteinheiten. Konfiguriere die Zahl und die Einheit (SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR).
- Startdatum (wiederkehrend) — wann das wiederkehrende Event zu laufen beginnt.
- Enddatum (wiederkehrend, optional) — aktivier den Schalter, um festzulegen, wann es aufhört zu laufen.
- Rumpf — SQL-Code, den das Event ausführt. Kann ein Block BEGIN … END mit mehreren Anweisungen sein.

Klick auf Anwenden, um das DDL auf dem Server auszuführen.

Stichwörter: Event, event scheduler, CREATE EVENT, ENABLE, DISABLE, AT, EVERY, wiederkehrend, Scheduler, cron, schedule

Index-Editor

Erstellt einen Index für eine Tabelle mit konfigurierbarem Typ, konfigurierbarer Methode und konfigurierbaren Spalten.

Wo es zu finden ist: Kataloge › Neuer Index / Index erstellen

Der Index-Editor öffnet sich im Tab Indizes der Kataloge: bei ausgewählter Tabelle über die Schaltfläche Neuer Index in der Werkzeugleiste; bei einem bereits vorhandenen Index über das Kontextmenü — Rechtsklick unter macOS, gedrückt halten auf dem iPad — mit Bearbeiten (visuelles Formular). Der Schema-Baum öffnet ihn nicht.

Verfügbare Felder:

- Name — Name des Index in der Tabelle.
- Typ:
- INDEX — normaler Index, erlaubt Duplikate.
- UNIQUE — eindeutiger Index, weist doppelte Werte in der indexierten Spalte oder Spaltenkombination zurück.
- FULLTEXT — Volltextsuche. In MySQL und MariaDB nur für CHAR-, VARCHAR- oder TEXT-Spalten und die Engine MyISAM/InnoDB (MySQL 5.6+).
- SPATIAL — Geodaten. In MySQL und MariaDB nur für Spalten vom Typ Spatial und die Engine MyISAM.
- Methode (verfügbar für INDEX und UNIQUE):
- BTREE — B-Baum, die gängigste Methode. Unterstützt Bereichsvergleiche, LIKE 'abc%', ORDER BY.
- HASH — Hash-Tabelle, unterstützt nur exakte Gleichheitsvergleiche. Verfügbar in der Engine MEMORY.
- Spalten — füg die Spalten hinzu, aus denen der Index besteht, mit dem Namensfeld und optional der Präfixlänge (Anzahl der zu indexierenden Zeichen; nützlich für lange TEXT- oder VARCHAR-Spalten).

Der Primärschlüssel wird über den Tab Spalten des Tabellen-Builders verwaltet, nicht über diesen Editor.

Klick auf Anwenden, um ALTER TABLE … ADD INDEX auf dem Server auszuführen.

Stichwörter: Index, index, CREATE INDEX, UNIQUE, FULLTEXT, SPATIAL, BTREE, HASH, Spalten, Präfix, ALTER TABLE, Index-Editor