Esta página describe Calíope 1.7, la versión que estoy construyendo ahora mismo. La 1.6 está en la App Store para Mac, iPad, iPhone, Apple Watch, Apple TV y Apple Vision Pro. El changelog dice en qué versión llegó cada función.

Añade un botón «Abrir en Calíope» a cada tema. Sólo funciona con la app instalada.

Catálogos

Explorar Catálogos

Navega tablas, vistas, índices, campos, rutinas, triggers y eventos.

Dónde está: Espacio de Trabajo › Herramientas › Catálogos

Abre Catálogos desde la barra de navegación del workspace. Selecciona una base de datos en el selector superior. Las sub-pestañas muestran las diferentes categorías de objetos.

ClickHouse

Con ClickHouse no hay pestañas Triggers ni Eventos, y una nota bajo las pestañas dice qué hace sus veces. Índices se llama Llaves: por tabla, la llave de ordenamiento, la de partición, la primaria si difiere, la de muestreo, los índices de salto con su tipo y su granularidad, y las proyecciones, sin cardinalidad ni Nuevo índice. Entre Vistas y Llaves está Vistas materializadas: la lista dice a qué escribe cada una —Interna, si el destino lo creó el servidor— y cuándo se refresca, y debajo va la ficha de la elegida: de qué tabla lee, a qué tabla escribe y con qué nombre consultarla, cuánto ocupa el destino y cuántas filas tiene, cuándo se escribió la última fila y, si se refresca sola, su programación, su estado y el último y el próximo refresco, con la zona escrita. Rutinas lista las funciones del usuario.

Oracle

Con Oracle el selector lista esquemas: los que tienen algún objeto que tu cuenta puede ver, más el tuyo aunque esté vacío, también los de Oracle (SYS, MDSYS…). Tablas enseña las del usuario —sin las internas de un índice espacial ni de una vista materializada—, con las filas de la última estadística (NUM_ROWS) y los tipos como los escribe Oracle (NUMBER(10,0), VARCHAR2(100 CHAR)). Vistas incluye las materializadas. Rutinas lista procedimientos, funciones y paquetes —con su especificación y su cuerpo en el panel de DDL— y pone INVALID detrás del tipo del que no compila; Triggers pone DISABLED detrás del que está desactivado. En Índices, uno por función enseña su expresión, y uno de dominio o anómalo, su tipo (DOMAIN · MDSYS.SPATIAL_INDEX_V2, NORMAL · INVISIBLE, UNUSABLE). Hay una pestaña más, Secuencias, con mínimo, máximo, paso, ciclo, caché y Siguiente en disco: el siguiente número que el servidor escribirá, no el último que entregó, que con caché puede ir hasta un bloque por detrás. No hay pestaña Eventos.

Palabras clave: catálogos, objetos, tablas, vistas, índices, rutinas

Ver y editar el DDL de un objeto

Muestra el CREATE TABLE, CREATE VIEW o CREATE PROCEDURE y permite editarlo y aplicarlo.

Dónde está: Catálogos › clic derecho › Ver DDL

Abre el menú contextual —clic derecho en macOS, mantener pulsado en iPad— de cualquier objeto en la lista de catálogos y selecciona Ver DDL. El panel inferior muestra el DDL completo con sintaxis coloreada y selección de texto en todas.

Editar el DDL:
Pulsa Abrir en ItemEditor (botón superior del panel DDL) para abrir el editor en una hoja modal con el DDL pre-cargado. Es el mismo editor en todas las plataformas, con resaltado de sintaxis.

Modifica el DDL libremente y pulsa Aplicar para enviarlo al servidor. El botón Restablecer descarta tus cambios y vuelve al DDL original. Si el ALTER o CREATE falla, aparece un mensaje rojo en la barra inferior con el error del servidor.

Disponible en macOS, iPad, iPhone y Apple Vision Pro.

Apple Vision Pro: el menú contextual se abre mirando la fila y pellizcando sin soltar.

Oracle

