3.1 Створення процедур
Скрипт створення процедури DENGI:
CREATE PROCEDURE DENGI
RETURNS (
ZARABOTANO INTEGER)
AS
DECLARE VARIABLE ASD INTEGER;
DECLARE VARIABLE ZXC INTEGER;
BEGIN
ZARABOTANO = 0;
FOR
SELECT GOD_OKONCHANIYA, STOIMOST FROM ROBOTA
INTO :ASD, :ZXC
DO
BEGIN
IF (:ASD < 2009 ) THEN
ZARABOTANO = :ZARABOTANO +:ZXC ;
END
SUSPEND;
END
Рисунок 21 – Результат виконання запита створення процедури DENGI, яка підраховує суму коштів витрачєних на проведення робіт
3.2 Створення тригерів
Скрипт створення тригера INS_ISKOP:
CREATE TRIGGER INS_ISKOP FOR ISKOPAEMOE
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
NEW.ID = GEN_ID(GEN_ISKOPAEMOE_ID,1);
END
Скрипт створення тригера INS_MESTOROZDENIE:
CREATE TRIGGER INS_MESTOROZDENIE FOR MESTOROZDENIE
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
NEW.ID = GEN_ID(GEN_MESTOROZDENIE_ID,1);
END
Скрипт створення тригера INS_ROBOTA:
CREATE TRIGGER INS_ROBOTA FOR ROBOTA
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
NEW.ID = GEN_ID (GEN_ROBOTA_ID,1);
END
Скрипт створення тригера INS_RYDA:
CREATE TRIGGER INS_RYDA FOR RYDA
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
NEW.ID = GEN_ID(GEN_RYDA_ID,1);
END
Скрипт створення тригера PROV_GODA:
CREATE TRIGGER PROV_GODA FOR ROBOTA
ACTIVE BEFORE INSERT POSITION 1
AS
BEGIN
IF (NEW.GOD_NACHALA > NEW.GOD_OKONCHANIYA) THEN
BEGIN
NEW.VID_ROBOTU = 'Ошибка. Не правильно введены года';
NEW.GOD_NACHALA = NULL;
NEW.GOD_OKONCHANIYA = NULL;
NEW.STOIMOST = NULL;
END
END
Скрипт створення тригера PROV_MESTOR:
CREATE TRIGGER PROV_MESTOR FOR ISKOPAEMOE
ACTIVE BEFORE INSERT POSITION 2
AS
BEGIN
IF (NEW.N_MESTOROZDENIYA <0) THEN
BEGIN
NEW.NAZVANIE = 'Ошибка';
NEW.ZAPASU = NULL;
NEW.RESYRSU = NULL;
NEW.ED_IZMERENIYA = NULL;
NEW.N_RYDU = NULL;
NEW.N_MESTOROZDENIYA = NULL;
END
END
Скрипт створення тригера PROV_RYDU:
CREATE TRIGGER PROV_RYDU FOR ISKOPAEMOE
ACTIVE BEFORE INSERT POSITION 1
AS
BEGIN
IF (NEW.N_RYDU <0) THEN
BEGIN
NEW.NAZVANIE = 'Ошибка';
NEW.ZAPASU = NULL;
NEW.RESYRSU = NULL;
NEW.ED_IZMERENIYA = NULL;
NEW.N_RYDU = NULL;
NEW.N_MESTOROZDENIYA = NULL;
END
END
Висновок
В даному курсовому проекті була створена база даних в СУБД InterBase, призначена для полегшення роботи працівникам служби геодезії.
База даних забезпечує ведення списку родовишь, їх територіальних принадлежностей цих родовищь зі списком руд які до якого також включено хімічні складові цих руд. Також зберігаеться інформація про корисні копалини їх кількість та массову частку в руді. Для користувача також доступна інформація про види проведених робіт та роки їх проведення.
Список літератури
1. Боуман «Проэктирование. Руководство по SQL» . – М.: Образование,
2001. – 496 с.
2. Дейт К.Дж. Введение в системы баз данных.: Пер с англ. – 7-е изд. – К.:
Диалектика, 2001. – 1084 с.
3. Карпова Т.С. Базы данных. Модели, разработка, реализация. – Спб.:
Питер, 2001. – 304 с.
4. Корнеев В.В., Гареев А.Ф. и др. Базы данных. Интелектуальная обработка
информации. – М.: Нолидж, 2001. – 496 с.
