Что такое представление (VIEW) в базах данных и для чего оно используется

Ответ

Представление (VIEW) в реляционных базах данных — это сохраненный SQL-запрос, который можно использовать как виртуальную таблицу. Представление не хранит данные физически; вместо этого оно динамически извлекает их из одной или нескольких базовых таблиц при каждом обращении.

Основные цели использования:

  • Упрощение сложных запросов: Скрытие сложных JOIN и вычислений за простым именем.
  • Безопасность: Предоставление доступа только к определенным столбцам или строкам, скрывая конфиденциальные данные.
  • Логическая независимость данных: Абстрагирование структуры таблиц от клиентских приложений. Если структура базовых таблиц изменится, можно изменить VIEW, не затрагивая приложения, которые его используют.
  • Переиспользование кода: Избежание дублирования одного и того же сложного запроса в разных частях системы.

Пример создания (SQL):

-- Создаем представление, которое показывает только активных пользователей
CREATE VIEW V_ActiveUsers AS
SELECT
    user_id,
    username,
    email,
    registration_date
FROM
    Users
WHERE
    is_active = TRUE;

После создания с представлением V_ActiveUsers можно работать как с обычной таблицей:

-- Запрос к представлению
SELECT username, email FROM V_ActiveUsers ORDER BY registration_date DESC;

Данные в представлении всегда актуальны, так как запрос к базовым таблицам выполняется в реальном времени.