Sommario
La sintassi di PostgreSQL convive senza problemi con gli standard ANSI-SQL, nonostante questo PostgreSQL ci permetta di avere diversi assi nella manica quando si effettuano inserimenti di dati che non sono in altri gestori di database, uno di questi è il costruttore di inserimenti avanzato per più record.Inserimento multiplo
Come abbiamo spiegato, abbiamo la possibilità di inserire più righe, ma vediamo un esempio in codice per poterci mettere in sintonia:
INGRANDIRE
Possiamo vedere che funziona in modo simile all'inserimento di una singola riga usando INSERISCI VALORI () solo noi possiamo aggiungere più di un record alla volta separando ogni set di record con una virgola (,).vincoli
Il vincoli in PostgreSQL sono i più avanzati e complessi che si possono trovare nel mercato dei Database, poiché oltre a creare la restrizione, consente anche di gestire tutti gli aspetti dei dati esistenti, comprese le condizioni in base alle quali possiamo omettere l'uso del vincolo e violare il vincolo al momento dell'inserimento dei dati.
Vediamo come gestire un vincolo di chiave esterna, PostgreSQL Consente la modifica a catena e le opzioni di eliminazione quando si utilizzano i vincoli.
In questo esempio useremo diverse cose in modo dimostrativo.
INGRANDIRE
1. In questo primo vincolo, definiamo una relazione di chiave esterna tra la tabella fatti e il tavolo fact_types, per evitare l'introduzione di elementi non già presenti nella tabella fact_types.
2. Definiamo anche una regola a cascata che aggiorna automaticamente la tabella dei fatti nel campo fact_type_id nel caso in cui venga rienumerato qualsiasi record della tabella fact_types, inoltre limitiamo la cancellazione se uno qualsiasi dei valori è in uso.
3. A differenza del comportamento della chiave primaria e dei vincoli univoci, PostgreSQL non aggiunge automaticamente un indice di una chiave esterna, dobbiamo farlo per conto nostro.
Vincoli UniciOgni tabella non può avere più di una singola chiave primaria, ora se abbiamo bisogno di altri campi univoci in altre colonne, dobbiamo andare al vincoli unici, l'aggiunta di questo crea automaticamente un indice associato univoco, a differenza di una chiave primaria una colonna con un vincolo univoco può essere riempita con valori NULL, avendo un vincolo univoco questa colonna che lo ha non è qualificata per partecipare a un'associazione di chiavi esterne .
Per fare ciò possiamo farlo nel modo seguente:
ALTER TABLE logs_2011 ADD CONSTRAINT uq_us_log UNIQUE (user_name, log_ts);
Verifica vincoli
Il controlla i vincoli sono condizioni che un campo deve soddisfare per ogni riga, il pianificatore di query di PostgreSQL Ha il compito di verificare se c'è un vincolo di controllo nella tabella che fa sì che un filtro di una condizione non possa essere soddisfatto, quindi salta la verifica delle condizioni.
Vediamo come possiamo creare un controlla il vincolo:
[size = 4] ALTER TABLE log ADD CONSTRAINT chk_lusername [/ size] [size = 4] CHECK (user_name = lower (user_name)); [/ size]
Bene, con questo concludiamo questo tutorial con il quale abbiamo imparato un po' di più sulle configurazioni avanzate di PostgreSQL quando si effettuano inserimenti e si verificano i dati con le condizioni dei vincoli.Ti è piaciuto e hai aiutato questo Tutorial?Puoi premiare l'autore premendo questo pulsante per dargli un punto positivo