
Создание представлений
Представление – это виртуальная таблица, создаваемая запросом, содержащим выборку данных. Эта виртуальная таблица состоит из данных одной или нескольких реальных таблиц, а для пользователей представление выглядит, как реальная таблица. В отличие от обычных таблиц представление не является самостоятельным набором данных, хранящимся в базе. Содержимое представления динамически вычисляется на основании данных, находящихся в реальных таблицах. Изменение данных в реальной таблице БД немедленно отражается в содержимом всех представлений, построенных на этой таблице. Представление хранится просто как определенный код T-SQL. Так как представление - это выборка данных, то при помощи него нельзя изменять\добавлять\удалять данные. Для создания представления нужно в «базы данных», нажать правой кнопкой мыши по «представления» и выбрать «Создать представление». Появится окно выбора таблиц, из которых будут выбираться данные (Рисунок 10). Чтобы добавить нужные таблицы, нужно поочередно выбирать их и нажимать «Добавить». По завершению отобразится окно структуры представления (Рисунок 11).
Рисунок 21.
Рисунок 22.
На схеме автоматически отображены связи. Для добавления столбцов в представление нужно галочками выбрать необходимые из таблиц столбцы в запрос. Также внизу будет отображаться SQL код представления.
Чтобы сохранить созданное представление щелкните правой кнопкой мыши по вкладке представления и выберите «сохранить…» либо откройте «файл» и выберите «сохранить представление» либо закройте представление и SQL Server предложит сохранить представление.
Создайте представление «План занятий» из таблиц «Преподаватель», «Изучение» и «Предмет». Выберите столбцы G_ID, НП, ФИО, Видз, Часы, СбаллГр и ID. Сохраните представление.
Создайте представление «Студенты, сдавшие сессию» - новое представление без таблиц. Введите в окне SQL кода следующий код:
SELECT ФИО, G_ID
FROM dbo.Студент
WHERE (ФИО NOT IN
(SELECT Студент_1.ФИО
FROM dbo.Студент AS Студент_1 INNER JOIN
dbo.Успеваемость AS Успеваемость_1 ON Студент_1.[ID_ ST] = Успеваемость_1.[ID ST]
WHERE (Успеваемость_1.Оценка IS NULL)))
Сохраните представление. После сохранения отобразится окно как на Рисунке 12.
Рисунок 23.
Так же для того, чтобы добавлять\изменять\удалять данные в представлении «План занятий» при помощи триггеров представления, создание которых рассмотрено далее, необходимо указать для параметра представления «Спецификация обновления» значение «Да» (Рисунок 13). Данный параметр можно изменить, если нажать правой кнопкой мыши по представлению, выбрать пункт «Проект» и на панели инструментов в разделе «Вид» выбрать отображение «Окна свойств».
Рисунок 24.
Теперь с представлением можно будет работать как с таблицей. Только на данном этапе будет возникать ошибка или обработка данных будет происходить некорректно. Для того, чтобы исправить и сделать работу с данными корректной надо создать триггеры.