РГР / РГР_БД_1
.docxФедеральное государственное бюджетное образовательное учреждение высшего образования «Омский государственный технический университет»
Кафедра «Прикладная математика и фундаментальная информатика»
Расчетно-графическая работа на тему "Поликлиника"
Выполнил: студент гр. ИСТ-151
Юрина Е.В
Проверил: ст. преподаватель Зыкин В.С.
Омск – 2017
ВВЕДЕНИЕ
В современных базах данных хранятся не только данные, но и информация. База данных (БД) – организованная структура, предназначенная для хранения информации. Современные БД позволяют размещать в своих структурах не только данные, но и методы (т.е. программный код), с помощью которых происходит взаимодействие с потребителем или другими программно-аппаратными комплексами.
Предмет расчетно-графической работы состоит в изучении принципов разработки баз данных на примере проектирования и создания базы данных «Поликлиника».
Для достижения цели создано большое количество программных средств, ориентированных на какие-либо области применения, и вычислительные средства. Наибольшее практическое применение получили информационные системы, в основе которых лежит использование баз данных (БД).
Таким образом, в расчётно-графическом индивидуальном задании предлагается прикладная область и соответствующие ей документы, для которой требуется спроектировать базу данных.
16. Прикладная область: "Поликлиника". Документы: "Карточка пациента", "Расписание работы врачей", "Талон на посещение врача". Замечание: В карточке больного фиксируется диагноз, принимаемые препараты и результат лечения.
Этап 1
Для каждого документа выделить содержащиеся в нем элементы данных.
Перечень исходных документов:
-
Амбулаторная карта пациента
-
Талоны на помещение
-
Расписание работы врачей
Общий перечень элементов данных:
-
Номер пациента
-
ФИО пациента
-
Адрес пациента
-
Пол пациента
-
Дата рождения пациента
-
Хранение препарата
-
Номер врача
-
Дата работы
-
Время посещения
-
ФИО врача
-
Специальность врача
-
Номер кабинета
-
Номер препарата
-
Диагноз пациента
-
Результат лечения
-
Жалобы пациента
-
Назначенное лечение
-
Время приема врача
-
Наименование препарата
-
Дозировка препарата
Этап 2
Построить множество функциональных зависимостей.
1
2 1
3 1
4 1
5 1
6 13
7
8
9
10 7
11 7
12 7
13
14 1,8,9,7
15 1,8,9,7
16 1,8,9,7
17 1,8,9,7
18 7,8
19 13
20 1,13,7
Этап 3
Построить каноническую модель данных реляционного типа, удовлетворяющую свойству соединения без потерь информации и сохраняющую зависимости.
1 → 2, 3, 4, 5;
7, 8,9 → 1;
7 → 10, 11, 12;
1, 8,9, 7 → 14, 15, 16, 17;
8, 7 → 18;
1, 13,7 →20;
13 → 19, 6.
R1=Пациенты
1. Номер пациента |
2. ФИО пациента |
3. Адрес пациента |
4.Пол пациента |
5.Дата рождения пациента |
R2=Талоны
1.Номер пациента |
7.Номер врача |
8.Дата работы |
9. время посещения |
R3=Врачи
7.Номер врача |
10.ФИО врача |
11.Специальность врача |
|
12.Номер кабинета |
R4=Амбулаторная карта
8.Дата работы |
7. Номер врача |
14. Диагноз пациента |
15.Результат лечения |
16.Жалобы пациента |
17.Назначенное лечение |
1.Номер пациента |
9. время посещения |
R5=Расписание приема врача
8.Дата работы |
7.Номер врача |
18.Время приема врача |
R6 =Рецепты
|
13. Номер препарата |
20. Дозировка препарата |
7. Номер врача |
R7 =Препараты
13. Номер препарата |
19. Наименование препарата |
6. Хранение препарата |
Обобщённый ключ:
7.Номер врача
8.Дата работы
9.время посещения
13.Номер препарата
Отношение, сформированное для обобщённого ключа, имеет вид:
7.Номер врача |
8.Дата работы |
9 время посещения |
13.Номер препарата |
Полученное отношение имеет приемлемую содержательную интерпретацию. В талоне должны записываться сведения о пациенте, враче и дне недели. Это, в свою очередь, является признаком наличия многозначной зависимости. Зависимость имеет вид:
7 →→ 8,9 (13).
7 →→ 13(8,9).
7.Номер врача |
13.Номер препарата |
7.Номер врача |
8.Дата работы |
9 время посещения |
Установим связи между сформированными отношениями. Обозначим связь типа 1:1символом →, а связь 1:М символом :
R1 R6
R1 R2
R2 R4
R3 R5
R3 R2
R3 R6
R5 R4
R5 R2
R7 R6
Этап 4: Запросы к БД в терминах реляционной алгебры
Цель: Сформировать и формализовать три запроса.
-
Исходный запрос
Получить имя и номер пациента, с наименованием препарата «аспирин», выписанный врачом Сидоренко В.П. по дате работы 12.01.15
P<1><2>(S<19> = “аспирин”, <10> = “Сидоренко В.П.”, <8> = “12.01.15”(R1⋈ R2 ⋈ R3 ⋈ R5 ⋈ R6⋈ R7))
Оптимизированный запрос
P<1><2>(p<1>(R1)) ⋈ p<1><7>(S<8> = “12.01.2015”(R2)) ⋈ p<7>(S<10> = “ Сидоренко В.П.”(R3)) ⋈ p<7> <13> ( (R6)) ⋈ p<13>(S<19> = “аспирин”(R7)))
Запрос без обобщенного ключа
Получить номера и наименования препаратов, с указанной дозировкой “2 раза в день”, прописанных пациенту “Нифедову Н.К.”
исходный
P<13><19>(S<20>=”2 раза в день”, <2> = “Нифедов Н.К.”(R1⋈R6⋈R7))
Оптимизированный
P<13><19>(P<1>(S<2> = “Нифедов Н.К” (R1)) ⋈ P<1><13>(S<20> = “2 раза в день”(R6)) ⋈ p<13><19>(R7)))
В) Запрос на вычитание.
Найти номер и ФИО пациента, который не приходил на прием по дате c 15.10.16 по 20.10.16
неоптимизированный
P<1><2>(S<8> >= “15.10.16”, <8> <= “20.10.16” (R2⋈R1) / P<1><2>(S<8> >= “15.10.16”, <8> <= “20.10.16” (R1 ⋈ R2 ⋈ R4))
Оптимизированный !!!!!!!!!!!
P<1><2>(p<1>( S<8> >= “15.10.16”, <8> <= “20.10.16” (R2)) ⋈ p<1><2> (R1)/
P<1><2>(p<1> <2> (R1) ⋈ p<1> <7><9><8> (S<8> >= “15.10.16”, <8> <= “20.10.16” (R2)) ⋈ p<7><9><8> (R4)
Этап 5: Описание физического представления данных
Цель: Выбор способа физического представления данных.
sN – символьная константа длины N; inN – целая константа длины N байтов; dD.M.Y – агрегат данных "дата" (день.месяц.год); tH:M – агрегат данных "время" (час:минута:секунда); fn.m – финансовая константа, где n – количество разрядов для указания цены в рублях, m – добавочные разряды для копеек.
-
Пациент (Реализация R1):
1(in2), 2(s40), 3(s40), 4(s3), 5(d.2.2.4);
-
Талон (Реализация R2):
1(in2), 7(in2), 8(d.2.2.4), 9(t.2.2);
-
Врач (Реализация R3):
7(in2), 10(s40), 11(s40), 12(in1);
-
Амбулаторная карта (Реализация R4):
8(d.2.2.4), 9(t.2:2), 7(in2), 14(s40), 15(s40), 16(s40), 17(s40), 1(in2);
-
Расписание приема врача (Реализация R5):
7(in2), 18(t.2:2), 8(t.2.2);
-
Рецепты (Реализация R6):
1(in2), 13(in2), 20(s40);
-
Препараты (Реализация R7): 13(in2), 19(s40), 6(s40);
В соответствии с установленными типами данных, частотой обновления данных в файлах, частотой поиска данных в файлах по соответствующим полям и т.д., выберем способы индексации основных файлов БД.
R1 – индексно-последовательный (по атрибуту 1),
R2 – инвертированный (по атрибутам 7,8,9),
R3 – индексно-последовательный (по атрибуту 7),
R4 – инвертированный (по атрибутам 1,7,8,9),
R5 – инвертированный (по атрибутам 8,7),
R6 – инвертированный (по атрибутам 1, 13),
R7 – индексно-последовательный (по атрибуту 13).
Этап 6: Анализ особенностей реализации информационной системы
Цель: Анализ особенностей реализации информационной системы.
Информация о пациентах, врачах, препаратах находится на центральном сервере поликлиники, при этом информация о пациентах (R1) обновляется при поступлении новых пациентов или смене ими поликлиники, информация о врачах (R3) изменяется при найме или увольнении врача, а информация о препаратах (R7) изменяется при появлении новых лекарств. Все это делает it-специалист.
При поступлении нового пациента, на него заводится персональная амбулаторная карта(R4), которую заводит оператор регистратуры, и которая так же вносится на серcвер it-специалистом.
Так же выписываемые рецепты препаратов(R6) и расписание приема врача (R5) вносятся на сервер it-специалистом.
Библиографический список
1. Ульман Дж. Основы систем баз данных. М.: Финансы и статистика, 1983. 334 с.
2. Мейер Д. Теория реляционных баз данных. М.: Мир, 1987. 608 с.
3. Вейнеров О.М., Самохвалов Э.Н. Разработка САПР: В 10 кн. Кн. 4. Проектирование баз данных САПР. М.: Высш. шк., 1990. 144 с.
4. Дейт К. Введение в системы баз данных. М.: Диалектика, 1998. 782 с.
5. Тиори Т., Фрай Дж. Проектирование структур баз данных. М.: Мир, 1985. Т 2. 320 с.
6. Кузнецов С.Д. Основы баз данных. М.: Интуит.ру, 2005. 488 с.