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.
Visualizza le relazioni tra le tabelle di un database.
Dove si trova: Workspace › Strumenti › ER
Apri il Diagramma ER dalla barra di navigazione del workspace. Seleziona il database nel selettore in alto e Calíope caricherà le tabelle con le loro colonne e le relazioni di chiave esterna esistenti.
Il diagramma mostra le tabelle come nodi con colonne e tipo di dato. Le linee tra le tabelle rappresentano le FK rilevate sul server.
Parole chiave: ER, entità-relazione, diagramma, FK, foreign key, relazioni
Ingrandisci, rimpicciolisci e sposta la vista del diagramma.
Dove si trova: Diagramma ER › Canvas
Ingrandire e ridurre — su macOS, la rotella del mouse, un pizzico a due dita sul trackpad o i pulsanti della barra; su iPad, il pizzico o quegli stessi pulsanti. Tra il − e il + della barra c'è la percentuale, che dice a quale scala sei, e le scorciatoie sono ⌘−, ⌘+ e ⌘0. I limiti sono gli stessi su tutte e tre: dal 18 % al 400 %, e il pulsante si spegne quando arrivi al limite.
Spostare il canvas — trascina su una zona vuota, su tutte e tre. Su un nodo, il trascinamento sposta la tabella.
Tornare all'inquadratura — il pulsante Adatta alla finestra (⌘0) inquadra tutte le tabelle. Il diagramma si reinquadra anche da solo all'apertura e quando cambia la dimensione della finestra.
Il pulsante Disposizione automatica riorganizza i nodi per minimizzare le sovrapposizioni.
Parole chiave: zoom, pan, spostare, avvicinare, allontanare, canvas
Disegna una nuova relazione di chiave esterna tra due tabelle.
Dove si trova: Diagramma ER › clic destro › Crea relazione FK
Apri il menu contestuale di una tabella — clic destro su macOS, tocca e tieni premuto su iPad — e seleziona Nuova relazione FK…. Si apre una finestra di dialogo per scegliere la tabella e la colonna di origine, e la tabella e la colonna di destinazione. Alla conferma, Calíope esegue l'ALTER TABLE … ADD FOREIGN KEY sul server.
Solo su macOS, inoltre: tieni premuto ⌃ (Control) e trascina da una tabella a quella di destinazione; durante il gesto viene disegnata una linea elastica e al rilascio si apre la stessa finestra di dialogo. Su iPad il gesto non esiste, e la chiave esterna si crea dal menu contestuale.
Parole chiave: FK, foreign key, creare relazione, ALTER TABLE, chiave esterna
Rende persistente la posizione dei nodi per mantenere la tua disposizione tra le sessioni.
Dove si trova: Diagramma ER › Salva layout
Premi il pulsante Salva layout nella barra degli strumenti del Diagramma ER. Le posizioni attuali di tutti i nodi di tabella vengono salvate in UserDefaults con la chiave caliope_er_layout_v1.
La prossima volta che apri il diagramma per lo stesso database, i nodi verranno ripristinati nelle posizioni salvate. Se non c'è un layout salvato, il diagramma applica automaticamente l'auto-layout.
Parole chiave: layout, posizione, salvare, rendere persistente, nodi, disposizione
Nella barra degli strumenti del Diagramma ER, il pulsante di esportazione offre due formati: SVG (vettoriale, modificabile con Illustrator o Inkscape) e PDF (pronto per la stampa o la presentazione). Il file viene salvato nella posizione che scegli con la finestra di dialogo del sistema.
Parole chiave: esportare, SVG, PDF, salvare, stampare, diagramma
Consulta la struttura completa di una tabella direttamente nel diagramma.
Dove si trova: Diagramma ER › clic destro › Modifica struttura della tabella
Apri il menu contestuale di un nodo di tabella nel diagramma — clic destro su macOS, tocca e tieni premuto su iPad — e seleziona Modifica struttura della tabella. Si apre un pannello con il CREATE TABLE completo della tabella selezionata.
Parole chiave: DDL, CREATE TABLE, struttura, vedere tabella, show create
Confronta due database sullo stesso server — tabelle, viste, routine, trigger ed eventi — e genera lo script di migrazione.
Dove si trova: Workspace › Strumenti › Diff
Lo strumento di confronto degli schema (Schema Diff) analizza due database sullo stesso server e mostra esattamente che cosa è cambiato in tabelle, viste, procedure, funzioni, trigger ed eventi.
Come aprire Schema Diff:
Tocca Diff (icona con frecce contrapposte) nella barra laterale Strumenti. Si apre in una nuova schedina.
Uso di base:
1. Scegli il DB di origine e il DB di destinazione nei selettori della barra superiore.
2. Tocca Confronta. Calíope legge lo SHOW CREATE … di ogni oggetto nei due database: la definizione canonica scritta dal server stesso.
3. Attiva Solo modifiche per nascondere ciò che coincide.
4. Il rapporto è raggruppato per tipo di oggetto. Espandi una riga qualsiasi: in una tabella modificata vedrai, cambiamento per cambiamento, la definizione attuale e quella che la sostituirà; in una vista o procedura modificata, le due definizioni complete a confronto; in un oggetto nuovo o eliminato, il suo DDL.
5. Tocca Copia SQL per l'intero script, o il pulsante di copia di una riga per quel solo oggetto.
Che cosa genera per le tabelle:
- Un CREATE TABLE IF NOT EXISTS completo per quelle che mancano nell'origine, con colonne, indici e opzioni.
- DROP TABLE IF EXISTS per quelle in eccesso.
- ALTER TABLE con ADD/DROP/MODIFY COLUMN, conservando tipo, nullabilità, valore predefinito, commento, set di caratteri ed espressione di una colonna generata.
- Aggiunta e rimozione di chiave primaria, indici e vincoli CHECK, oltre alle modifiche delle opzioni di tabella (ENGINE, DEFAULT CHARSET, COLLATE, ROW_FORMAT, COMMENT).
Che cosa genera per tutto il resto:
Una vista o una procedura non si può correggere a pezzi: se la sua definizione è diversa, lo script la rifà (DROP + CREATE) con quella della destinazione, riscrivendo i riferimenti allo schema di origine perché punti al database giusto.
Ordine dello script:
Prima le tabelle; poi le chiavi esterne, in un blocco a parte, perché creando più tabelle l'ordine alfabetico non rispetta le dipendenze; quindi un USE e gli altri oggetti per tipo, e all'interno di ogni tipo ordinati per dipendenze — una vista costruita su un'altra viene emessa dopo di essa.
Ignorato di proposito:
Il contatore AUTO_INCREMENT, che avanza a ogni inserimento e non coincide mai tra due copie.
Che cosa non copre:
Una modifica del partizionamento viene rilevata e segnalata come avviso, ma mai tradotta in SQL: ripartizionare riscrive l'intera tabella. Le colonne di una tabella esistente non vengono riordinate, e una colonna rinominata appare come una rimozione più un'aggiunta. Viste, procedure, trigger ed eventi si confrontano testualmente: anche solo una formattazione diversa o un DEFINER diverso conta come differenza — e in MariaDB il DDL di un trigger è il testo letterale con cui è stato scritto. Anche un evento con orario di inizio diverso risulta differente, perché quell'orario fa parte della sua definizione.
Controlla sempre lo script prima di eseguirlo in produzione.
Caso d'uso tipico:
Confrontare lo schema di sviluppo (origine) con la produzione (destinazione) prima di un rilascio, per generare lo script di migrazione senza scriverlo a mano.
Disponibile su macOS, iPad e iPhone.
Parole chiave: schema diff, confrontare, schema, alter table, migrazione, differenze, ADD COLUMN, DROP COLUMN, MODIFY COLUMN, SHOW CREATE TABLE, CREATE TABLE, indici, chiavi esterne, partizionamento, solo modifiche
Aggiungi un secondo database al canvas del diagramma ER per visualizzare relazioni tra database.
Dove si trova: Diagramma ER › + DB
Il Diagramma ER può mostrare tabelle di due database contemporaneamente sullo stesso canvas, incluse le chiavi esterne che passano da un database all'altro.
Come aggiungere un secondo database:
1. Con il Diagramma ER aperto, seleziona il DB principale nel selettore a sinistra della barra degli strumenti.
2. Premi il pulsante + DB nella barra degli strumenti per aggiungere un secondo database.
3. Seleziona il secondo DB nel nuovo selettore che appare.
4. Il canvas si aggiorna automaticamente mostrando le tabelle di entrambi i database.
Codifica dei colori:
- Intestazione blu — tabelle del DB principale.
- Intestazione verde acqua (teal) — tabelle del secondo DB.
- Frecce arancioni — relazioni di chiave esterna che passano da un database all'altro.
- Frecce normali — relazioni all'interno dello stesso database.
Requisito per le relazioni cross-database:
Le chiavi esterne devono essere dichiarate in information_schema. MySQL/MariaDB registra le FK in information_schema.KEY_COLUMN_USAGE. Se le relazioni tra database non appaiono, verifica che le FK esistano formalmente sul server (non siano solo convenzioni di denominazione).
Navigazione ed esportazione:
Tutte le funzioni del diagramma ER normale si applicano al canvas multi-database: zoom, pan, auto-layout, salvare il layout, esportare SVG/PDF e visualizzare il DDL delle tabelle. Consulta gli argomenti Diagramma ER per maggiori dettagli.
Disponibile su macOS, iPad e iPhone.
Parole chiave: erd, multi, cross-database, relazioni, secondo database, foreign key, diagramma, multi-database, intestazione blu, intestazione teal, frecce arancioni