In PostgreSQL si utilizzano gli schemi per raggruppare più tabelle e rendere il database più gestibile. A tal fine utilizziamo il comando CREATE SCHEMA. Con il comando DROP SCHEMA, invece, è possibile eliminare uno schema in qualsiasi momento.

Che cos’è uno schema di PostgreSQL?

In PostgreSQL uno schema è una raccolta di più tabelle. Esso può contenere anche indici, sequenze, tipi di dati e funzioni ed è quindi paragonabile a una directory, ma, al contrario di questa, non consente la nidificazione. Questo metodo è utilizzato in particolare per semplificare la gestione di database di grandi dimensioni che contengono numerose tabelle. Nella struttura di questo sistema di gestione di database, uno schema di PostgreSQL è collocato fra il livello del database e quello delle singole tabelle. Nel suo complesso, la struttura gerarchica si presenta così:

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

Per creare un nuovo schema in PostgreSQL si utilizza il comando CREATE SCHEMA. È possibile rimuovere lo schema con DROP SCHEMA. In questo articolo trovi una descrizione di entrambe le istruzioni.

Server dedicati
Performance e innovazione
  • Hardware dedicato al 100%
  • Fatturazione al minuto
  • Potenziato dai processori Intel® Xeon® e AMD

SCHEMA in PostgreSQL: la sintassi di base

La sintassi di CREATE SCHEMA in PostgreSQL è la seguente:

CREATE SCHEMA nome;
postgresql

Questa istruzione ordina a PostgreSQL di creare uno schema e gli assegna un nome proprio e univoco all’interno del database.

Assegnazione di uno schema di PostgreSQL a nuove tabelle

A questo punto, se crei una nuova tabella con il comando PostgreSQL CREATE TABLE, puoi aggiungerla a uno schema di PostgreSQL già esistente. La relativa sintassi si presenta così:

CREATE TABLE tuoschema.nuovatabella (
…
);
postgresql

Per illustrare meglio questa procedura, ti mostriamo innanzitutto come creare uno schema con il nome “Clienti”. Il relativo codice è il seguente:

CREATE SCHEMA Clienti;
postgresql

A seguire crea una nuova tabella di nome “Elenco_Clienti_Italia”, che aggiungerai allo schema “Clienti” di PostgreSQL. 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)
);
postgresql

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

N.B.

Se non viene specificato nessuno schema, le nuove tabelle vengono assegnate automaticamente allo schema standard “public”.

Rimozione di uno schema con DROP SCHEMA

Ovviamente è anche possibile eliminare uno schema da PostgreSQL. Se lo schema è già vuoto e quindi non è più necessario, è sufficiente utilizzare il comando DROP SCHEMA. Per il nostro esempio precedente, il codice da usare è questo:

DROP SCHEMA Clienti;
postgresql

Se vuoi rimuovere uno schema e tutti gli oggetti in esso contenuti, il comando necessario in PostgreSQL è il seguente:

DROP SCHEMA Clienti CASCADE;
postgresql

È evidente che questo comando deve essere utilizzato con cautela per evitare di perdere dati preziosi.

Hai trovato questo articolo utile?
Vai al menu principale