Questa pagina descrive Calíope 1.5, la versione che sto costruendo adesso. La 1.4 è sull'App Store per Mac, iPad, iPhone, Apple Watch, Apple TV e Apple Vision Pro. 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.

Costruttore di tabelle

Costruttore di tabelle

Crea o modifica tabelle con interfaccia visuale senza scrivere DDL manualmente.

Dove si trova: Cataloghi › clic destro › Nuova tabella / Progetta tabella

Il Costruttore di tabelle si apre da Cataloghi: premi Nuova tabella nella barra degli strumenti oppure fai clic destro su una tabella esistente e scegli Progetta tabella. Cataloghi si apre in modalità di sola lettura, quindi prima va disattivata. È disponibile su macOS, iPad e iPhone e su tutte e tre si apre come un tab persistente del workspace: puoi passare a un altro tab (per esempio Cataloghi per consultare un'altra tabella) e tornare senza perdere il lavoro. Ogni tabella si apre in un tab proprio.

L'editor ha quattro tab: Colonne, Indici, Chiavi esterne e Opzioni. Sotto, l'Anteprima SQL mostra il CREATE TABLE —o, per una tabella esistente, l'ALTER TABLE— che producono le tue modifiche, e segue ogni cambiamento; Copia lo mette negli appunti. Quando hai finito, premi Crea tabella (o Applica le modifiche per una tabella esistente) per eseguirlo sul server. Ripristina scarta ciò che hai cambiato: torna ai valori predefiniti per una tabella nuova, o alla definizione del server per una esistente.

Parole chiave: tabella, creare tabella, modificare tabella, DDL, costruttore, table builder, iPad

Definire le colonne

Aggiungi, modifica e riordina le colonne della tabella.

Dove si trova: Costruttore di tabelle › Tab Colonne

Nel tab Colonne, premi + per aggiungere una colonna; i pulsanti accanto duplicano la colonna selezionata, la spostano su o giù e la eliminano. Premi una colonna dell'elenco per modificarla qui sotto: il nome, il tipo di dato —l'elenco è quello del motore del server—, la lunghezza quando il tipo la prevede (per esempio 500 per VARCHAR), e i vincoli Consente NULL, Chiave primaria (PRIMARY KEY) e Unico (UNIQUE), più quelli che solo alcuni tipi prevedono. Compaiono solo quelli che il tipo scelto supporta, e segnare una colonna come chiave primaria disattiva NULL.

MySQLMariaDBAurora

Nei tipi interi, Incremento automatico (AUTO_INCREMENT) numera le righe da solo e Senza segno (UNSIGNED) esclude i valori negativi.

SQL ServerPostgreSQL

Nei tipi interi, Incremento automatico (IDENTITY) numera le righe da solo. Non c'è Senza segno.

Il valore predefinito può essere nessuno, un valore letterale, NULL, CURRENT_TIMESTAMP o un'espressione. Ogni colonna può anche avere un commento.

MySQLMariaDBAurora

Le colonne di testo possono avere un proprio set di caratteri e una propria collazione; se non si toccano, ereditano quelli della tabella.

SQL ServerPostgreSQL

Il costruttore non offre set di caratteri né collazione per colonna.

SQL Server

Il commento si scrive come proprietà estesa MS_Description.

PostgreSQL

Il commento si scrive con COMMENT ON COLUMN.

Una colonna che esisteva già conserva il suo nome originale, così rinominarla diventa una ridenominazione nell'ALTER TABLE invece di eliminare la colonna e aggiungerne una nuova.

SQL ServerPostgreSQL

Una colonna nuova va sempre in fondo alla tabella: il motore non ha AFTER. Spostare su o giù una colonna nuova non cambia nulla sul server, e l'anteprima SQL lo dice in un commento.

Parole chiave: colonna, tipo di dato, INT, VARCHAR, PRIMARY KEY, AUTO_INCREMENT, nullable

Indici e chiavi univoche

Gestisci gli indici della tabella: INDEX e UNIQUE, e FULLTEXT e SPATIAL dove il motore li ha.

Dove si trova: Costruttore di tabelle › Tab Indici

Nel tab Indici, premi + per aggiungere un indice. Dagli un nome e scegli il tipo; l'elenco offre solo i tipi che ha il motore del server: INDEX (normale) e UNIQUE (senza duplicati).

MySQLMariaDBAurora

Inoltre FULLTEXT (ricerca full-text in colonne CHAR/VARCHAR/TEXT) e SPATIAL (dati geospaziali).

SQL ServerPostgreSQL

Il costruttore non ha né FULLTEXT né SPATIAL.

Spunta le colonne che lo compongono: l'ordine in cui le spunti è l'ordine dell'indice, e il numero accanto lo indica. Un indice può abbracciare più colonne (indice composto).

Fai clic destro su un indice dell'elenco per modificarlo o eliminarlo. Modificarne uno che esisteva già lo elimina e lo ricrea.

La chiave primaria si definisce per colonna dal tab Colonne (Chiave primaria (PRIMARY KEY)); non appare qui come indice separato.

Parole chiave: indice, index, UNIQUE, FULLTEXT, SPATIAL, composto, prestazioni

Chiavi esterne

Definisci relazioni di integrità referenziale tra tabelle.

Dove si trova: Costruttore di tabelle › Tab Chiavi esterne

Nel tab Chiavi esterne, premi + per aggiungere una FK. Dalle un nome, scegli la colonna locale, il database —lo stesso, a meno che tu ne scelga un altro— e la tabella di riferimento, e scrivi la colonna referenziata.

Scegli le azioni ON DELETE e ON UPDATE: RESTRICT (errore se viola l'integrità), CASCADE (propaga il cambiamento), SET NULL (imposta NULL nella FK) o NO ACTION.

MySQLMariaDBAurora

NO ACTION equivale a RESTRICT. Entrambe le tabelle devono usare il motore di archiviazione InnoDB.

SQL Server

Non c'è RESTRICT: il costruttore scrive NO ACTION, che in questo motore fa lo stesso. Una chiave esterna non può puntare a un altro database, e l'anteprima SQL lo dice in un commento.

Fai clic destro su una chiave dell'elenco per modificarla o eliminarla; modificarne una che esisteva già la elimina e la ricrea. Il costruttore genera il CONSTRAINT con nome esplicito, per poterlo eliminare in seguito con quel nome.

Parole chiave: FK, foreign key, chiave esterna, CASCADE, RESTRICT, integrità referenziale

Opzioni della tabella

Ciò che appartiene alla tabella intera: il suo commento e, dove il motore li ha, motore di archiviazione, formato di riga, set di caratteri e collazione.

Dove si trova: Costruttore di tabelle › Tab Opzioni

Il tab Opzioni raccoglie ciò che appartiene alla tabella intera.

MySQLMariaDBAurora

Il Motore (ENGINE) di archiviazione, il Formato di riga (ROW_FORMAT), il Set di caratteri e la Collazione della tabella —cambiare il set di caratteri sceglie la prima collazione di quel set— e il Commento della tabella. Le colonne di testo lasciate su «(eredita tabella)» prendono il set di caratteri della tabella.

MySQLMariaDBAurora

Il formato di riga si sceglie quando si crea la tabella: per una tabella esistente il tab non lo offre, perché il costruttore non lo modifica. Gli elenchi di motori, set di caratteri e collazioni li fornisce il server.

SQL ServerPostgreSQL

Il motore non ha motore di archiviazione, formato di riga né set di caratteri per tabella, quindi il tab contiene solo il Commento della tabella.

SQL Server

Il commento si scrive come proprietà estesa MS_Description.

PostgreSQL

Il commento si scrive con COMMENT ON TABLE.

Parole chiave: opzioni, ENGINE, InnoDB, ROW_FORMAT, set di caratteri, collazione, commento