Con Oracle el panel enseña lo que escribe el servidor con DBMS_METADATA.GET_DDL: nombres citados y cualificados, EDITIONABLE donde corresponde, la identidad entera y, en una tabla, sus índices, sus comentarios y sus claves foráneas al final, como ALTER TABLE. Si tu cuenta no puede leer el DDL de un objeto de otro esquema —le falta SELECT_CATALOG_ROLE—, sale un comentario que lo dice y no se ofrece Abrir en ItemEditor. Las secuencias también tienen Ver DDL.

Palabras clave: DDL, CREATE TABLE, ALTER, definición, estructura, schema, editar, ItemEditor, Aplicar

Crear nueva tabla

Crea una tabla directamente desde la barra de herramientas de Catálogos.

Dónde está: Catálogos › Nueva tabla

En la barra de herramientas de Catálogos usa el botón Nueva tabla para abrir el Constructor de tablas en una nueva pestaña. También puedes abrir el menú contextual de una tabla existente —clic derecho en macOS, mantener pulsado en iPad— y elegir Diseñar tabla para editarla.

El constructor reparte el trabajo en las pestañas de su barra: Columnas, Índices, Claves foráneas —donde el motor las tiene— y Opciones. Qué ofrece cada una con el motor de tu sesión lo cuentan los temas del Constructor de tablas.

La sección Vista previa SQL en la parte inferior muestra en tiempo real el DDL que se ejecutará. Pulsa Crear tabla (o Aplicar cambios en modo edición) para enviar el DDL al servidor.

Apple Vision Pro: el menú contextual se abre mirando la fila y pellizcando sin soltar.

Palabras clave: nueva tabla, create table, crear, DDL, constructor, columnas, índices, claves foráneas

Crear vistas, índices, rutinas, triggers y eventos

Accede a los editores visuales de cada tipo de objeto desde la barra de herramientas.

Dónde está: Catálogos › Nueva vista / Nuevo índice / Nueva rutina / Nuevo trigger / Nuevo evento

La barra de herramientas de Catálogos incluye botones dedicados para crear cada tipo de objeto:

- Nueva vista — abre el editor de vistas
- Nuevo índice — abre el editor de índices
- Nueva rutina — abre el editor de funciones y procedimientos almacenados
- Nuevo trigger — abre el editor de triggers

MySQLMariaDBAurora

- Nuevo evento — en la pestaña Eventos, abre el editor de eventos del planificador

SQL ServerPostgreSQL

No hay pestaña Eventos ni Nuevo evento: el servidor no tiene planificador de eventos.

Cada editor genera el DDL correspondiente (CREATE VIEW, CREATE INDEX, CREATE PROCEDURE, etc.) en el dialecto del servidor al que estás conectado, y lo ejecuta en el servidor al confirmar. Cada uno ofrece sólo lo que ese servidor sabe escribir: los temas siguientes dicen qué cambia de un motor a otro.

ClickHouse

Con ClickHouse sólo está Nueva vista: no hay Nuevo índice —la pestaña es Llaves, y un índice de salto se añade desde el Constructor de tablas—, ni Nueva rutina, ni Nuevo trigger, ni pestaña Eventos.

Oracle

Con Oracle están Nueva vista y Nuevo índice. No hay Nueva rutina ni Nuevo trigger: Catálogos enseña el código PL/SQL de procedimientos, funciones, paquetes y triggers, pero no lo edita. Tampoco hay pestaña Eventos.

Palabras clave: vista, índice, rutina, trigger, evento, crear, DDL, procedimiento almacenado

Editar vistas, rutinas, triggers y eventos

Modifica objetos existentes con el editor visual o directamente en el editor SQL.

Dónde está: Catálogos › clic derecho › Editar (formulario visual) / Abrir en ItemEditor

Abre el menú contextual de una vista, rutina, trigger o evento en su pestaña correspondiente de Catálogos —clic derecho en macOS, mantener pulsado en iPad—. Además de Ver DDL, ofrece dos formas de editar:

- Editar (formulario visual) — abre el editor gráfico con los campos pre-rellenados
- Abrir en ItemEditor — abre el DDL completo del objeto en el editor SQL para modificación manual

Los cambios en el formulario visual generan un ALTER o DROP + CREATE según el tipo de objeto.

Oracle

