Найти тему

Чем отличается View от Table в базах данных?

Оглавление

View (представление) и Таблица в SQL — это два различных объекта базы данных, которые служат разным целям. Рассмотрим их основные различия:

1. Физическое хранение данных

  • Таблица:

Таблица — это физическая структура базы данных, в которой хранятся данные. Когда вы создаете таблицу, она резервирует место на диске, и данные сохраняются напрямую в этой таблице.

  • View:

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

2. Хранение данных

  • Таблица:

Данные в таблице сохраняются и остаются статичными до тех пор, пока их не изменят с помощью операций INSERT, UPDATE, DELETE.

  • View:

Представление не хранит данные самостоятельно, оно отображает результат выполнения запроса. Когда вы обращаетесь к представлению, фактически выполняется запрос, и данные извлекаются из исходных таблиц.

3. Изменение данных

  • Таблица:

Таблицы поддерживают стандартные операции изменения данных: INSERT, UPDATE, DELETE.

  • View:

Представления могут быть изменяемыми, но это зависит от того, как они построены. Если представление основано на одной таблице и не содержит сложных операций (например, агрегации, объединения нескольких таблиц), его можно обновлять. Однако если представление построено на нескольких таблицах или включает сложные выражения, обновление данных через представление может быть невозможно.

4. Использование

  • Таблица:

Основная цель таблицы — хранение данных. Таблицы используются для прямого хранения и управления данными в базе данных.

  • View:

Представления чаще всего используются для упрощения сложных запросов, повышения уровня абстракции, защиты данных, а также для предоставления пользователям ограниченного доступа к данным (например, доступ только к некоторым столбцам или строкам таблицы).

5. Производительность

  • Таблица:

Таблица обеспечивает высокую производительность при доступе к данным, так как данные физически хранятся на диске.

  • View:

Представление может снижать производительность, особенно если оно включает сложные запросы или объединения таблиц, поскольку каждый раз при обращении к представлению выполняется запрос. Однако, существуют материализованные представления (Materialized Views), которые хранят данные физически, как таблицы, и обновляются периодически или по требованию.

6. Безопасность

  • Таблица:

Таблица предоставляет полный доступ ко всем данным, которые в ней хранятся, если пользователь имеет соответствующие права.

  • View:

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

7. Создание

  • Таблица:

Таблицу создают с помощью команды CREATE TABLE. Пример создания таблицы:

View:

Представление создается с помощью команды CREATE VIEW, которая включает запрос для выборки данных. Пример создания представления:

-2

8. Изменение структуры

  • Таблица:

Структуру таблицы можно изменить с помощью команды ALTER TABLE, добавляя или удаляя столбцы, изменяя типы данных и т.д.

  • View:

Структуру представления можно изменить только путем пересоздания с помощью команды CREATE OR REPLACE VIEW. Представления не поддерживают такие операции как добавление или удаление столбцов непосредственно.

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

  • Таблица:

Таблицы всегда физически хранят данные.

  • View:

Существует специальный тип представлений — материализованные представления. В отличие от обычных представлений, они фактически хранят результат запроса на диске. Это дает прирост производительности при частом доступе к данным, но требует периодического обновления данных.

-3

Заключение

  • Таблица — это физический объект, который хранит данные и управляет ими.
  • View — это виртуальный объект, который представляет данные, полученные в результате выполнения запроса. Представления используются для упрощения доступа к данным, агрегации и ограничения прав на данные.

Выбор между использованием таблицы и представления зависит от конкретной задачи.

Если Вам интересно, что еще можно найти на канале QA Helper, прочитайте статью: Вместо оглавления. Что вы найдете на канале QA Helper - справочник тестировщика?

Не забудьте подписаться на канал, чтобы не пропустить полезную информацию: QA Helper - справочник тестировщика

Пишите в комментариях какой пункт было бы интересно рассмотреть более подробно.

Обязательно прочитайте: Что должен знать и уметь тестировщик

Также будет интересно почитать: Вопросы которые задают на собеседовании тестировщикам

Наука
7 млн интересуются