Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
15
Добавлен:
03.06.2015
Размер:
835.5 Кб
Скачать

Управление данными

SQL

Использование представлений и хранимых процедур

Зудилин А.Э. 2013

Представления ( VIEW )

Представления — это виртуальные таблицы.

В отличие от таблиц, содержащих данные, представления содержат запросы, которые динамически выбирают данные, когда это необходимо.

Представление можно рассматривать как запрос SELECT, который хранится в базе данных

СУБД Access не поддерживает VIEW. Вместо этого там есть возможность сохранять запросы.

2

Пример

SELECT Кафедра.Название AS Кафедра_, Студент.Фамилия Студент_

FROM Кафедра, Группа, Студент

WHERE Кафедра.id=Группа.Каф

AND Студент.Группа=Группа.id

AND Группа.name = ’ГИН-05’

Этот запрос был использован для извлечения информции о студентах, которые учатся в группе “ГИН-05”.

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

Чтобы извлечь аналогичные данные для другй группы (или для нескольких групп), последнее предложение WHERE придется модифицировать

3

Предположим, что вы могли бы сохранить весь этот запрос в виртуальной таблице с именем СК.

Тогда для выборки тех же самых данных нужно было бы просто сделать следующее:

SELECT Кафедра_, Студент_

FROM СК

WHERE Группа.name = ’ГИН-05’

Таблица СК является представлением, поэтому она не содержит никаких данных.

Вместо них хранится запрос — тот самый запрос, который был использован выше для объединения таблиц.

4

Создание представления

CREATE VIEW v1 AS

SELECT Кафедра.Название AS Кафедра_, Студент.Фамилия Студент_

FROM Кафедра, Группа, Студент

WHERE Кафедра.id=Группа.Каф

AND Студент.Группа=Группа.id

5

Для чего используются представления

Для повторного использования операторов SQL

Для упрощения выполнения сложных операций.

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

Для вывода частей таблицы вместо вывода ее полностью

Для защиты данных.

Пользователям можно предоставить доступ к определенному поднабору таблиц, а не ко всем таблицам

Для изменения форматирования и отображения данных.

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

6

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

Вы можете выполнять операции SELECT, фильтровать и сортировать данные, объединять представления с другими представлениями или таблицами и, возможно, даже добавлять в них данные либо обновлять их. (На последнюю операцию накладываются некоторые ограничения.)

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

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

7

Правила и ограничения

1)Представления, так же как и таблицы, должны иметь уникальные имена. (Они не могут быть названы так же, как какая-нибудь другая таблица или представление.)

2)Не существует ограничения на количество представлений, которые могут быть созданы.

3)Для того чтобы создать представление, вы должны иметь соответствующие права доступа. Обычно их предоставляет администратор базы данных.

8

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

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

В некоторых СУБД представления трактуются как запросы, предназначенные только для чтения.

9

Создание и удаление представлений

Создание представлений

Представления создаются с помощью оператора CREATE VIEW имя_представления

Аналогично оператору CREATE TABLE, оператор CREATE VIEW можно использовать только для создания представления, которого до сих пор не существовало

Удаление представлений

Для удаления представления используется оператор DROP. Его синтаксис прост:

DROP VIEW имя_представления

10

Соседние файлы в папке Управл_данными