Con Oracle, los procedimientos, las funciones, los paquetes y los triggers se leen pero no se editan desde Catálogos: Editar (formulario visual) no aparece. Su PL/SQL completo sale con Ver DDL —el de un paquete, con su especificación y su cuerpo—, y Abrir en ItemEditor lo lleva al editor SQL, donde se cambia y se ejecuta a mano. No hay pestaña Eventos: el planificador de Oracle queda fuera.

ClickHouse

Con ClickHouse, las funciones del usuario se leen pero no se editan desde Catálogos: Editar (formulario visual) no aparece, y Abrir en ItemEditor lleva su DDL al editor SQL.

Apple Vision Pro: el menú contextual se abre mirando la fila y pellizcando sin soltar.

Palabras clave: editar vista, editar rutina, editar trigger, editar evento, formulario, ItemEditor

Poblar tabla con datos ficticios

Genera filas de prueba automáticamente para una tabla.

Dónde está: Catálogos › clic derecho › Poblar con datos dummy

Abre el menú contextual de una tabla en la pestaña Tablas de Catálogos —clic derecho en macOS, mantener pulsado en iPad— y selecciona Poblar con datos dummy. Calíope generará INSERT de ejemplo adaptados a los tipos de columnas de la tabla.

Apple Vision Pro: el menú contextual se abre mirando la fila y pellizcando sin soltar.

Palabras clave: datos dummy, seed, test data, poblar, ficticios

Modo solo lectura

Previene modificaciones accidentales de objetos del catálogo.

Dónde está: Catálogos › Solo lectura

Catálogos se abre en Solo lectura: el interruptor de su barra está encendido y los botones de creación y eliminación, deshabilitados. Apágalo para crear o borrar objetos, y vuelve a encenderlo cuando explores una base de datos de producción. Si la conexión lleva una etiqueta de entorno de solo lectura, el interruptor no aparece, y los botones de creación y eliminación tampoco: desde esa sesión no se puede escribir, así que no hay nada que desbloquear.

Palabras clave: solo lectura, read only, proteger, producción

Editor de vistas

Crea o modifica una vista; las opciones que ofrece dependen del motor.

Dónde está: Catálogos › Nueva vista / Editar vista

El Editor de vistas se abre al pulsar Nueva vista, o desde el menú contextual de una vista existente —clic derecho en macOS, mantener pulsado en iPad— con Editar (formulario visual). Genera el DDL CREATE VIEW automáticamente.

Campos disponibles:

- Nombre — nombre de la vista en la base de datos seleccionada.
- El interruptor de reemplazo — si está activo, el DDL generado reemplaza la vista si ya existe, sin necesidad de eliminarla antes. El interruptor se llama como la cláusula que escribe:

MySQLMariaDBAuroraPostgreSQLOracle

OR REPLACE — CREATE OR REPLACE VIEW.

SQL Server

OR ALTER — CREATE OR ALTER VIEW.

MySQLMariaDBAurora

- Algoritmo — controla cómo procesa el servidor la vista:
- UNDEFINED (por defecto) — el servidor elige el algoritmo óptimo.
- MERGE — combina la consulta de la vista con la consulta externa. Más eficiente.
- TEMPTABLE — materializa la vista en una tabla temporal antes de aplicar filtros externos.
- SQL Security — define los privilegios con los que se ejecuta la vista:
- DEFINER (por defecto) — se ejecuta con los privilegios del usuario que la creó.
- INVOKER — se ejecuta con los privilegios del usuario que la consulta.

- CHECK OPTION — valida que las filas modificadas a través de la vista sigan siendo visibles en ella:
- LOCAL — solo verifica la condición de esta vista.
- CASCADED — verifica también las condiciones de vistas subyacentes.
- SQL SELECT — el editor de texto con la consulta SELECT que define el contenido de la vista.

Pulsa Aplicar para ejecutar el DDL en el servidor.

SQL ServerPostgreSQLOracle

No hay Algoritmo ni SQL Security: la hoja no los enseña.

SQL ServerOracle

WITH CHECK OPTION tiene una sola forma, la que describe CASCADED: elegir LOCAL escribe ésa, y la hoja lo dice.

Apple Vision Pro: el menú contextual se abre mirando la fila y pellizcando sin soltar.

