‘Метронидазол’);into Lekarstva (ID_Lekarstva, Naimenovanie) VALUES (’4’,
‘Дравмадол’);into Lekarstva (ID_Lekarstva, Naimenovanie) VALUES (’5’,
‘Найс’);into Lekarstva (ID_Lekarstva, Naimenovanie) VALUES (’6’,
‘Анальгин’);into Lekarstva (ID_Lekarstva, Naimenovanie) VALUES (’7’,
‘Парацетамол’);into Lekarstva (ID_Lekarstva, Naimenovanie) VALUES (’8’,
‘Цефазолин’);into Lekarstva (ID_Lekarstva, Naimenovanie) VALUES (’9’,
‘Цефтриаксон’);into Lekarstva (ID_Lekarstva, Naimenovanie) VALUES (’10’,
‘Аспирин’);table Grafik
(ID Number Not Null Primary key,
№brigadi Number,Date),FK_Graf Foreign Key (№brigadi) references Brigada (№brigadi);table Brigada
(ID_brigadi Number Not Null Primary key,
№brigadi Number);into Brigada (ID_brigadi, №brigadi) VALUES (’1’,
’1’);into Brigada (ID_brigadi, №brigadi) VALUES (’2’,
’2’);into Brigada (ID_brigadi, №brigadi) VALUES (’3’,
’3’);into Brigada (ID_brigadi, №brigadi) VALUES (’4’,
’4’);table Brigadi_rabotnikov
(ID_brigadi Number,_rabotnika Number),FK_Br Foreign Key (ID_brigadi) references Brigada (ID_brigadi),FK_Br2 Foreign Key (ID_rabotnika) references Medpersonal (ID_rabotnika);table Medpersonal
(ID_rabotnika Number Not Null Primary
key,Varchar2(400),Varchar2(400),Date),FK_Med Foreign Key (Doljnost) references
Doljnost (Doljnost);into Medpersonal (ID_rabotnika, Doljnost, FIO, Otpusk)
VALUES (’1’,’-’, ’Иванов Иван Иванович’, ’Январь’);into Medpersonal (ID_rabotnika, Doljnost, FIO, Otpusk)
VALUES (’2’,’-’, ‘Мазур Леонид
Исаакович’, ‘Февраль’);into Medpersonal (ID_rabotnika,
Doljnost, FIO, Otpusk) VALUES (’3’,’-’, ‘ Петров
Петр Антонович ’, ‘Февраль’);into Medpersonal
(ID_rabotnika, Doljnost, FIO, Otpusk) VALUES (’4’,’-’, ‘ Сергеева Анна Ивановна ’, ‘ Май ’);into Medpersonal (ID_rabotnika, Doljnost, FIO, Otpusk)
VALUES (’5’,’-’, ‘ Шиванчук Евгения
Васильевна ’, ‘ Март ’);into Medpersonal (ID_rabotnika,
Doljnost, FIO, Otpusk) VALUES (’6’,’-’, ‘ Борисова Майя Петровна ’, ‘ Октябрь ’);into Medpersonal
(ID_rabotnika, Doljnost, FIO, Otpusk) VALUES (’7’,’-’, ‘ Страховая Инна Матвеевна ’, ‘ Декабрь ’);into Medpersonal (ID_rabotnika, Doljnost, FIO, Otpusk)
VALUES (’8’,’-’, ‘ Деулин Максим
Алексеевич ’, ‘ Июнь ’);into Medpersonal (ID_rabotnika,
Doljnost, FIO, Otpusk) VALUES (’9’,’-’, ‘ Иванова
Марья Петровна ’, ‘ Август ’);into Medpersonal
(ID_rabotnika, Doljnost, FIO, Otpusk) VALUES (’10’,’-’, ‘ Стаканова Елена Алексеевна ’, ‘ Май ’);
база данные оracle
Ниже описано создание триггера, который выполняет определенную проверку: в один рабочий день может работать только одна бригада в ортопедическом отделении. График работы бригад находится в таблице «Grafik». Операции может проводить в конкретный день, только та бригада, которая работает по графику в этот день. Если в операционном списке записана дата операции и номер бригады, которая не работает в этот день, то «всплывает» ошибка.
Скрипт триггера:
Сreate or replace trigger "AVB_OPERATING_LIST_T1"or update or delete on "AVB_OPERATING_LIST"each rowTRIGGER AVBinsert on AVB_OPERATING_LISTNUMBER;NUMBER;NUMBER;NUMBER;MIN(id) into MIN from AVB_OPERATING_LIST;MAX(id) into MAX from AVB_OPERATING_LIST;count(*) into X from AVB_GRAFIK where AVB_OPERATING_LIST. DATE_OPERATING=AVB_GRAFIK.DATE and AVB_OPERATING_LIST.№BRIGADI=AVB_GRAFIK.№Brigadi and AVB_OPERATING_LIST.ID_OPERATING=i;i in MIN..MAX loop(X=0 then NULLX=1 then DELETE FROM AVB_OPERATING_LIST where AVB_OPERATING_LIST.id=i;if;if;loop;
COMMIT;.
Ниже описано создание процедуры, которая проверяет и заносит в переменную количество операций, запланированных на сегодняшний день (дата сегодняшнего дня берется из SYSDATE(системного времени)).
END;
Комментарий: при создании процедуры была использована вспомогательная
таблица AVB_vspomog, которая не описана в системе и не отображена на
рисунке 1.
Заключение
Благодаря изученному материалу была создана БД, которая имеет дополнительный триггер и процедуру для выполнения условия задачи. Был изучен программный продукт Oracle Application Express и был закреплен материал по изученному ранее языку MySql.
Список литературы
1. «Первые шаги - PL/SQL в Oracle» [<http://www.firststeps.ru/sql/oracle/>]
2. «Oracle Application Express»[ <http://apex.oracle.com/i/index.html>]
3. «Форум программистов» [<http://www.sql.ru>]
. Санжей Мишра «Секреты Oracle SQL». Издательство «Символ-плюс» 2010г.
. Коннор МакДональд «Oracle PL/SQL». Издательство «ДиаСофтЮП» 2009г.
. Скотт Урман «Программирование на языке PL/SQL. Руководство для программистов». Издательство «Лори» 2009г.