Материализованное представление – это объект базы данных, в котором отображается информация, запрашиваемая из базы данных. База данных представляет собой совокупность информации, упорядоченной в виде таблицы. Это позволяет конечным пользователям извлекать данные через запросы, заданные в формате структурированного запроса (SQL). Это позволяет конечному пользователю делать запросы из базы данных для определенных типов данных, таких как список сотрудников в возрасте до 30 лет. Эта информация будет доступно отображается в материализованном представлении, обеспечивая конкретную, виртуальную таблицу, которая содержит полный список результатов.
Когда конечный пользователь вводит запрос в базу данных, программа немедленно начинает просеивать запрос через свои записи. Она сравнивает информацию в отношении каждой отдельной записи в выбранных таблицах. Так, продолжая предыдущий пример, когда ищите сотрудников до 30 лет, база данных переходит в таблицу “сотрудники”, и начиная с самого начала, она проверяет дату рождения каждого, сравнивая её с текущей датой. Все сотрудники в возрасте до 30 лет будут перемещены в материализованные таблицы. Только тогда для конечного пользователя появится конечный овеществленный список “представленных данных”, который обеспечивает полный ответ на запрашиваемый в запросе.
В отличие от традиционного представления для реляционной базы данных, в которой хранится информация о запросах во временной таблице, материализованное представление хранит запрошенную информацию в реальной, постоянной, конкретной таблице. Информация, хранящаяся в материализованное представлении кешируется в системную память, что позволяет конечному пользователю либо вносить изменения или время от времени обновлять данные. Например, если один и тот же примерный запрос – все сотрудники до 30 лет – производится в первый день, он остается в системе как материализованное представление с этой точкой впереди.
Преимуществом этого является то, что для повторного обращения к этой информации происходит гораздо быстрее; информация уже будет храниться в системе. Основным недостатком является то, что информация может устареть или истёк период времени. Например, если пользователь повторно обращается к одному из материализованных представлений через десять дней, все данные могут измениться: кому-то только что исполнилось 30 лет. Материализованная версия представления не будет учитывать эти изменения до тех пор, пока весь запрос не будет запущен снова.