Разработка базы данных для ортопедического отделения больницы, которая имеет дополнительный триггер и процедуру для выполнения условия задачи. Использование программного продукта Oracle Application Express и языка MySql для создания базы данных.
При низкой оригинальности работы "Проектирование базы данных ортопедического отделения больницы", Вы можете повысить уникальность этой работы до 80-100%
В базу должны входить несколько таблиц: список операционных больных, в котором отображается вся информация о пациентах; список медперсонала, в котором отображается вся информация о сотрудниках ортопедического отделения; список операций, который отображает дату операции, больного, вид операции и номер работающей бригады; график работы каждой бригады; список назначений пациентам; второстепенные необходимые таблицы.Согласно нашему определению отношений, любое отношение автоматически уже находится в 1НФ. В ходе логического моделирования на первом шаге предложено хранить данные в одном отношении, имеющем следующие атрибуты: ОРТОПЕДИЧЕСКОЕ ОТДЕЛЕНИЕ (ID_Pacienta, Diagnoz, Fio, №palati FIO rodstv, DATA operacii, ID_rabotnika, №brigadi , Doljnost rabotnika, FIO rabotnika, Naznachenie где Отношение находится во второй нормальной форме (2НФ) тогда и только тогда, когда отношение находится в 1НФ и нет неключевых атрибутов, зависящих от части сложного ключа. В выше представленной таблице были добавлены второстепенные ключи(foreign key), а так же созданы соответствующие дополнительные таблицы, перечисляющие относящиеся к нужным полям данные: Таблица 2 - Ортопедическое отделение (2НФ) Отношение находится в третьей нормальной форме (3НФ) тогда и только тогда, когда отношение находится в 2НФ и все не ключевые атрибуты взаимно независимы.Для данной работы выделим 10 таблиц, которые будут содержать всю информацию. Spisok_operacionnih - таблица, содержащая в себе информацию о пациентах, находящихся в отделении. Naznachenie - таблица, содержащая в себе информацию о назначениях различных лекарств пациентам Brigadi rabotnikov - таблица, содержащая в себе информацию о том, к какой бригаде относится каждый сотрудник отделения Medpersonal - таблица, содержащая в себе информацию о каждом сотруднике хирургического отделенияInsert into spisok_operacionnih (ID_Pacienta, FIO, №palati, address , Diagnoz , FIO_rodstvennika, Data_rojdenia) VALUES (‘1’, ‘ Алексеев Алексей Алексеевич’, ‘1’, ‘ Алексено 3-1’, ‘-‘, ‘Алексеев Алексей Иванович’, ’10.10.69’); Insert into spisok_operacionnih (ID_Pacienta, FIO, №palati, address , Diagnoz , FIO_rodstvennika, Data_rojdenia) VALUES (‘2’, ‘ Андреев Андрей Алексеевич’, ‘1’, ‘ Петровка 31-12’, ‘-‘, ‘Андреев Алексей Иванович’, ’15.09.77’); Insert into spisok_operacionnih (ID_Pacienta, FIO, №palati, address , Diagnoz , FIO_rodstvennika, Data_rojdenia) VALUES (‘3’, ‘ Бондарев Виктор Сергеевич, ‘2’, ‘ Сталеваров 41-2, ‘-‘, ‘Бондарев Сергей Генадьевич’, ’02.01.59’); Insert into spisok_operacionnih (ID_Pacienta, FIO, №palati, address , Diagnoz , FIO_rodstvennika, Data_rojdenia) VALUES (‘4’, ‘ Воложин Виктор Андреевич, ‘2’, ‘ Маркса 116-23, ‘-‘, ‘Воложина Тамара Сергеевна’, ’05.06.91’); Insert into spisok_operacionnih (ID_Pacienta, FIO, №palati, address , Diagnoz , FIO_rodstvennika, Data_rojdenia) VALUES (‘6’, ‘Гайсин Марат Алексеевич, ‘3’, ‘ Ворошилова 88-15, ‘-‘, ‘Гайсина Светлана Евгеньевна ’, 19.12.85’);Ниже описано создание триггера, который выполняет определенную проверку: в один рабочий день может работать только одна бригада в ортопедическом отделении. Операции может проводить в конкретный день, только та бригада, которая работает по графику в этот день. Скрипт триггера: Create or replace trigger "AVB_OPERATING_LIST_T1" BEFORE insert or update or delete on "AVB_OPERATING_LIST" for each row begin DATE_OPERATING=AVB_GRAFIK.DATE and AVB_OPERATING_LIST.№BRIGADI=AVB_GRAFIK.№Brigadi and AVB_OPERATING_LIST.ID_OPERATING=i;Ниже описано создание процедуры, которая проверяет и заносит в переменную количество операций, запланированных на сегодняшний день (дата сегодняшнего дня берется из SYSDATE(системного времени)). Скрипт процедуры: CREATE PROCEDURE XXX(DATE_OPERATING date) as declare select count(*) into X from AVB_OPERATING_LIST where AVB_OPERATING_LIST.DATE_OPERATING=v_tx;Благодаря изученному материалу была создана БД, которая имеет дополнительный триггер и процедуру для выполнения условия задачи.
План
Оглавление
ВВЕДЕНИЕ
1 НОРМАЛИЗАЦИЯ БД
2 ПРАКТИЧЕСКАЯ ЧАСТЬ
2.1 Структура системы, перечень подсистем
2.2 Создание таблиц
2.3 Триггер
2.4 Процедура
ЗАКЛЮЧЕНИЕ
СПИСОК ЛИТЕРАТУРЫ
Вывод
Благодаря изученному материалу была создана БД, которая имеет дополнительный триггер и процедуру для выполнения условия задачи. Был изучен программный продукт Oracle Application Express и был закреплен материал по изученному ранее языку MYSQL.