PostgreSQL - Schema

UN schemaè una raccolta denominata di tabelle. Uno schema può anche contenere viste, indici, sequenze, tipi di dati, operatori e funzioni. Gli schemi sono analoghi alle directory a livello di sistema operativo, tranne per il fatto che gli schemi non possono essere annidati. L'istruzione PostgreSQL CREATE SCHEMA crea uno schema.

Sintassi

La sintassi di base di CREATE SCHEMA è la seguente:

CREATE SCHEMA name;

Dove nome è il nome dello schema.

Sintassi per creare una tabella nello schema

La sintassi di base per creare una tabella nello schema è la seguente:

CREATE TABLE myschema.mytable (
...
);

Esempio

Vediamo un esempio per la creazione di uno schema. Connettiti al database testdb e crea uno schema myschema come segue:

testdb=# create schema myschema;
CREATE SCHEMA

Il messaggio "CREATE SCHEMA" indica che lo schema è stato creato correttamente.

Ora, creiamo una tabella nello schema sopra come segue:

testdb=# create table myschema.company(
   ID   INT              NOT NULL,
   NAME VARCHAR (20)     NOT NULL,
   AGE  INT              NOT NULL,
   ADDRESS  CHAR (25),
   SALARY   DECIMAL (18, 2),
   PRIMARY KEY (ID)
);

Questo creerà una tabella vuota. Puoi verificare la tabella creata con il comando fornito di seguito -

testdb=# select * from myschema.company;

Ciò produrrebbe il seguente risultato:

id | name | age | address | salary
----+------+-----+---------+--------
(0 rows)

Sintassi per eliminare lo schema

Per eliminare uno schema se è vuoto (tutti gli oggetti in esso sono stati eliminati), utilizzare il comando -

DROP SCHEMA myschema;

Per eliminare uno schema che includa tutti gli oggetti contenuti, utilizzare il comando -

DROP SCHEMA myschema CASCADE;

Vantaggi dell'utilizzo di uno schema

  • Consente a molti utenti di utilizzare un database senza interferire tra loro.

  • Organizza gli oggetti del database in gruppi logici per renderli più gestibili.

  • Le applicazioni di terze parti possono essere inserite in schemi separati in modo che non entrino in conflitto con i nomi di altri oggetti.