PostgreSQL - Viste e Windows

Sommario
PostgreSQL è uno dei motori di database che meglio soddisfa gli standard di ANSI-SQLOltre a ciò, va oltre offrendo nuove funzioni e costruttori che vanno da semplici scorciatoie per eseguire query, a elementi imprevisti che consentono di superare i limiti di ciò che può essere un'istruzione SQL.
Visualizzazioni
Come la maggior parte dei database relazionali, PostgreSQL ha supporto per visualizzazioni, tuttavia a differenza di SQL Server e MySQL, le viste in PostgreSQL non sono aggiornabili automaticamente senza ricorrere all'uso di trigger del tipo INVECE DI, in questo modo con l'utilizzo dei TRIGGERS si adatta e si avvicina di più allo standard.
Il vantaggio di questo è che ci permette di mantenere un maggiore controllo sulle viste e sul modo in cui verranno aggiornate le tabelle che forniscono le informazioni.
Vediamo nell'immagine seguente un esempio di come creare una vista in PostgreSQL utilizzando le sue caratteristiche speciali:

Spieghiamo i punti numerati dell'immagine di esempio in modo da poter dare un'occhiata più da vicino all'argomento.
  • Gestire la cancellazione con le istruzioni ELIMINA, elimina solo il record che corrisponde alla stessa chiave del vecchio record.
  • Gestisce gli inserimenti di dati.
  • Aggiorna solo se almeno una delle colonne della tabella fatti È stato cambiato.
  • Gestire gli aggiornamenti, utilizzare il VECCHIO o il vecchio record per determinare quali record eliminare o aggiornare con i dati del NUOVO o nuovo record.
Quindi possiamo creare il nostro Grilletto nel modo seguente per poterlo collegare alla vista già costruita.
 CREA TRIGGER trip_01_vw_facts_ins_upd_del INVECE DI INSERIRE O AGGIORNARE O CANCELLARE SU census.vw_facts PER OGNI RIGA ESEGUI PROCEDURA census.trig_vw_facts_ins_upd_del (); 

In questo modo, quando effettuiamo un qualsiasi inserimento o modifica o cancellazione sulla nostra vista, le tabelle che la compongono riceveranno i dati, vediamo una query di esempio:
UPDATE census.vw_facts SET anno = 2012 WHERE anno = 2011 AND tract_id = '25027761200';

Cosa ci darebbe un risultato di successo: Query restituita correttamente: 51 righe interessate, tempo di esecuzione 21 ms.
Finestra
Il finestre sono una funzionalità standard ANSI-SQL supportata da PostgreSQL, questo ci consente di vedere e utilizzare i dati che sono oltre il record corrente, senza queste funzioni dovremmo essere fatti ISCRIVITI Sotto-query poter ottenere i dati e le risorse in modo molto più complesso.
L'esempio seguente consiste nell'ottenere il valore media di una colonna in una tabella, vediamo l'esempio nell'immagine seguente:

Come abbiamo potuto vedere con la funzione AVG ci permette di ottenere i valori di tutti i campi senza dover fare JOINS e la funzione TERMINATO trasformiamolo in una funzione Finestra. Quindi, quando PostgreSQL vede una funzione di questo tipo, scansiona tutte le righe che soddisfano la clausola WHERE per ottenere il risultato.
Con questo abbiamo terminato il tutorial con il quale potremmo imparare un po' di più come PostgreSQL gestisce le funzioni ANSI-SQL standard e vede come aggiunge il proprio stile per estendere l'utilità di tali funzioni.Ti è piaciuto e hai aiutato questo Tutorial?Puoi premiare l'autore premendo questo pulsante per dargli un punto positivo
wave wave wave wave wave