Vista (basi di dati): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Riga 13:
 
=== Viste aggiornabili ===
Le viste possono essere aggiornabili, cioè è possibile eseguire su di esse comandi [[Data Manipulation Language|DML]] come INSERT, UPDATE e DELETE. Non tutti i DBMS supportano questa possibilità. Poiché una vista non è altro che un'interfaccia su una o più tabelle, questi comandi andranno a modificare le tabelle sottostanti. Non tutte le viste sono aggiornabili e scrivibili. Si parla di viste "updatable" (sulle quali cioè si può eseguire UPDATE e DELETE) solo quando il DBMS è in grado di stabilire una mappatura inversa tra i [[Record (informaticadatabase)|record]] presenti nella vista e quelli nelle tabelle. Si parla di viste "''insertable''" (sulle quali si può eseguire INSERT) quando il DBMS è in grado di inserire il record nella tabella corretta. Ad esempio non è "insertable" una vista che mostra i valori massimi di una certa tabella o che raggruppa i record con una clausola GROUP BY, perché tali dati non sono fisicamente scritti su una qualche tabella, ma rielaborati tramite una query. Se anche tutti i dati contenuti nella vista sono scritti fisicamente nelle tabelle, qualora la vista coinvolga diverse tabelle è necessario che tra esse vi sia una relazione uno a uno. Inoltre generalmente non è modificabile una vista basata su una UNION.
 
La sesta [[Leggi Formali|legge formale]] recita: "tutte le viste che sono aggiornabili in teoria, dovrebbero esserlo anche in pratica".