Хранимые процедуры в СУБД Visual FoxPro
Цель и содержание:познакомить студентов с хранимыми процедурами как одними расширенных средств управления базой данных.
Теоретическая часть
Хранимые процедуры в СУБД Visual FoxPro
При разработке приложений для облегчения выполнения каких-либо операций с данными используются механизмы, при помощи которых можно создавать подпрограммы, работающие на сервере и управляющие процессами обработки информации. Эти механизмы носят название хранимых процедур.В современных СУБД в настоящее время широко используются механизмы хранимых процедур. В частности, в СУБД Visual FoxPro их используют как для проверки целостности данных в базе, так и для вычисления значений полей.
Для создания хранимой процедуры выполните следующие действия:
1) откройте создаваемый вами проект;
2) в нем перейдите на вкладку Data;
3) активизируйте группу Databases и перейдите в ней в подгруппу «Stored Procedures (Хранимые процедуры)»;
4) нажмите кнопку New.
После выполнения приведенной выше последовательности действий будет открыто окно редактирования хранимых процедур, которое содержит все ранее созданные хранимые процедуры, включая процедуры, создаваемые автоматически при определении условий целостности базы данных.
Редактирование или удаление хранимых процедур, которые Visual FoxPro создал автоматически при определении условия целостности данных, могут привести к непредсказуемым последствиям.
Для редактирования хранимых процедур в Visual FoxPro можно использовать команду MODIFY PROCEDURE, которая открывает окно редактирования хранимых процедур текущей базы данных.
Для удаления хранимой процедуры необходимо в окне редактирования выделить текст удаляемой процедуры и нажать клавишу Delete,или в окне конструктора проекта установить курсор (указатель манипулятора «мышь») на ее наименование и выполнить команду Remove (Удалить) окна проекта.
Рассмотрим пример использования механизма хранимых процедур в СУБД Visaul FoxPro. Для таблицы, представленной на рисунке 1, создадим процедуру CheckOrderSum2,которая проверяет правильность ввода поля «сумма». Листинг хранимой процедуры CheckOrderSum2приведен ниже:
PROCEDURE CheckOrderSum2
*проверяем сумму заказа
SELECT цена, количество, сумма;
FROM table1
IF table1.сумма =table1.цена*table1.количество
RETURN .t.
ELSE
RETURN .f.
ENDIF
RETURN
После того, как хранимая процедура создана, в поле редактирования триггера модификации Update trigger введем ее имя. Вкладка Table дизайнера таблиц после записи указанных изменений примет следующий вид (рисунок 1.1). В окне Table Commentможно ввести комментарии.
Триггеры определяют свойства таблицы и задают действия, выполняемые при добавлении, удалении и модификации записей. Триггеры можно определить только для таблиц, входящих в базу данных.
Задания для защиты работы
Методика и порядок выполнения заданий 1 и 2
Для выполнения заданий 1 и 2 необходимо изучить пункт «Хранимые процедуры в СУБД Visual FoxPro» из раздела «Теоретическое обоснование» данной лабораторной работы.
Базовый уровень
Задание 1.Создайте проект «Стол заказов». Создайте в нем для таблиц «Журнал реализации» и «Журнал прихода» хранимые процедуры, с помощью которых можно было бы проверить правильность заполнения полей «количество реализованного товара» и «количество полученного товара».
Рисунок 1.1 – Окно Table Designer для Table1
Повышенный уровень
Задание 2.Откройте созданный вами проект «Стол заказов». Создайте для таблицы «Журнал прихода» хранимую процедуру, результатом выполнения которой является увеличение общей стоимости полученного товара на величину НДС.
Содержание отчета и его форма
Отчет по лабораторной работе должен состоять из:
1) названия лабораторной работы;
2) ответов на контрольные вопросы;
3) формулировки заданий к лабораторной работе и порядка их выполнения.
Отчет о выполнении лабораторной работы в письменном виде сдается преподавателю.
3. Вопросы для самостоятельной работы
Базовый уровень
1. Что такое хранимая процедура?
2. Для чего в СУБД используется механизм хранимых процедур?
Повышенный уровень
3. Опишите последовательность действий для создания хранимой процедуры в Visual FoxPro.
Лабораторная работа 2
Представления
Цель и содержание:познакомить студентов с представлениями данных как одними расширенных средств управления базой данных.
Теоретическая часть