In Post­gre­SQL si uti­liz­za­no gli schemi per rag­grup­pa­re più tabelle e rendere il database più gestibile. A tal fine uti­liz­zia­mo il comando CREATE SCHEMA. Con il comando DROP SCHEMA, invece, è possibile eliminare uno schema in qualsiasi momento.

Che cos’è uno schema di Post­gre­SQL?

In Post­gre­SQL uno schema è una raccolta di più tabelle. Esso può contenere anche indici, sequenze, tipi di dati e funzioni ed è quindi pa­ra­go­na­bi­le a una directory, ma, al contrario di questa, non consente la ni­di­fi­ca­zio­ne. Questo metodo è uti­liz­za­to in par­ti­co­la­re per sem­pli­fi­ca­re la gestione di database di grandi di­men­sio­ni che con­ten­go­no numerose tabelle. Nella struttura di questo sistema di gestione di database, uno schema di Post­gre­SQL è collocato fra il livello del database e quello delle singole tabelle. Nel suo complesso, la struttura ge­rar­chi­ca si presenta così:

  1. Istanza (in Post­gre­SQL definita spesso anche come “Server”, che può contenere più database)
  2. Database
  3. Schema
  4. Tabella
  5. Riga

Per creare un nuovo schema in Post­gre­SQL si utilizza il comando CREATE SCHEMA. È possibile rimuovere lo schema con DROP SCHEMA. In questo articolo trovi una de­scri­zio­ne di entrambe le istru­zio­ni.

Server dedicati
Per­for­man­ce e in­no­va­zio­ne
  • Pro­ces­so­ri al­l'a­van­guar­dia di ultima ge­ne­ra­zio­ne
  • Hardware dedicato ad alte pre­sta­zio­ni
  • Data center cer­ti­fi­ca­ti ISO

SCHEMA in Post­gre­SQL: la sintassi di base

La sintassi di CREATE SCHEMA in Post­gre­SQL è la seguente:

CREATE SCHEMA nome;
post­gre­sql

Questa istru­zio­ne ordina a Post­gre­SQL di creare uno schema e gli assegna un nome proprio e univoco all’interno del database.

As­se­gna­zio­ne di uno schema di Post­gre­SQL a nuove tabelle

A questo punto, se crei una nuova tabella con il comando Post­gre­SQL CREATE TABLE, puoi ag­giun­ger­la a uno schema di Post­gre­SQL già esistente. La relativa sintassi si presenta così:

CREATE TABLE tuoschema.nuovatabella (
…
);
post­gre­sql

Per il­lu­stra­re meglio questa procedura, ti mostriamo in­nan­zi­tut­to come creare uno schema con il nome “Clienti”. Il relativo codice è il seguente:

CREATE SCHEMA Clienti;
post­gre­sql

A seguire crea una nuova tabella di nome “Elenco_Clienti_Italia”, che ag­giun­ge­rai allo schema “Clienti” di Post­gre­SQL. A tal fine utilizza il codice seguente:

CREATE TABLE Clienti.Elenco_Clienti_Italia(
ID INT PRIMARY KEY NOT NULL,
NOME VARCHAR(50) NOT NULL,
STATO VARCHAR(50),
INDIRIZZO VARCHAR(255)
);
post­gre­sql

In questo modo ottieni una nuova tabella vuota, che si trova nello schema Post­gre­SQL “Clienti” già indicato. Ora puoi inserire i valori nella tabella con Post­gre­SQL INSERT INTO.

N.B.

Se non viene spe­ci­fi­ca­to nessuno schema, le nuove tabelle vengono assegnate au­to­ma­ti­ca­men­te allo schema standard “public”.

Rimozione di uno schema con DROP SCHEMA

Ov­via­men­te è anche possibile eliminare uno schema da Post­gre­SQL. Se lo schema è già vuoto e quindi non è più ne­ces­sa­rio, è suf­fi­cien­te uti­liz­za­re il comando DROP SCHEMA. Per il nostro esempio pre­ce­den­te, il codice da usare è questo:

DROP SCHEMA Clienti;
post­gre­sql

Se vuoi rimuovere uno schema e tutti gli oggetti in esso contenuti, il comando ne­ces­sa­rio in Post­gre­SQL è il seguente:

DROP SCHEMA Clienti CASCADE;
post­gre­sql

È evidente che questo comando deve essere uti­liz­za­to con cautela per evitare di perdere dati preziosi.

Vai al menu prin­ci­pa­le