- •Федеральное агентство по образованию
- •Глава 2. Разработка приложения «Поликлиника» по технологии «клиент-сервер» 20
- •Введение
- •Глава 1. Проектирование ис «Городская поликлиника»
- •1.1. Описание предметной области
- •1.1.1. Описание деятельности предприятия
- •1.1.2. Описание бизнес-процессов
- •1.2. Концептуальное проектирование
- •1.2.1. Объекты и атрибуты
- •1.2.2. Проектирование бизнес-процессов предприятия
- •1.2.3. Связи
- •1.3. Логическое проектирование
- •1.3.1. Таблицы и атрибуты
- •1.3.2. Функциональные зависимости
- •1.3.3. Нормализация отношений
- •1.3.4. Реляционное отношение
- •1.3.5. Ограничение целостности данных
- •1.3.6. Реляционная схема данных
- •Глава 2. Разработка приложения «Поликлиника» по технологии «клиент-сервер»
- •2.1. Создание бд на ms sql Server
- •2.2. Разработка запросов
- •2.3. Создание процедур
- •2.4. Разработка триггеров
- •2.5. Разработка пользовательского интерфейса.
- •2.5.1. Эскиз интерфейса
- •2.6. Реализация приложения «Городская поликлиника»
- •Заключение.
- •Список литературы
1.3. Логическое проектирование
1.3.1. Таблицы и атрибуты
На основании табл.1. «Объекты и атрибуты» производится создание таблиц.
Таблица 3. Таблицы и атрибуты
Объект |
Таблица |
Атрибут |
Первичный ключ |
ПОЛИКЛИНИКА |
ПОЛИКЛИНИКА |
Страна Город Район Название Ном_поликл Тел_глав_врача Тел_регистр Глав_врач |
Ном_поликл |
ОТДЕЛЕНИЕ |
ОТДЕЛЕНИЕ |
Ном_отдел Название Зав_отдел Ном_поликл |
Ном_отдел |
ВРАЧ
|
ВРАЧИ |
Таб_ном Ном_отдел Фам_врача Имя_врача Отч_врача Кабинет Квалификация Дата_рожд_врача Дата_нач_раб |
Таб_ном |
ТЕРАПЕВТ |
ТЕРАПЕВТ |
Таб_ном Ном_уч |
Таб_ном |
СПЕЦИАЛИСТ |
СПЕЦИАЛИСТ |
Таб_ном Специальность |
Таб_ном |
РАСПИСАНИЕ |
РАСПИСАНИЕ |
Таб_ном Пн Вт Ср Чт Пт Сб |
Таб_ном |
ПАЦИЕНТ |
ПАЦИЕНТ |
Ном_пац Пол Фам_пац Имя_пац Отч_пац Дата_рожд_пац Адрес_прожив Ном_полиса Ном_паспорта Ном_поликл Ном_уч Место_раб Инвалидность |
Ном_пац |
ПРИЁМ |
ПРИЕМ |
Ном_приема Таб_ном Ном_пац Ном_уч Дата_приема Время_приема Симптомы Диагноз Лекарство Примечание |
Ном_приёма |
1.3.2. Функциональные зависимости
В процессе нормализации рассматриваются различные функциональные зависимости. Функциональные зависимости определяют не текущее состояние БД, а все возможные ее состояния, то есть они отражают те связи между атрибутами, которые присуши реальному объекту, моделируемые в БД.
Выделены следующие функциональные зависимости:
ФЗ1: Ном_поликл Страна, город, Район, Название;
ФЗ2: Ном_поликл Глав_врач, Тел_регистр, Тел_глав_врача;
ФЗ3: Ном_отдел Название, Зав_отдел, Ном_поликл;
ФЗ4: Таб_ном Ном_отдел, Кабинет;
ФЗ5: Таб_ном ФИО_врача, Квалификация, Дата_рожд_врача, Дата_нач_раб, Фото;
ФЗ6: Таб_ном Ном_уч;
ФЗ7: Таб_ном Специальность;
ФЗ8: Таб_ном Пн, Вт, Ср, Чт, Пт, Сб;
ФЗ9: Ном_пац ФИО_пац, Дата_рожд_пац, Адрес_прожив,
ФЗ10: Ном_пац Ном_полиса, Ном_паспорта, Ном_уч, Ном_поликл;
ФЗ11: Ном_приема Таб_ном, Ном_пац, Ном_уч, Дата_приема, Время_приема;
ФЗ12: Ном_приема Диагноз, Лекарство, Примечание;
ФЗ13: Диагноз Симптомы.
1.3.3. Нормализация отношений
Таблицы в базе данных должны быть нормализованы как минимум до третей нормальной формы.
Для удобства перечислим все таблицы и их атрибуты.
Таблица ПОЛИКЛИНИКА имеет атрибуты: Страна, Город, Район, Название, Ном_поликл, Тел_регистр, Глав_врач, Тел_глав_врача;
ОТДЕЛЕНИЕ: Ном_отдел, Название, Зав_отдел, Ном_поликл;
ВРАЧИ: Таб_ном, Ном_отдел, Фам_врача, Имя_врача, Отч_врача, Кабинет, Квалификация, Дата_рожд_врача, Дата_нач_раб;
ТЕРАПЕВТ: Таб_ном, Ном_уч;
СПЕЦИАЛИСТ: Таб_ном, Специальность;
РАСПИСАНИЕ: Таб_ном, Пн, Вт, Ср, Чт, Пт, Сб;
ПАЦИЕНТ: Ном_пац, Пол, Фам_пац, Имя_пац, Отч_пац, Дата_рожд_пац, Адрес_прожив, Ном_полиса, Ном_паспорта, Ном_поликл, Ном_уч, Адрес_раб, Инвалидность;
ПРИЕМ: Ном_приема, Таб_ном, Ном_пац, Ном_уч, Дата_приема, Время_приема, Симптомы, Диагноз, Лекарство, Примечание.
Все атрибуты таблиц простые, следовательно, таблицы находятся в первой нормальной форме.
Таблица ПОЛИКЛИНИКА приведена к первой нормальной форме и имеет простой первичный ключ Ном_поликл, следовательно, таблица ПОЛИКЛИНИКА приведена ко второй нормальной форме.
Таблица ПОЛИКЛИНИКА находится во второй нормальной форме, все неключевые атрибуты взаимонезависимы(ФЗ1, ФЗ2), следовательно таблица приведена к третьей нормальной форме.
Таблица ОТДЕЛЕНИЕ приведена к первой нормальной форме и имеет простой первичный ключ Ном_отдел, следовательно, таблица ОТДЕЛЕНИЕ приведена ко второй нормальной форме.
Таблица ОТДЕЛЕНИЕ находится во второй нормальной форме, все неключевые атрибуты взаимонезависимы(ФЗ3), следовательно таблица приведена к третьей нормальной форме.
Таблица ВРАЧИ приведена к первой нормальной форме и имеет простой первичный ключ Таб_ном, следовательно, таблица ВРАЧИ приведена ко второй нормальной форме.
Таблица ВРАЧИ находится во второй нормальной форме, все неключевые атрибуты взаимонезависимы (ФЗ4,ФЗ5), следовательно таблица приведена к третьей нормальной форме.
Таблица ТЕРАПЕВТ приведена к первой нормальной форме и имеет простой первичный ключ Таб_ном, следовательно, таблица ТЕРАПЕВТ приведена ко второй нормальной форме.
Таблица ТЕРАПЕВТ находится во второй нормальной форме, все неключевые атрибуты взаимонезависимы(ФЗ6), следовательно таблица приведена к третьей нормальной форме.
Таблица СПЕЦИАЛИСТ приведена к первой нормальной форме и имеет простой первичный ключ Таб_ном, следовательно, таблица СПЕЦИАЛИСТ приведена ко второй нормальной форме.
Таблица СПЕЦИАЛИСТ находится во второй нормальной форме, все неключевые атрибуты взаимонезависимы(ФЗ7), следовательно таблица приведена к третьей нормальной форме.
Таблица РАСПИСАНИЕ приведена к первой нормальной форме и имеет простой первичный ключ Таб_ном, следовательно, таблица РАСПИСАНИЕ приведена ко второй нормальной форме.
Таблица РАСПИСАНИЕ находится во второй нормальной форме, все неключевые атрибуты взаимонезависимы(ФЗ8), следовательно таблица приведена к третьей нормальной форме.
Таблица ПАЦИЕНТ приведена к первой нормальной форме и имеет простой первичный ключ Ном_пац, следовательно, таблица ПАЦИЕНТ приведена ко второй нормальной форме.
Таблица ПАЦИЕНТ находится во второй нормальной форме, все неключевые атрибуты взаимонезависимы(ФЗ9, ФЗ10), следовательно таблица приведена к третьей нормальной форме.
Таблица ПРИЕМ приведена к первой нормальной форме и имеет простой первичный ключ Ном_приема, следовательно, таблица ПРИЕМ приведена ко второй нормальной форме.
Таблица ПРИЕМ находится во второй нормальной форме, но возникает транзитивная зависимость (ФЗ11, ФЗ12, ФЗ13). Для приведения к третьей нормальной форме проведем декомпозицию таблицы ПРИЕМ.
В результате получим таблицу ПРИЕМ (Ном_приема, Таб_Ном, Ном_пац, Ном_уч, Дата_приема, Время_приема, Диагноз, Лекарство, Примечание) и дополнительную таблицу ДИАГНОЗ с атрибутами: симптомы, диагноз.