5° Anno TEORIA 4. Introduzione al linguaggio SQL | Seite 12

16. Il linguaggio SQL Vers. 11.2 – Febbraio 2026
Creazione di un DOMINIO In SQL è possibile definire nuovi tipi di dato con l’ istruzione CREATE DOMAIN la cui sintassi è:
CREATE DOMAIN < NomeDominio > AS < Tipo > [ CHECK(< Condizione >) ];
dove- si assegnano a < NomeDominio > tutti i valori di < Tipo > che verificano la < Condizione >( se presente perché opzionale).
Modificare un DOMINIO In SQL è possibile modificare un nuovo tipo di dato precedentemente creato, con l’ istruzione ALTER DOMAIN la cui sintassi è:
ALTER DOMAIN < NomeDominio > AS < Tipo > [ CHECK(< Condizione >) ];
Elininare un DOMINIO
In SQL è possibile eliminare un nuovo tipo di dato precedentemente creato, con l’ istruzione DROP DOMAIN la cui sintassi è:
DROP DOMAIN < NomeDominio > [ NO ACTION( analogo a RESTRICT) | CASCADE ];
Creazione di un INDICE In SQL è possibile legare agli attributi di una tabella alcune TABELLE SPECIALI dette INDICI.
Tali INDICI sono FILE contenenti le CHIAVI delle tabelle alle quali sono associati che permettono al linguaggio SQL di accelerare il processo di ricerca dei dati all’ interno della tabella ove sono immagazzinati.
N. B. Quando si crea un vincolo PRIMARY KEY, viene automaticamente creato un INDICE univoco per la colonna o le colonne che ne fanno parte
Gli INDICI sono ESTRANEI al modello relazionale dei dati e sono molto vicini al modello FISICO dei dati.
L’ istruzione per creare un indice per una tabella è CREATE INDEX la cui sintassi è la seguente:
CREATE [ UNIQUE ] INDEX < NomeIndice > ON < NomeTabella >(< NomeAttributo1 >, < NomeAttributo2 >, …, < NomeAttributoN >); dove- se la clausola opzionale UNIQUE E’ SPECIFICATA, verrà creato un INDICE su uno o più attributi imponendo anche il vincolo di UNICITA’( assenza di valori duplicati);
( È l ' ideale per colonne NON CHIAVE che richiedono valori univoci come email, numeri di previdenza sociale, codici prodotto, codici fiscali, etc.)
- se la clausola opzionale UNIQUE NON E’ SPECIFICATA, verrà creato un INDICE su uno o più attributi SENZA il vincolo di UNICITA’( possibile presenza di valori duplicati);
( E’ l’ ideale quando si desidera migliorare le prestazioni delle query su colonne che contengono valori duplicati, dove l ' unicità non è un requisito di integrità dei dati)
N. B. Occorre valutare bene il rapporto costi-benefici dell’ utilizzo degli indici sulle tabelle valutando il tempo di risposta alle interrogazioni ed i ritardi durante le modifiche dei dati. Infatti troppi indici( inclusi quelli non unici) rallentano inevitabilmente le operazioni di INSERT, UPDATE e DELETE poiché l ' indice dovrà essere aggiornato ogni volta.
Eliminazione di un INDICE Per eliminare un indice si utilizza l’ istruzione DROP INDEX la cui sintassi è la seguente: DROP INDEX < NomeIndice > ON < NomeTabella >;
Autore: Rio Chierego( email: riochierego @ libero. it- sito web: www. riochierego. it) Pag. 12