La vista materializzata è un oggetto di database in cui vengono visualizzate le informazioni richieste da un database. Un database è una raccolta di informazioni organizzate in formato tabella. Consente all’utente finale di recuperare i dati tramite query poste nel formato SQL (Structured Query Language). Ciò consente all’utente finale di effettuare richieste dal database per tipi specifici di informazioni, come un elenco di dipendenti di età inferiore a 30 anni. Queste informazioni sarebbero visualizzate in modo accessibile nella vista materializzata, a condizione che sia una tabella concreta e virtuale che contenga il elenco dei risultati.
Quando l’utente finale inserisce una query nel database, il programma inizia immediatamente a vagliare i suoi record. Confronta le informazioni ricercate con ogni singolo record nelle tabelle selezionate. Quindi, continuando l’esempio precedente, quando si cercano dipendenti sotto i 30 anni, il database va alla tabella “Dipendenti” e, partendo dall’inizio, esamina la data di nascita di ciascuno, confrontandola con la data corrente per ottenere un’età . Tutti i dipendenti di età inferiore ai 30 anni vengono spostati nella tabella di visualizzazione materializzata. Solo allora l’elenco di visualizzazione materializzato finale viene “presentato” all’utente finale, fornendo una risposta completa alla domanda richiesta.
A differenza di una vista tradizionale per un database relazionale, che archivia le informazioni sulle query in una tabella temporanea, la vista materializzata archivia le informazioni richieste in una tabella concreta, permanente e reale. Le informazioni memorizzate nella vista materializzata vengono memorizzate nella memoria di sistema, consentendo all’utente finale di apportare modifiche o aggiornare i dati di volta in volta. Ad esempio, se la stessa query di esempio – tutti i dipendenti sotto i 30 anni – viene effettuata il primo giorno, rimane nel sistema come vista materializzata da quel momento in poi.
Il vantaggio è che accedere nuovamente alle informazioni è molto più rapido; le informazioni sono già memorizzate nel sistema. Lo svantaggio principale è che le informazioni possono diventare obsolete o scadute tra i tempi di accesso. Ad esempio, se l’utente finale accede nuovamente alla stessa vista materializzata il decimo giorno, le cose potrebbero essere cambiate: qualcuno potrebbe aver appena compiuto 30 anni. La versione della vista materializzata non terrà conto di queste modifiche fino a quando l’intera query non sarà stata eseguita di nuovo .