Palabras clave: vista, view, CREATE VIEW, OR REPLACE, algoritmo, MERGE, TEMPTABLE, SQL SECURITY, DEFINER, INVOKER, CHECK OPTION, editor de vistas

Editor de rutinas y funciones

Crea o modifica procedimientos almacenados y funciones con interfaz visual.

Dónde está: Catálogos › Nueva rutina / Editar rutina

El Editor de rutinas se abre al pulsar Nueva rutina o al editar una rutina existente desde la pestaña Rutinas de Catálogos. Genera el DDL que crea el procedimiento o la función, o reemplaza el que tiene ese nombre:

MySQLMariaDBAurora

Dos sentencias, una detrás de otra: DROP PROCEDURE IF EXISTS y CREATE PROCEDURE (o DROP FUNCTION IF EXISTS y CREATE FUNCTION). MySQL no tiene CREATE OR REPLACE para rutinas, así que la que existe se borra primero: si la creación falla, ya no está.

PostgreSQL

CREATE OR REPLACE PROCEDURE o CREATE OR REPLACE FUNCTION.

SQL Server

CREATE OR ALTER PROCEDURE o CREATE OR ALTER FUNCTION.

Campos disponibles:

- Nombre — nombre del procedimiento o función.
- Tipo — selecciona entre PROCEDURE (procedimiento) o FUNCTION (función).
- Parámetros — agrega parámetros con el botón +. Cada parámetro tiene:
- Modo: IN (entrada), OUT (salida), INOUT (entrada y salida). Solo disponible para procedimientos.
- Nombre del parámetro.
- Tipo de dato (ej. INT, VARCHAR(100), DATETIME).
- Tipo de retorno (solo para funciones) — el tipo de dato que devuelve la función (ej. INT, VARCHAR(255)).
- Cuerpo — editor de texto con el código de la rutina. Empieza como un bloque BEGIN … END vacío en el que escribir.

La sección Opciones enseña sólo lo que el servidor sabe escribir:

MySQLMariaDBAurora

- Determinista — escribe DETERMINISTIC si la rutina devuelve siempre el mismo resultado para los mismos parámetros de entrada. Importante para la replicación.
- Acceso a datos — declara el comportamiento de la rutina respecto a la base de datos:
- CONTAINS SQL — puede contener SQL pero no lee ni escribe datos.
- NO SQL — no contiene sentencias SQL.
- READS SQL DATA — lee datos pero no los modifica.
- MODIFIES SQL DATA — puede insertar, actualizar o eliminar datos.

PostgreSQL

Sólo Determinista, y sólo en funciones: escribe IMMUTABLE —la función devuelve siempre el mismo resultado para los mismos argumentos y no lee la base de datos—. Un procedimiento no tiene esa opción, y no hay Acceso a datos: PostgreSQL no tiene esa cláusula. El cuerpo se escribe en PL/pgSQL (LANGUAGE plpgsql).

SQL Server

No hay sección Opciones: SQL Server deduce por su cuenta si una función es determinista, y no tiene cláusula de acceso a datos. Un parámetro que no es IN se escribe @nombre tipo OUTPUT, y la @ se añade si no la pones.

Pulsa Aplicar para ejecutar el DDL en el servidor.

Oracle

Con Oracle este editor no se abre: no hay Nueva rutina ni edición de una rutina existente. Su código se ve en el panel de DDL de Catálogos; para cambiarlo, lleva su CREATE OR REPLACE al Editor SQL.

Palabras clave: rutina, procedimiento, función, PROCEDURE, FUNCTION, parámetros, IN, OUT, INOUT, deterministic, CONTAINS SQL, CREATE PROCEDURE, CREATE FUNCTION

Editor de triggers

Crea o modifica los triggers de una tabla.

Dónde está: Catálogos › Nuevo trigger / Editar trigger

El Editor de triggers se abre al pulsar Nuevo trigger en la barra de herramientas de Catálogos, o desde el menú contextual de un trigger existente —clic derecho en macOS, mantener pulsado en iPad— con Editar (formulario visual). El árbol de esquema no lo abre: su menú contextual no abre ninguno de los editores de Catálogos.

Campos disponibles:

- Nombre — nombre del trigger.
- Timing — cuándo se dispara el trigger respecto a la operación:

