Разница между представлениями и запросами SELECT - PullRequest
6 голосов
/ 10 июля 2009

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

SELECT col1, col2
FROM   xyz

, какой смысл использовать представления?

Ответы [ 8 ]

13 голосов
/ 10 июля 2009
  • Использование представления экономит ваше копирование и вставку запросов и добавляет возможность повторного использования кода, поэтому вы можете изменить одно представление вместо 10 запросов в разных местах кода.
  • Для представлений и таблиц могут быть предоставлены различные разрешения, так что вы можете показывать пользователю только часть данных
  • Представление может быть материализовано, что означает кэширование результатов базового запроса
8 голосов
/ 10 июля 2009

Как сказал Кассной, это полезно для предоставления разрешения определенным строкам таблицы.

Например, скажем, преподавателю в университете необходим доступ к информации о студентах в ее классах. У нее не должно быть доступа к таблице «студенты», потому что она может искать или изменять информацию для любого студента во всем университете. Администратор базы данных создает представление, которое показывает только студентов из лекционных классов и дает лектору соответствующие разрешения для представления. Теперь лектор имеет доступ к данным своих студентов, но не ко всей таблице «студентов».

2 голосов
/ 04 февраля 2014

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

Следовательно, при использовании VIEWS необходимо учитывать следующие аспекты

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

  • Простота : большинство представлений, с которыми я работаю, представляют собой компоновки данных столбцов из 4+ таблиц, набор внутренних объединений. Как только представление будет создано, разработчики вашего приложения будут иметь дело с операторами SELECT, используя столбец в том же представлении, отсюда и термин виртуальная таблица.

  • Безопасность : или просто назвали это контролем доступа. Большинство систем управления реляционными базами данных допускают свойства в объекте представления, которые управляют типом доступа. Например, можно разрешить пользователям обновлять представление, но только администратор базы данных может вносить изменения в таблицы, составляющие представление.

1 голос
/ 10 июля 2009

Представления облегчают написание (и чтение) SQL.

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

0 голосов
/ 14 июня 2016

Просмотров: 1. Просмотр не будет хранить никаких данных 2. Используется в целях безопасности 3. Когда базовая таблица отброшена, то представление больше не доступно 4. Можно выполнять операции DML непосредственно в представлении

Материализованный вид: 1. Материализованное представление не хранит данные 2. Используется для лучшей производительности 3. Когда базовая таблица отброшена, материализованное представление все еще доступно 4. Нельзя выполнять операции DML с материализованным представлением.

Ссылка: https://www.youtube.com/watch?v=8ySsyZlixuE

0 голосов
/ 11 июля 2011

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

Отлично!

0 голосов
/ 10 июля 2009

перейдите по этой ссылке, и вы узнаете больше о просмотрах http://www.sql -server-performance.com / статьи / DEV / views_in_sql_server_p1.aspx

0 голосов
/ 10 июля 2009

Представление может быть более сложным, чем просто показ определенных столбцов. Это сохраненный запрос. В Википедии гораздо больше деталей .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...