Курсовая работа: Создание автоматизиpованной инфоpмационно-спpавочной системы расписания движения поездов и продажи билетов
Приведем это отношение ко 2НФ, разбивая исходное отношение и производя внешнее кодирование, при этом получаем отношения:
Пациент(Код, Наименование_Пациента, Адрес, Симптомы)
АмбулаторнаяКарта(Код_Пациента,Наименование_Пациента, Номер_АмбулаторнаяКарта, Диагноз, Услуга, Цена, Сумма)
Услуга(Код_Услуги, Наименование_Услуги, Цена_Услуги, Единица_Измерения)
Перейдём к рассмотрению в полученных отношениях транзитивных зависимостей неключевых атрибутов от ключа.
Код_Пациента -> Номер_АмбулаторнаяКарта -> Диагноз.
Ввиду дублирования информации об одном диагнозе для одного товара, избыточность данных, будем дальше преобразовывать отношение.
Выявим теперь независимые многозначные зависимости, они имеются в отношении ПриёмаПацинта:
Номер ->-> Код_Пациента ->-> Номер->->Код_Услуги
Будем считать, что у нас нет транзитивных зависимостей неключевых атрибутов от ключа. Получаем следующие отношения:
Пациент (Номер Пациента, Дата Рождения, НомерАмбулаторнойКарта);
Сотрудники (Номер_Сотрудника,ФИО, Данные);
Услуги (Дата, Наименование, Цена, Сеанс, ЕдиницаИзмерения);
Документ (НомерДокумента, ДатаВыдачи).
Здесь мы освобождаем отношение от избыточности, а также различного рода аномалий. Но не всех.
В нашем отношении присутствует зависимость неключивого атрибута от ключа. Для того, чтобы не возникало новых аномалий, необходимо ликвидировать части составного ключа от неключевых атрибутов. С этой целью исходное отношение разлагается на отношения:
Выявлено у пациента (Диагноз, Пациент) и Назначение (Пациент, Услуги).
Теперь раскладываем исходное отношение на несколько отношений с многозначными зависимостями от одного ключа. Раскладываем отношение на два отношения: Номер_АмбулаторнаяКарта (АмбулаторнаяКарта, Пациент);
Назначение (Пациент, Симптомы).
В результате нормализации была получена следующая система отношений:
Пациент ( Наименование_Пациента, Дата_Рождения, Пол, Номер_АмбулаторнойКарты, Адрес);
Сотрудник(Наименование_Сотрудника, Дата_Рождения, Пол, Образование);
Адрес ( Наименование_Адреса);
Документ (Наименование_ Документ, Номер, Дата_Выдачи);
Услуги(Наименование_Услуги, Цена, Сеанс, Единица_Измерения);
Болезни (Код_ Болезни, Наименование_ Болезни);
Симптомы (Заболевание).
1.2 Структура меню
В главном меню пользователю предоставляется возможность выбирать следующие пункты меню и пункты подменю: