Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекция спбд.docx
Скачиваний:
59
Добавлен:
14.09.2019
Размер:
223.04 Кб
Скачать

Представление

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

Создание просмотра имеет следующий формат:

CREATE VIEW <имя просм> [список столбцов]

AS <инструкция SELECT>

[WITH CHECK OPTION]

Имя просмотра после его создания можно использовать как имя физической таблицы. Состав столбцов просмотра определяет список, который следует за именем просмотра. Если список столбцов не задан, то в просмотр отбираются все столбцы таблиц, указанных в операторе SELECT.

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

  1. Просмотр отобранной записи только из одной таблицы;

  2. В просмотр включены все записи таблицы, имеющие ограничения NOT NULL;

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

Операнд WITH CHECK OPTION для редактируемого просмотра запрещает добавление записей, не удовлетворяющих условиям отбора, заданным в операторе SELECT.

CREATE VIEW vStore AS

SELECT S_Name, C_Number FROM Store

WHERE S_Number >=0.5;

Удалить просмотр можно следующим образом:

DROP VIEW view_name;

Хранимые процедуры

Хранимая процедура представляет собой подпрограмму, расположенную на сервере и вызываемую из приложения клиента. Использование этих объектов Увеличивает скорость доступа к БД по следующим причинам:

  1. Вместо текста запроса, который может быть достаточно длинным, серверу передается по сети относительное обращение к хранимой процедуре;

  2. Хранимая процедура, в отличии от запроса, не требует предварительной синтаксичесокй проверки

Создание и изменени хранимой процедуры

Хранимая процедура создается следующим образом:

CREATE PROCEDURE name

[ (param datatype [, param datatype …] ) ] – список входных параметров

RETURNS [ (param datatype [, param datatype …] ) ] – список выходных параметров

AS

<procedure_body>;

<procedure_body> =

[<vanable_declaration_list>]

<block>

<vanable_declaration_list>

DECLARE VARIABLE var datatype;

[DECLARE VARIABLE var datatype;…]

<block> =

BEGIN

<compound_statement>

[<compound_statement> …]

END

<compound_statement> = (<block> statement;)

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

Тело процедуры состоит из двух частей: описательной и исполнительной и имеет следующий формат:

[<объявление переменных>]

BEGIN

<оператор>

END

В описательной части объявляются переменные, используемые внутри процедуры. Эти переменные являются локальными и по окончанию работы процедуры теряют свои значения.

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

Созданную хранимую процедуру можно удалить или изменить.

Удаляется хранимая процедура опертором DROP PROCEDURE, после которого идет имя процедуры.

Изменение процедуры выполняется оператором ALTER PROCEDURE, имеющий такой же формат как и CREATE PROCEDURE.