Qual è l'effetto sulla tabella di base quando i dati in una vista è cambiato?

April 21

Qual è l'effetto sulla tabella di base quando i dati in una vista è cambiato?


Molti sistemi di gestione dei database moderni, tra cui Oracle, DB2 di IBM e di Microsoft SQL Server, consentono di utilizzare le strutture di database chiamati vista come alternativa alle tabelle di dati. Una vista è una tabella di "virtuale", che appare come un insieme di colonne e righe e presentante una tabella come origine. Come con le tabelle, è possibile modificare i dati in vista utilizzando appropriate dichiarazioni Structured Query Language. Aggiornamento dei dati ha alcune limitazioni che dipendono dalle tabelle sottostanti la vista.

Visualizzazioni

Basi di dati offrono una vista come una comoda, modo sicuro per rappresentare i dati. Si effettua una vista utilizzando la dichiarazione del database "CREATE VIEW", offrendo un "select" che specifica una o più tabelle con condizioni. La seguente dichiarazione, ad esempio, crea una vista basata su una tabella clienti:

CREATE indiana_customers VISTA
AS SELECT customer_id, nome, indirizzo DA clienti
DOVE = statali alla ';

Questa visualizzazione mostra solo i clienti Indiana. Una vista può avere lo stesso numero di campi della tabella padre o può omettere campi. Ad esempio, si potrebbe dare accesso a qualcuno di una vista basata sulla tabella dipendente di una società, ma lasciare fuori salario e altre informazioni riservate.

Tavolo unico Visualizzazioni

È possibile modificare i dati in una vista basata su un unico tavolo con alcune restrizioni. "UPDATE", "insert" e "CANCELLA" istruzioni SQL trattano Viste le stesse tabelle; le modifiche apportate ai dati della vista rifluiscono alla tabella sottostante. Tuttavia, bisogna stare attenti a regole di campo come quelli che non consente valori nulli; se la tabella ha campi con le regole, ma la vista non lo fa, un'istruzione INSERT potrebbe non riuscire perché la vista non può passare valori al tavolo per quei campi non include.

Viste multiple Tabella

Una vista può incorporare dati da più di una tabella; SELECT della vista può avere una clausola di JOIN che collega due tavoli insieme. In questo caso il punto di vista può avere campi da entrambe le tabelle. È possibile modificare i dati in una visualizzazione più tabelle, anche se bisogna osservare alcune regole. Si possono modificare le informazioni su una sola delle tabelle sottostanti, e quel tavolo deve avere un campo presente chiave nella vista. Il marchio di software di database può avere le proprie regole per l'aggiornamento di questi tipi di viste.

Non aggiornabile Visualizzazioni

Alcuni punti di vista non consentono aggiornamenti. Ad esempio, Oracle ha un opzione "in sola lettura" che impedisce la vista di modificare i dati della tabella. Non è possibile aggiornare una vista che specifica la parola chiave "distinti" o "GROUP BY" clausole nei suoi istruzioni SELECT, come i suoi record sono costituiti da aggregati di record della tabella sottostante. Anche se è possibile ovviare a questo con il database trigger come "invece di" questo approccio aggiunge complessità di aggiornamenti dei dati.