# 22. Использование представлений для повышений производительности и безопасности. Виды представлений. Преимущества и недостатки представлений

def Представление - это динамически сформированный результат одной или нескольких реляционных операций, выполненных над отношениями с целью получения нового отношения.

Таблица №1

Табельный номер ФИО Группа Паспорт
308372 Либченко М. M32011 не скажу

Таблица №2

Группы Образовательная программа
M32011 Программирование

Таблица №3

Образовательная программа Факультет
Программирование ФИТиП

Появляется идея о том, чтобы закешировать часто используемые вместе данные

Закешированная таблица

Табельный номер ФИО Группа Образовательная программа Факультет
308372 Либченко М. M32011 Программирование ФИТиП

# Материализованные представления

def Материализованное представление - храним дубликаты данных, полученные в результате выполнения некоторого запроса, непосредственно в памяти

# Представления замены

def Представление замены - хранится только подзапрос, который выполняется когда нужно выполнить родительский запрос, и просто отдаёт в этот родительский запрос нужные данные.

def Представление замены - ничего не храним в памяти, храним запрос, позволяющий получить представление материализации.

TIP

Выигрываем по безопасности

Тут мы делаем представление, ограничивая выдаваемые данные, засчёт чего обеспечиваем безопасность

# Типы представлений

  1. Обновляемые - можно внести изменения в само представление и эти изменения можно однозначно внести на отношение
  2. Необновляемые - запись данных только через исходные таблицы

# Преимущества представлений

  1. Независимость от исходной структуры данных
  2. Повышение защищённости данных
  3. Снижение сложности запросов

# Недостатки представлений

  1. Ограниченные возможности представлений
  2. Структурные ограничения - само представление оптимизировано под определённую структуру таблиц
  3. Снижение производительности