Sommario
PostgreSQL Oltre alle tabelle di dati più comuni presenti in altri driver e motori di database, offre anche tipi di tabella univoci ed esclusivi, come tabelle temporanee, tabelle non registrate, tabelle ereditate e tabelle digitate.Crea una tabella
Prima di approfondire le diverse tipologie di tavole che ci offre PostgreSQL, vedremo come dovrebbe essere creata una tabella normale, questo può essere abbastanza simile a come vengono create le tabelle in altri gestori di database, tuttavia getteremo le basi di come è fatto in PostgreSQL.
Nell'immagine seguente vediamo il codice di come farlo, quindi spiegheremo ogni dettaglio passo dopo passo:
INGRANDIRE
- Il tipo seriale è il tipo di dati che viene utilizzato quando si desidera creare un campo autonumerico, crea un oggetto sequenza complementare e definisce quella colonna come un numero intero con il valore predefinito configurato per prendere il valore successivo dell'oggetto sequenza, di solito è usato come chiave primaria.
- Il tipo varchar è un tipo di stringa di lunghezza variabile simile a quello che usiamo in altri motori di database, può anche essere scritto come carattere variabile (50).
- Il tipo testo è un tipo di dati illimitato, non è mai impostato su una dimensione.
- Il tipo marca temporale with time zone è un tipo di data e ora che viene sempre memorizzato in UTC, per impostazione predefinita mostrerà la data e l'ora utilizzando il fuso orario del server come riferimento se non diversamente indicato.
Al momento supportato solo da PostgreSQL, Questo tipo di tabelle ci consente di ereditare tutte le colonne della tabella padre oltre a poter creare le nostre colonne nella tabella figlio, tutte le modifiche apportate nella tabella padre verranno trasferite alle tabelle figlio, l'unica cosa che non vengono ereditate sono le chiavi primarie e le chiavi esterne, quando facciamo una query contro il genitore includerà anche le colonne dei figli.
Vediamo un esempio di come creare una tabella ereditata:
Tabelle non registrate
Questo tipo di tabelle vengono create quando abbiamo bisogno di molta velocità di scrittura e che i dati che vengono memorizzati in detta tabella non sono di vitale importanza, poiché questo tipo quando c'è un guasto al motore non viene ripristinato ma piuttosto un troncare dal tavolo; il più grande vantaggio che ha è che ha una velocità di scrittura 15 volte più veloce rispetto ad altri tipi di tabelle.
Vediamo come creiamo questo tipo di tabelle nell'immagine seguente:
Tabelle digitate
Questo tipo di tabella ottiene la sua struttura da un tipo di dati composito, con il quale possiamo risparmiare tempo nella loro generazione, lo svantaggio è che non possiamo poi aggiungere colonne aggiuntive nel modo tradizionale.
Il vantaggio è che se abbiamo molti tavoli con questo tipo possiamo cambiare la struttura e questo si estenderà a tutti i tavoli.
Per utilizzarli dobbiamo seguire questi passaggi:
Per prima cosa creiamo il tipo di dati:
CREATE TYPE app_user AS (user_name varchar (50), email varchar (75), pwd varchar (50));
Quindi creiamo la tabella digitata:
CREATE TABLE super_users OF app_user (CONSTRAINT pk_super_users PRIMARY KEY (user_name));
Come vediamo definiamo le chiavi nella definizione della tabella.
Se vogliamo aggiungere un altro campo alle nostre tabelle, possiamo farlo nel modo seguente:
ALTER TYPE app_user ADD ATTRIBUTE main_phone varchar (18) CASCADE;
Con l'argomento CASCATA che viene posizionato, questa modifica viene accettata da tutte le tabelle.
Con questo finiamo questo tutorial, lasciando una serie di strumenti che renderanno i nostri tavoli più adatti alle nostre esigenze e necessità.Ti è piaciuto e hai aiutato questo Tutorial?Puoi premiare l'autore premendo questo pulsante per dargli un punto positivo