Лабораторная работа № 6
Тема: "Создание представлений"
Цель работы: усвоить способы создания представлений средствами СУБД MS SQL Server 2016.
Представление
Представление - это виртуальная таблица, определяемая запросом, содержащим оператор SELECT. Эта виртуальная таблица состоит из данных одной или нескольких реальных таблиц, а для пользователей представление выглядит, как реальная таблица. С представлением можно работать, как с обычной таблицей, ним можно применять операции SELECT, INSERT, UPDATE и DELETE. Можно создавать несколько типов представлений, каждый из которых имеет свои преимущества в определенных ситуациях.
Подмножество колонок или строк таблицы. Это наиболее распространенный тип представления, который можно применять для упрощения кажущейся сложности базы данных для конечных пользователей.
Связывание двух и более таблиц. Сложные операции связывания можно упростить, если использовать для этого представление.
Агрегированная информация. Можно создать представление, содержащее агрегированные данные. Этот тип представления также используется для упрощения сложных операций.
Способ внесения изменений в данные
Хотя с точки зрения функциональных возможностей представления аналогичны таблицам, тем не менее, при использовании операций модификации данных с помощью представлений необходимо учитывать следующие особенности:
Если оператор выборки, лежащий в основе представления содержит операцию соединения (то есть представление создано на основе нескольких таблиц), то с помощью этого представления как правило, невозможно вставлять или удалять данные;
Если представление ссылается только на одну таблицу, то вставка данных с помощью оператора INSERT с использованием представления может осуществляться, но при условии, что в представлении обеспечивается доступ ко всем обязательным (не допускающим неопределенных значений) столбцам таблицы или для этих столбцов заданы значения, применяемые по умолчанию.
Представления можно также использовать для объединения секционированных данных. Данные большой таблицы можно секционировать на несколько меньших таблиц, чтобы облегчить управление этими данными, а затем с целью упрощения доступа можно использовать представления для слияния этих таблиц в одну более крупную виртуальную таблицу.
Одним из преимуществ использования представлений является то, что они всегда содержат самые свежие данные. Оператор SELECT, определяющий представление, выполняется только при доступе к этому представлению, поэтому все изменения, внесенные в базовые таблицы представления, отражаются в этом представлении.
Еще одним преимуществом использования представлений является то, что представление может иметь уровень безопасности, отличный от его базовой таблицы. Запрос, определяющий представление, запускается с уровнем безопасности пользователя, создавшего это представление. Можно использовать представление, чтобы маскировать (скрыть) данные, которые вы не хотите показывать определенным классам пользователей.
SQL Server налагает несколько ограничений на создание и использование представлений. Это следующие ограничения:
Ограничения по колонкам. Представление может использовать до 1024 колонок таблицы.
Ограничение базы данных. Представление можно создать по таблице только в той базе данных, к которой осуществляет доступ создатель представления.
Ограничение безопасности. Создатель представления должен иметь доступ ко всем колонкам, входящим в это представление.
Правила целостности данных. Любые обновления, модификации и т.п., вносимые в представление, не могут нарушать правил целостности данных. Например, если базовая таблица не допускает null-значений, то они также не допускаются этим представлением.
Ограничение на количество уровней вложенности представлений. Представления могут формироваться на основе других представлений. Допускается до 32 уровней вложенности представлений.
Ограничение оператора SELECT. Используемый для представления оператор SELECT не может содержать оператора ORDER BY, COMPUTE или COMPUTE BY или ключевого слова INTO.
Представление можно создать тремя способами:
Использование T-SQL для создания представления
Оператор CREATE VIEW имеет следующий синтаксис:
CREATE VIEW имя представления [(колонка, колонка...)]
[WITH ENCRYPTION]
AS
Достарыңызбен бөлісу: |