Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab_raboty_BD_2012-13.docx
Скачиваний:
33
Добавлен:
20.03.2016
Размер:
8.97 Mб
Скачать

Лабораторная работа №13 Хранимые процедуры и триггеры

Цель работы: овладеть практическими навыками обеспечения целостности данных БД различными способами.

Оборудование:УКК (факультет СПО НИУ ИТМО).

Программные средства:СУБД Visual FoxPro (8.0, 9.0).

Практическое задание:

  1. Изучить возможности Visual FoxPro по обеспечению целостности данных с использованием триггеров и хранимых процедур.

  2. Для двух связанных таблиц БД (согласно индивидуальному заданию) определить различные правила для контроля ссылочной целостности с использованием триггеров UPDATE, DELETE и INSERT. Выполнить действия по вставке, модификации и удалению записей, отслеживая срабатывание триггеров при корректных и некорректных действиях с записями таблицы (лабораторный практикум).

  3. Обеспечить в базе данных контроль значений первичных индексов для таблиц, имеющих простой уникальный первичный индекс, посредством формирования значений первичных индексов этих таблиц по умолчанию с использованием хранимой процедуры (функции mylastid) (лабораторный практикум).

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

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

Удобным средством просмотра хранящейся в базе данных информации являются представления данных, которые содержат результат выборки из одной или нескольких таблиц, удовлетворяющих заданному условию. Представления данных имеют много общего с запросами и таблицами. Так же, как и для запросов, вы можете связывать несколько таблиц, указывать отображаемые поля, задавать условие выборки. Просмотр представления данных oсуществляется аналогично просмотру таблицы Visual FoxPro.

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

Хранимые процедуры содержат наиболее часто используемые процедуры, которые хранятся в файле базы данных .DBC. Под словом «хранятся» понимается именно фактическое расположение. Хранимые процедуры становятся доступны в момент открытия БД. Они могут содержать любые команды и функции, допустимые в пользовательских функциях. В удаленном источнике данных – это набор конструкций SQL, хранящийся под некоторым именем в какой-либо БД SQL.

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

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

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

  1. В окне проекта выбрать базу данных.

  2. Перейти в группу Stored Procedures (Хранимые процедуры).

  3. Нажать кнопку New (Новый) (рис.1).

Рис.1 Для создания хранимой процедуры предназначена группа Stored Procedures окна проекта

  1. Открывается окно редактирования хранимых процедур (рис.2), которое содержит все ранее созданные хранимые процедуры, включая процедуры, создаваемые автоматически при определении условий целостности базы данных.

Рис.2 Окно редактирования хранимых процедур

Предупреждение

Редактирование или удаление хранимых процедур, которые Visual FoxPro создал автоматически при определении условия целостности данных, могут привести к непредсказуемым последствиям.

Для редактирования хранимых процедур в Visual FoxPro можно использовать команду MODIFY PROCEDURE, которая открывает окно редактирования хранимых процедур текущей базы данных.

Для удаления хранимой процедуры необходимо в окне редактирования выделить текст удаляемой процедуры и нажать клавишу <Delete> или в окне конструктора проекта установить курсор на ее наименование и выполнить команду Remove (Удалить) окна проекта.