Esta página describe Calíope 1.5, la versión que estamos construyendo ahora mismo. La 1.4 está terminada y en revisión de App Store, y la tienda sirve hoy la 1.3 en el Mac y la 1.2 en iPad. 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.
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.
Muestra el CREATE TABLE, CREATE VIEW o CREATE PROCEDURE y permite editarlo y aplicarlo.
Dónde está: Catálogos › clic derecho › Ver DDL
Haz clic derecho sobre 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 las tres.
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:
- macOS: editor SQLTextEditor con highlighting y resaltado de sintaxis.
- iPad:TextEditor con fuente monoespaciada y teclado táctil.
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 de MySQL.
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 se divide en cuatro secciones accesibles desde su barra de pestañas:
- Columnas — define el nombre, tipo de dato y restricciones de cada columna. Selecciona una fila de la lista para editar sus propiedades en el panel inferior (Identificación, Restricciones, Valor por defecto, Juego de caracteres).
- Índices — gestiona índices PRIMARY, UNIQUE, INDEX y FULLTEXT.
- Claves foráneas — configura relaciones entre tablas con sus acciones ON DELETE/ON UPDATE.
- Opciones — ajusta el motor (ENGINE), juego de caracteres y comentario de tabla.
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.
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 disparadores
- Nuevo evento — abre el editor de eventos del planificador MySQL
Cada editor genera el DDL correspondiente (CREATE VIEW, CREATE INDEX, CREATE PROCEDURE, etc.) y lo ejecuta en el servidor al confirmar.
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.
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.
Palabras clave: datos dummy, seed, test data, poblar, ficticios
Previene modificaciones accidentales de objetos del catálogo.
Dónde está: Catálogos › Solo lectura
Activa el interruptor Solo lectura en la barra de Catálogos para deshabilitar todos los botones de creación y eliminación. Útil al explorar una base de datos de producción.
Palabras clave: solo lectura, read only, proteger, producción
Crea o modifica una vista MySQL con opciones de algoritmo, seguridad y verificación.
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 [OR REPLACE] VIEW automáticamente.
Campos disponibles:
- Nombre — nombre de la vista en la base de datos seleccionada.
- OR REPLACE (toggle) — si está activo, el DDL generado incluye OR REPLACE para reemplazar la vista si ya existe sin necesidad de eliminarla antes.
- Algoritmo — controla cómo MySQL procesa la vista:
- UNDEFINED (por defecto) — MySQL 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.
Palabras clave: vista, view, CREATE VIEW, OR REPLACE, algoritmo, MERGE, TEMPTABLE, SQL SECURITY, DEFINER, INVOKER, CHECK OPTION, editor de vistas
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 CREATE OR REPLACE PROCEDURE o CREATE OR REPLACE 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)).
- Determinista — activa DETERMINISTIC si la función devuelve siempre el mismo resultado para los mismos parámetros de entrada. Importante para replicación y caché de consultas.
- 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.
- Cuerpo — editor de texto con el código SQL del cuerpo de la rutina (entre BEGIN y END).
Pulsa Aplicar para ejecutar el DDL en el servidor.
Palabras clave: rutina, procedimiento, función, PROCEDURE, FUNCTION, parámetros, IN, OUT, INOUT, deterministic, CONTAINS SQL, CREATE PROCEDURE, CREATE FUNCTION
Crea o modifica triggers MySQL asociados a 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 sólo ofrece SELECT * FROM, Importar datos… y Construir WHERE….
Campos disponibles:
- Nombre — nombre del trigger.
- Timing — cuándo se dispara el trigger respecto a la operación:
- 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.
- 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 placeholder incluye comentarios con las referencias NEW.columna (valor nuevo) y OLD.columna (valor anterior):
- NEW disponible en triggers de INSERT y UPDATE.
- OLD disponible en triggers de UPDATE y DELETE.
Pulsa Aplicar para ejecutar el DDL en el servidor.
Nota: MySQL solo permite un trigger por combinación de timing + evento + tabla. Si ya existe un trigger BEFORE INSERT en la tabla, no puedes crear otro con la misma combinación.
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, QUARTER, YEAR).
- Fecha de inicio (recurrente) — cuándo empieza a ejecutarse el evento recurrente.
- 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.
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.
- FULLTEXT — búsqueda de texto completo. En MySQL y MariaDB, solo para columnas CHAR, VARCHAR o TEXT y motor MyISAM/InnoDB (MySQL 5.6+).
- SPATIAL — datos geoespaciales. En MySQL y MariaDB, solo para columnas de tipo espacial y motor MyISAM.
- Método (disponible 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. Disponible en motor MEMORY.
- 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).
La clave primaria se gestiona desde la pestaña Columnas del Constructor de tablas, no desde este editor.
Pulsa Aplicar para ejecutar ALTER TABLE … ADD INDEX en el servidor.
Palabras clave: índice, index, CREATE INDEX, UNIQUE, FULLTEXT, SPATIAL, BTREE, HASH, columnas, prefijo, ALTER TABLE, editor de índices