Co to jest zmaterializowany widok?

Widok zmaterializowany to obiekt bazy danych, w którym wyświetlane są informacje żądane z bazy danych. Baza danych to zbiór informacji ułożonych w formie tabeli. Umożliwia użytkownikowi końcowemu pobieranie danych za pomocą zapytań w formacie Structured Query Language (SQL). Umożliwia to użytkownikowi końcowemu składanie żądań z bazy danych o określone rodzaje informacji, takie jak lista pracowników poniżej 30 roku życia. Informacje te byłyby łatwo dostępne w widoku zmaterializowanym, pod warunkiem, że jest to konkretna, wirtualna tabela zawierająca pełne lista wyników.

Gdy użytkownik końcowy wprowadza zapytanie do bazy danych, program natychmiast rozpoczyna przeglądanie swoich rekordów. Porównuje poszukiwane informacje z każdym pojedynczym rekordem w wybranych tabelach. Kontynuując więc poprzedni przykład, szukając pracowników poniżej 30 roku życia, baza trafia do tabeli „Pracownicy” i od samego początku analizuje datę urodzenia każdego, porównując ją z datą bieżącą, aby określić wiek . Wszyscy pracownicy poniżej 30 roku życia są przenoszeni do tabeli widoku zmaterializowanego. Dopiero wtedy ostateczna lista widoków zmaterializowanych jest „prezentowana” użytkownikowi końcowemu, zapewniając kompletną odpowiedź na zadane zapytanie.

W przeciwieństwie do tradycyjnego widoku dla relacyjnej bazy danych, który przechowuje informacje o zapytaniach w tabeli tymczasowej, widok zmaterializowany przechowuje informacje o zapytaniach w rzeczywistej, trwałej, konkretnej tabeli. Informacje przechowywane w zmaterializowanym widoku są buforowane w pamięci systemowej, dzięki czemu użytkownik końcowy może od czasu do czasu wprowadzać zmiany lub aktualizować dane. Na przykład, jeśli to samo przykładowe zapytanie — wszyscy pracownicy poniżej 30 roku życia — zostanie wykonane pierwszego dnia, pozostaje ono w systemie jako zmaterializowany widok od tego momentu.

Zaletą tego jest to, że ponowne uzyskanie dostępu do informacji jest znacznie szybsze; informacje są już zapisane w systemie. Główną wadą jest to, że informacje mogą stać się przestarzałe lub wygasnąć między czasami dostępu. Na przykład, jeśli użytkownik końcowy ponownie uzyska dostęp do tego samego widoku zmaterializowanego w dniu dziesiątym, sytuacja może się zmienić: ktoś mógł właśnie skończyć 30 lat. Wersja widoku zmaterializowanego nie uwzględni tych zmian, dopóki całe zapytanie nie zostanie ponownie uruchomione .