Questa pagina descrive Calíope 1.5, la versione che stiamo costruendo adesso. La 1.4 è finita ed è in revisione sull'App Store, e il negozio serve oggi la 1.3 sul Mac e la 1.2 su iPad. Il changelog dice in quale versione è arrivata ogni funzione.
Aggiunge a ogni argomento un pulsante «Apri in Calíope». Funziona solo con l'app installata.
Naviga tabelle, viste, indici, campi, routine, trigger ed eventi.
Dove si trova: Workspace › Strumenti › Cataloghi
Apri Cataloghi dalla barra di navigazione del workspace. Seleziona un database nel selettore superiore. Le sotto-tab mostrano le diverse categorie di oggetti.
Parole chiave: cataloghi, oggetti, tabelle, viste, indici, routine
Mostra il CREATE TABLE, CREATE VIEW o CREATE PROCEDURE e permette di modificarlo e applicarlo.
Dove si trova: Cataloghi › clic destro › Vedi DDL
Fai clic destro su un qualsiasi oggetto nell'elenco dei cataloghi e seleziona Vedi DDL. Il pannello inferiore mostra il DDL completo con sintassi colorata e selezione del testo su tutte e tre.
Modificare il DDL:
Premi Apri in ItemEditor (pulsante superiore del pannello DDL) per aprire l'editor in una scheda modale con il DDL precaricato:
- macOS: editor SQLTextEditor con highlighting ed evidenziazione della sintassi.
- iPad:TextEditor con carattere monospaziato e tastiera touch.
Modifica il DDL liberamente e premi Applica per inviarlo al server. Il pulsante Ripristina annulla le tue modifiche e torna al DDL originale. Se l'ALTER o CREATE non riesce, appare un messaggio rosso nella barra inferiore con l'errore di MySQL.
Crea una tabella direttamente dalla barra degli strumenti dei Cataloghi.
Dove si trova: Cataloghi › Nuova tabella
Nella barra degli strumenti dei Cataloghi usa il pulsante Nuova tabella per aprire il Builder di tabelle in un nuovo tab. Puoi anche aprire il menu contestuale di una tabella esistente — clic destro su macOS, tocca e tieni premuto su iPad — e scegliere Progetta tabella per modificarla.
Il builder è diviso in quattro sezioni accessibili dalla sua barra dei tab:
- Colonne — definisci il nome, il tipo di dato e i vincoli di ogni colonna. Seleziona una riga dell'elenco per modificarne le proprietà nel pannello inferiore (Identificazione, Restrizioni, Valore predefinito, Set di caratteri).
- Indici — gestisci indici PRIMARY, UNIQUE, INDEX e FULLTEXT.
- Chiavi esterne — configura relazioni tra tabelle con le loro azioni ON DELETE/ON UPDATE.
- Opzioni — regola il motore (ENGINE), il set di caratteri e il commento della tabella.
La sezione Anteprima SQL nella parte inferiore mostra in tempo reale il DDL che verrà eseguito. Premi Crea tabella (o Applica modifiche in modalità di modifica) per inviare il DDL al server.
Parole chiave: nuova tabella, create table, creare, DDL, builder, colonne, indici, chiavi esterne
Accedi agli editor visuali di ogni tipo di oggetto dalla barra degli strumenti.
Dove si trova: Cataloghi › Nuova vista / Nuovo indice / Nuova routine / Nuovo trigger / Nuovo evento
La barra degli strumenti dei Cataloghi include pulsanti dedicati per creare ogni tipo di oggetto:
- Nuova vista — apre l'editor delle viste
- Nuovo indice — apre l'editor degli indici
- Nuova routine — apre l'editor di funzioni e stored procedure
- Nuovo trigger — apre l'editor dei trigger
- Nuovo evento — apre l'editor degli eventi dell'Event Scheduler di MySQL
Ogni editor genera il DDL corrispondente (CREATE VIEW, CREATE INDEX, CREATE PROCEDURE, ecc.) e lo esegue sul server alla conferma.
Modifica oggetti esistenti con l'editor visuale o direttamente nell'editor SQL.
Dove si trova: Cataloghi › clic destro › Modifica (form visuale) / Apri in ItemEditor
Apri il menu contestuale di una vista, routine, trigger o evento nella sua scheda corrispondente dei Cataloghi — clic destro su macOS, tocca e tieni premuto su iPad. Oltre a Vedi DDL, offre due modi di modificare:
- Modifica (form visuale) — apre l'editor grafico con i campi precompilati
- Apri in ItemEditor — apre il DDL completo dell'oggetto nell'editor SQL per la modifica manuale
Le modifiche nel form visuale generano un ALTER o DROP + CREATE a seconda del tipo di oggetto.
Genera automaticamente righe di prova per una tabella.
Dove si trova: Cataloghi › clic destro › Popola con dati dummy
Apri il menu contestuale di una tabella nella scheda Tabelle dei Cataloghi — clic destro su macOS, tocca e tieni premuto su iPad — e seleziona Popola con dati dummy. Calíope genererà INSERT di esempio adattati ai tipi delle colonne della tabella.
Parole chiave: dati dummy, seed, test data, popolare, fittizi
Previene modifiche accidentali degli oggetti del catalogo.
Dove si trova: Cataloghi › Sola lettura
Attiva l'interruttore Sola lettura nella barra dei Cataloghi per disabilitare tutti i pulsanti di creazione ed eliminazione. Utile quando esplori un database di produzione.
Parole chiave: sola lettura, read only, proteggere, produzione
Crea o modifica una vista MySQL con opzioni di algoritmo, sicurezza e verifica.
Dove si trova: Cataloghi › Nuova vista / Modifica vista
L'Editor delle viste si apre premendo Nuova vista, o dal menu contestuale di una vista esistente — clic destro su macOS, tocca e tieni premuto su iPad — con Modifica (form visuale). Genera il DDL CREATE [OR REPLACE] VIEW automaticamente.
Campi disponibili:
- Nome — nome della vista nel database selezionato.
- OR REPLACE (toggle) — se attivo, il DDL generato include OR REPLACE per sostituire la vista se esiste già senza doverla eliminare prima.
- Algoritmo — controlla come MySQL elabora la vista:
- UNDEFINED (predefinito) — MySQL sceglie l'algoritmo ottimale.
- MERGE — combina la query della vista con la query esterna. Più efficiente.
- TEMPTABLE — materializza la vista in una tabella temporanea prima di applicare i filtri esterni.
- SQL SECURITY — definisce i privilegi con cui viene eseguita la vista:
- DEFINER (predefinito) — viene eseguita con i privilegi dell'utente che l'ha creata.
- INVOKER — viene eseguita con i privilegi dell'utente che la interroga.
- CHECK OPTION — verifica che le righe modificate attraverso la vista rimangano visibili in essa:
- LOCAL — verifica solo la condizione di questa vista.
- CASCADED — verifica anche le condizioni delle viste sottostanti.
- SQL SELECT — l'editor di testo con la query SELECT che definisce il contenuto della vista.
Premi Applica per eseguire il DDL sul server.
Parole chiave: vista, view, CREATE VIEW, OR REPLACE, algoritmo, MERGE, TEMPTABLE, SQL SECURITY, DEFINER, INVOKER, CHECK OPTION, editor delle viste
Crea o modifica stored procedure e funzioni con interfaccia visuale.
Dove si trova: Cataloghi › Nuova routine / Modifica routine
L'Editor di routine si apre premendo Nuova routine o modificando una routine esistente dalla scheda Routine dei Cataloghi. Genera il DDL CREATE OR REPLACE PROCEDURE o CREATE OR REPLACE FUNCTION.
Campi disponibili:
- Nome — nome della stored procedure o funzione.
- Tipo — seleziona tra PROCEDURE (procedura) o FUNCTION (funzione).
- Parametri — aggiungi parametri con il pulsante +. Ogni parametro ha:
- Modo: IN (ingresso), OUT (uscita), INOUT (ingresso e uscita). Disponibile solo per le procedure.
- Nome del parametro.
- Tipo di dato (es. INT, VARCHAR(100), DATETIME).
- Tipo di ritorno (solo per le funzioni) — il tipo di dato che la funzione restituisce (es. INT, VARCHAR(255)).
- Deterministica — attiva DETERMINISTIC se la funzione restituisce sempre lo stesso risultato per gli stessi parametri di ingresso. Importante per la replica e la cache delle query.
- Accesso ai dati — dichiara il comportamento della routine rispetto al database:
- CONTAINS SQL — può contenere SQL ma non legge né scrive dati.
- NO SQL — non contiene istruzioni SQL.
- READS SQL DATA — legge dati ma non li modifica.
- MODIFIES SQL DATA — può inserire, aggiornare o eliminare dati.
- Corpo — editor di testo con il codice SQL del corpo della routine (tra BEGIN e END).
Premi Applica per eseguire il DDL sul server.
Parole chiave: routine, procedura, funzione, PROCEDURE, FUNCTION, parametri, IN, OUT, INOUT, deterministic, CONTAINS SQL, CREATE PROCEDURE, CREATE FUNCTION
Crea o modifica trigger MySQL associati a una tabella.
Dove si trova: Cataloghi › Nuovo trigger / Modifica trigger
L'Editor di trigger si apre premendo Nuovo trigger nella barra degli strumenti dei Cataloghi, o dal menu contestuale di un trigger esistente — clic destro su macOS, tocca e tieni premuto su iPad — con Modifica (form visuale). L'albero dello schema non lo apre: il suo menu contestuale offre solo SELECT * FROM, Importa dati… e Costruisci WHERE….
Campi disponibili:
- Nome — nome del trigger.
- Timing — quando si attiva il trigger rispetto all'operazione:
- BEFORE — viene eseguito prima dell'operazione. Permette di modificare i valori di NEW prima di scriverli.
- AFTER — viene eseguito dopo l'operazione.
- Evento — l'operazione che attiva il trigger:
- INSERT — all'inserimento di una riga.
- UPDATE — all'aggiornamento di una riga.
- DELETE — all'eliminazione di una riga.
- Corpo — editor di testo con il codice del trigger. Il segnaposto include commenti con i riferimenti NEW.columna (valore nuovo) e OLD.columna (valore precedente):
- NEW disponibile nei trigger di INSERT e UPDATE.
- OLD disponibile nei trigger di UPDATE e DELETE.
Premi Applica per eseguire il DDL sul server.
Nota: MySQL consente un solo trigger per combinazione di timing + evento + tabella. Se esiste già un trigger BEFORE INSERT sulla tabella, non puoi crearne un altro con la stessa combinazione.
Parole chiave: trigger, attivatore, BEFORE, AFTER, INSERT, UPDATE, DELETE, NEW, OLD, CREATE TRIGGER, editor di trigger
Crea o modifica eventi dell'Event Scheduler di MySQL.
Dove si trova: Cataloghi › Nuovo evento / Modifica evento
L'Editor di eventi si apre premendo Nuovo evento nella barra degli strumenti dei Cataloghi o modificando un evento esistente. Richiede che l'Event Scheduler di MySQL sia abilitato (SET GLOBAL event_scheduler = ON).
Campi disponibili:
- Nome — nome dell'evento.
- Stato — controlla se l'evento è attivo:
- ENABLE — l'evento viene eseguito secondo la sua programmazione.
- DISABLE — l'evento è in pausa.
- SLAVESIDE_DISABLED — disabilitato su uno slave di replica.
- Tipo di programmazione:
- Una volta (AT) — viene eseguito in una data e ora specifica. Usa il selettore di data/ora per scegliere il momento.
- Ricorrente (EVERY) — si ripete ogni N unità di tempo. Configura il numero e l'unità (SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR).
- Data di inizio (ricorrente) — quando l'evento ricorrente inizia a essere eseguito.
- Data di fine (ricorrente, opzionale) — attiva il toggle per definire quando smette di essere eseguito.
- Corpo — codice SQL che l'evento esegue. Può essere un blocco BEGIN … END con più istruzioni.
Crea un indice in una tabella con tipo, metodo e colonne configurabili.
Dove si trova: Cataloghi › Nuovo indice / Crea indice
L'Editor di indici si apre dalla scheda Indici dei Cataloghi: con una tabella selezionata, il pulsante Nuovo indice della barra degli strumenti; su un indice che esiste già, il menu contestuale — clic destro su macOS, tocca e tieni premuto su iPad — con Modifica (form visuale). L'albero dello schema non lo apre.
Campi disponibili:
- Nome — nome dell'indice nella tabella.
- Tipo:
- INDEX — indice normale, consente duplicati.
- UNIQUE — indice univoco, rifiuta valori duplicati nella colonna o combinazione di colonne indicizzate.
- FULLTEXT — ricerca full-text. In MySQL e MariaDB, solo per colonne CHAR, VARCHAR o TEXT e motore MyISAM/InnoDB (MySQL 5.6+).
- SPATIAL — dati geospaziali. In MySQL e MariaDB, solo per colonne di tipo spaziale e motore MyISAM.
- Metodo (disponibile per INDEX e UNIQUE):
- BTREE — albero B, il metodo più comune. Supporta confronti di intervallo, LIKE 'abc%', ORDER BY.
- HASH — tabella hash, supporta solo confronti di uguaglianza esatta. Disponibile nel motore MEMORY.
- Colonne — aggiungi le colonne che compongono l'indice con il campo del nome e, facoltativamente, la lunghezza del prefisso (numero di caratteri da indicizzare; utile per colonne TEXT o VARCHAR lunghe).
La chiave primaria si gestisce dalla scheda Colonne del Builder di tabelle, non da questo editor.
Premi Applica per eseguire ALTER TABLE … ADD INDEX sul server.
Parole chiave: indice, index, CREATE INDEX, UNIQUE, FULLTEXT, SPATIAL, BTREE, HASH, colonne, prefisso, ALTER TABLE, editor di indici