La sintassi per creare Indici e Chiavi Primarie in SQL

0 Condivisioni

L’utilizzo degli indici o delle chiavi primarie all’interno di una tabella è molto importante per chi deve gestire un database molto pesante e ricco di record. Il modo più facile per capire l’utilità degli indici è attraverso l’esempio dell’indice presente alla fine di un libro: se avete necessità di individuare determinate pagine presenti all’interno di un libro la prima che farete sarà quella di andare a consultare l’indice. Lo stesso principio vale per la consultazione di una tabella con tantissimi record. L’introduzione di un indice vi consentirà di evitare le lunghe attese di lavorazione e di risparmiare molto tempo.

Chiave Primaria e Indici in Access

Segui Informarea su Telegram

Senza un indice il database è costretto a leggere l’intera tabella scansionandola. Con un indice il sistema effettua prima la sua consultazione in modo da individuare le posizioni in cui recuperare i dati consentendo tempi di elaborazione molto più rapidi.

L’uso di indici, quindi, serve per effettuare delle query più veloci con l’unico difetto che aumenta il volume dei dati archiviati e il tempo impiegato per gestire gli alberi di ricerca nelle operazioni di INSERT, UPDATE e DELETE in quanto l’indice deve essere ricostruito ogni volta.

1. L’indice può interessare una o più colonne e la sintassi per crearlo via SQL è la seguente:

CREATE INDEX "nome_indice" ON "nome_tabella" (nome_campo);

2. Se vogliamo creare un indice, chiamandolo IDX_Cognome, per la tabella Utenti nel campo Cognome occorre scrivere:

CREATE INDEX IDX_Cognome ON Utenti (Cognome);

3. Se invece vogliamo creare più di un indice, per esempio sul Nome, dobbiamo scrivere:

CREATE INDEX IDX_Cognome ON Utenti (Cognome, Nome);

4. Nella creazione dell’indice, esiste anche la possibilità di aggiungere il termine UNIQUE, il quale specifica che l’indice creato sarà unico.

CREATE UNIQUE INDEX cognome_IDX ON Utenti (cognome);

Per quanto riguarda la il nome dell’indice non c’è una regola precisa relativa alla denominazione, prima del nome dell’indice il metodo più comune, è posizionare il prefisso “IDX_”.


La chiave primaria identifica in modo univoco i record della tabella (valori univoci ed assenza di valori nulli) . Per evitare che l’utente sbagli nel valorizzare tale campo, è consigliabile associargli il tipo di dati “Contatore” sia perché è numerico e sia perché non c’è possibilità di ripetere due volte lo stesso valore, dato che il contatore parte da 1 e si incrementa automaticamente nell’aggiunta di nuovi campi nella tabella.

Una chiave primaria può essere presente in più campi, in tal caso gli viene assegnato il nome di chiave composta.

1.La sintassi per creare una chiave primaria durante la creazione di una tabella è la seguente:

CREATE TABLE Utente
(ChiavePr integer PRIMARY KEY,
Cognome varchar(30),
Nome varchar(30));

Viene creata la tabella Utente e i campi Cognome e Nome e la chiave primaria ChiavePr.

2. La sintassi per creare una chiave primaria modificando una tabella già esistente è la seguente:

ALTER TABLE Utente ADD PRIMARY KEY (ChiavePr);

Alla tabella Utente viene aggiunta la chiave primaria sul campo ChiavePr.

Non perdere nessuna notizia, aggiungici agli amici!


 

Se volete seguire i post di www.informarea.it potete iscrivervi al suo feed RSS.

Non esitate a lasciare le Vostre impressioni o a porre domande.

Segui Informarea su Telegram

Fabrizio Cannatelli

Fondatore di Informarea.it, è un appassionato di informatica. Ha lavorato per molti anni come Analista Programmatore presso varie aziende utilizzando diversi linguaggi di sviluppo, oggi svolge un lavoro completamente diverso ma la voglia di comunicare e di condividere con il web i suoi studi e le sue curiosità lo hanno spinto a far nascere questo blog non solo per esprimere e mostrare la passione per questo mondo, ma anche per confrontarsi con nuove esperienze di sviluppo.

Fabrizio Cannatelli

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.