Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kursova_obd_kadastr_Rodovisch.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
213.5 Кб
Скачать

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 с.

20

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