# 22. Использование представлений для повышений производительности и безопасности. Виды представлений. Преимущества и недостатки представлений
def Представление - это динамически сформированный результат одной или нескольких реляционных операций, выполненных над отношениями с целью получения нового отношения.
Таблица №1
| Табельный номер | ФИО | Группа | Паспорт |
|---|---|---|---|
| 308372 | Либченко М. | M32011 | не скажу |
Таблица №2
| Группы | Образовательная программа |
|---|---|
| M32011 | Программирование |
Таблица №3
| Образовательная программа | Факультет |
|---|---|
| Программирование | ФИТиП |
Появляется идея о том, чтобы закешировать часто используемые вместе данные
Закешированная таблица
| Табельный номер | ФИО | Группа | Образовательная программа | Факультет |
|---|---|---|---|---|
| 308372 | Либченко М. | M32011 | Программирование | ФИТиП |
# Материализованные представления
def Материализованное представление - храним дубликаты данных, полученные в результате выполнения некоторого запроса, непосредственно в памяти
# Представления замены
def Представление замены - хранится только подзапрос, который выполняется когда нужно выполнить родительский запрос, и просто отдаёт в этот родительский запрос нужные данные.
def Представление замены - ничего не храним в памяти, храним запрос, позволяющий получить представление материализации.
TIP
Выигрываем по безопасности
Тут мы делаем представление, ограничивая выдаваемые данные, засчёт чего обеспечиваем безопасность
# Типы представлений
- Обновляемые - можно внести изменения в само представление и эти изменения можно однозначно внести на отношение
- Необновляемые - запись данных только через исходные таблицы
# Преимущества представлений
- Независимость от исходной структуры данных
- Повышение защищённости данных
- Снижение сложности запросов
# Недостатки представлений
- Ограниченные возможности представлений
- Структурные ограничения - само представление оптимизировано под определённую структуру таблиц
- Снижение производительности