MySQLMariaDBAuroraPostgreSQL

- BEFORE — se ejecuta antes de la operación. Permite modificar los valores de NEW antes de escribirlos.
- AFTER — se ejecuta después de la operación.

SQL Server

- AFTER — se ejecuta después de la operación.
- INSTEAD OF — sustituye la operación por el código del trigger.
No hay BEFORE.

- Evento — la operación que dispara el trigger:
- INSERT — al insertar una fila.
- UPDATE — al actualizar una fila.
- DELETE — al eliminar una fila.
- Cuerpo — editor de texto con el código del trigger. El cuerpo de partida dice, en comentarios, dónde están las filas nuevas y las anteriores.

Pulsa Aplicar para ejecutar el DDL en el servidor.

MySQLMariaDBAuroraPostgreSQL

El trigger salta una vez por fila: NEW.columna es el valor nuevo (en INSERT y UPDATE) y OLD.columna el anterior (en UPDATE y DELETE).

PostgreSQL

El código de un trigger vive en una función: Calíope crea la función <nombre>_fn con el cuerpo y el trigger que la llama, FOR EACH ROW. El cuerpo termina en RETURN: en un trigger BEFORE la fila que devuelve es la que se escribe, y NULL se salta la fila. El cuerpo de partida devuelve COALESCE(NEW, OLD), que vale para los tres eventos.

SQL Server

El trigger salta una vez por sentencia, no una vez por fila, y las filas nuevas y las anteriores están en las tablas inserted y deleted, no en NEW y OLD: el cuerpo de partida lo dice.

Apple Vision Pro: el menú contextual se abre mirando la fila y pellizcando sin soltar.

Oracle

Con Oracle este editor no se abre: no hay Nuevo trigger ni edición de uno existente. Su código se ve en el panel de DDL de Catálogos; para cambiarlo, lleva su CREATE OR REPLACE TRIGGER al Editor SQL.

Palabras clave: trigger, disparador, BEFORE, AFTER, INSERT, UPDATE, DELETE, NEW, OLD, CREATE TRIGGER, editor de triggers

Editor de eventos del planificador

Crea o modifica eventos del Event Scheduler de MySQL.

Dónde está: Catálogos › Nuevo evento / Editar evento

El Editor de eventos se abre al pulsar Nuevo evento en la barra de herramientas de Catálogos o al editar un evento existente. Requiere que el Event Scheduler de MySQL esté habilitado (SET GLOBAL event_scheduler = ON).

Campos disponibles:

- Nombre — nombre del evento.
- Estado — controla si el evento está activo:
- ENABLE — el evento se ejecuta según su programación.
- DISABLE — el evento está pausado.
- SLAVESIDE_DISABLED — deshabilitado en un esclavo de replicación.
- Tipo de programación:
- Una vez (AT) — se ejecuta en una fecha y hora específica. Usa el selector de fecha/hora para elegir el momento.
- Recurrente (EVERY) — se repite cada N unidades de tiempo. Configura el número y la unidad (SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, YEAR).
- Inicio (recurrente) — cuándo empieza a ejecutarse el evento recurrente.
- Las fechas y horas son hora del servidor, sin zona horaria: el selector enseña lo que el servidor tiene guardado, no la hora de tu equipo.
- Fecha de fin (recurrente, opcional) — activa el toggle para definir cuándo deja de ejecutarse.
- Cuerpo — código SQL que ejecuta el evento. Puede ser un bloque BEGIN … END con múltiples sentencias.

Pulsa Aplicar para ejecutar el DDL en el servidor.

Palabras clave: evento, event scheduler, CREATE EVENT, ENABLE, DISABLE, AT, EVERY, recurrente, planificador, cron, schedule

Editor de índices

Crea un índice en una tabla con tipo, método y columnas configurables.

Dónde está: Catálogos › Nuevo índice / Crear índice

El Editor de índices se abre en la pestaña Índices de Catálogos: con una tabla seleccionada, el botón Nuevo índice de la barra de herramientas; sobre un índice que ya existe, el menú contextual —clic derecho en macOS, mantener pulsado en iPad— con Editar (formulario visual). El árbol de esquema no lo abre.

