Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otvety_BD.doc
Скачиваний:
49
Добавлен:
17.09.2019
Размер:
1.74 Mб
Скачать

26.Sql. Создание и использование представлений

SQL (Structurend Query Language) — универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных. SQL основывается на реляционной алгебре.

Запрос — команда, которую вы даете вашей программе базы данных. Запросы это часть языка DML.

DML (Язык Манипулирования Данными) – подмножество языка SQL — это набор команд, которые определяют, какие значения представлены в таблицах в любой момент времени.

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

Представление (View) – один из видов объектов, определённых в стандарте SQL-92.

Создание представлений. CREATE VIEW. Представление может быть получено из одной таблицы или нескольких; оно может включать в себя вычисляемые поля. Представление можно рассматривать как хранимый запрос. Данный оператор создаст виртуальную таблицу, состав которой определяется оператором SELECT.

CREATE VIEW <имя представления> [(<список столбцов выборки>)] AS < SELECT оператор> [WITH [CASCADED |LOCAL] CHECK OPTION]);

Список имен столбцов должен быть обязательно определен лишь в следующих случаях: - если хотя бы один из столбцов подзапроса не имеет имени (создается с помощью выражения, SQL-функции или константы); - если два (или более) столбца подзапроса имеют одно и то же имя. Если список отсутствует, то представление наследует имена столбцов из подзапроса.

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

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

Представления могут быть изменяемыми и неизменяемыми.

Уничтожение представлений. DROP VIEW <имя представлениям>

Цели использования представлений:

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

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

  3. Упрощение сложных запросов.

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

Ограничения при использовании [чтобы не была нарушена целостность БД]:

  1. Нельзя корректировать данные представлений, полученных на основе нескольких базовых таблиц (в некоторых СУБД это ограничение менее жесткое).

  2. При определении представления не должно использоваться соединение таблицы «сама с собой».

  3. Нельзя манипулировать данными представлений, полученных на основе оператора группирования (GROUP BY).

  4. Нельзя корректировать вычисляемые поля.

  5. Представление должно содержать один и только один запрос, т.е. не допускается использование UNION, EXCEPT, INTERSECT.

  6. Включающий запрос представления не может содержать предложение DISTINCT (аргумент, который обеспечивает вас способом устранять двойные значения из вашего предложения SELECT).

  7. Ни на один столбец нельзя ссылаться в SELECT более одного раза.

Фраза WITH CHECK OPTION (с проверкой) указывает на то, что при корректировке содержимого таблиц должна осуществляться проверка на соблюдение заданного условия.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]