Campos disponibles:

- Nombre — nombre del índice en la tabla.
- Tipo:
- INDEX — índice normal, permite duplicados.
- UNIQUE — índice único, rechaza valores duplicados en la columna o combinación de columnas indexadas.

MySQLMariaDBAurora

- FULLTEXT — búsqueda de texto completo. Solo para columnas CHAR, VARCHAR o TEXT y motor MyISAM/InnoDB (MySQL 5.6+).
- SPATIAL — datos geoespaciales. Solo para columnas de tipo espacial, con MyISAM o InnoDB (MySQL 5.7+, MariaDB 10.2+).

MySQLMariaDBAuroraPostgreSQL

- Método (para INDEX y UNIQUE):
- BTREE — árbol B, el método más común. Soporta comparaciones de rango, LIKE 'abc%', ORDER BY.
- HASH — tabla hash, solo soporta comparaciones de igualdad exacta.

MySQLMariaDBAurora

HASH sólo lo respeta el motor MEMORY.

PostgreSQL

Un índice UNIQUE no puede ser HASH, así que con UNIQUE el método es BTREE. Los demás métodos (gin, gist, brin) no se ofrecen.

SQL ServerOracle

No hay Método: CREATE INDEX no tiene cláusula USING.

- Columnas — agrega las columnas que componen el índice con el campo de nombre y, opcionalmente, la longitud del prefijo (número de caracteres a indexar; útil para columnas TEXT o VARCHAR largas).

SQL ServerPostgreSQLOracle

No hay índice por prefijo: se indexa la columna entera, y el DDL generado lo dice en un comentario.

La clave primaria se gestiona desde la pestaña Columnas del Constructor de tablas, no desde este editor.

Pulsa Aplicar para ejecutar CREATE INDEX en el servidor.

ClickHouse

Con ClickHouse este editor no se abre: la pestaña es Llaves y no tiene Nuevo índice. Un índice de salto se añade o se quita en el Constructor de tablas, en su pestaña Índices.

Apple Vision Pro: el menú contextual se abre mirando la fila y pellizcando sin soltar.

Oracle

Con Oracle el tipo es INDEX o UNIQUE, y el índice se crea en el esquema de su tabla. Borrar un índice que sostiene una restricción UNIQUE suelta la restricción, y con ella el índice.

Palabras clave: índice, index, CREATE INDEX, UNIQUE, FULLTEXT, SPATIAL, BTREE, HASH, columnas, prefijo, ALTER TABLE, editor de índices

Buscar y recargar en Catálogos

El campo de búsqueda filtra por nombre la lista de la pestaña abierta y se vacía al cambiar de pestaña; recargar vuelve a leer la base, y la lista se recarga sola cuando otra herramienta de Calíope la cambia.

Dónde está: Espacio de Trabajo › Herramientas › Catálogos

El campo de búsqueda de la barra de Catálogos filtra por nombre la lista de la pestaña abierta —tablas, vistas, índices, rutinas y las demás— y se vacía al cambiar de pestaña.

El botón Refrescar vuelve a leer la base. Rara vez hará falta: cuando otra herramienta de Calíope crea o borra un objeto de esa base, la lista se recarga sola. Lo que se cambie desde fuera de Calíope aparece al recargar.

Palabras clave: buscar, filtrar, recargar, refrescar, catálogos

Eliminar objetos desde Catálogos

El menú contextual de una tabla, un índice, una rutina o un evento ofrece eliminarlo; la confirmación enseña el DROP que ejecutará el motor.

Dónde está: Espacio de Trabajo › Herramientas › Catálogos

El menú contextual de una tabla, un índice, una rutina o un evento ofrece eliminarlo. Antes de hacer nada, Calíope enseña la sentencia DROP que ejecutará el motor y pide que confirmes; si la conexión lleva una etiqueta de entorno que pide confirmación, el diálogo la nombra.

Las vistas, los triggers y las secuencias no se borran desde Catálogos: elimínalos desde el Editor SQL.

Con el candado puesto la opción sale deshabilitada; en una sesión que sólo puede leer, no se dibuja.

Palabras clave: eliminar, drop, tabla, índice, rutina, evento