Название: Методика преподавания информатики - Лапчик М.П.

Жанр: Информатика

Рейтинг:

Просмотров: 962


 

Нетрудно понять недостатки такой организации данных. Во-первых, очевидна избыточность информации: повторение даты рождения одного и того же человека, повторение фамилии врача одного и того же участка. В такой БД велика вероятность иметь недостоверные, противоречивые данные. Например, если на втором участке сменится врач, то придется просматривать всю базу и вносить изменения во все записи, относящиеся к этому участку. При этом велика вероятность что-то пропустить. После каждого нового посещения пациентом больницы потребуется снова вводить его дату рождения, номер участка, фамилию врача, т.е. информацию, уже существующую в БД.

Полученная таблица соответствует первой нормальной форме. Для устранения отмеченных недостатков требуется ее дальнейшая нормализация. Структура такой таблицы (отношения) описывается следующим образом:

 

ПОЛИКЛИНИКА (ФАМИЛИЯ. ДАТА_РОЖДЕНИЯ, УЧАСТОК, ВРАЧ,

ДАТА ПОСЕЩЕНИЯ. ДИАГНОЗ)

 

Необходимо установить ключ записей. Здесь ключ составной, который включает в себя два поля: ФАМИЛИЯ и ДАТА_ПОСЕ-ЩЕНИЯ. Каждая запись — это информация о конкретном посещении пациентом больницы. Если допустить, что в течение одного дня данный пациент может сделать только один визитк участковому врачу, то в разных записях не будет повторяться комбинация двух полей: фамилии пациента и даты посещения врача.

Согласно определению второй нормальной формы, все неключевые поля должны функционально зависеть от полного ключа. В данной таблице лишь ДИАГНОЗ определяется одновременно фамилией пациента и датой посещения. Остальные поля связаны лишь с фамилией, т. е. от даты посещения они не зависят. Для преобразования ко второй нормальной форме таблицу нужно разбить на две следующие:

 

ПОСЕЩЕНИЯ (ФАМИЛИЯ. ДАТА ПОСЕЩЕНИЯ. ДИАГНОЗ)

 

ПАЦИЕНТЫ (ФАМИЛИЯ. ДАТА_РОЖДЕНИЯ, УЧАСТОК, ВРАЧ)

 

В отношении ПОСЕЩЕНИЯ по-прежнему действует составной ключ из двух полей, а в отношении ПАЦИЕНТЫ — одно ключевое поле ФАМИЛИЯ.

Во втором отношении имеется так называемая транзитивная зависимость. Она отображается следующим образом:

                      

Значение поля ВРАЧ связано с фамилией пациента транзитивно через поле УЧАСТОК. В самом деле, всякий участковый врач приписан к своему участку и обслуживает больных, относящихся к данному участку.

Согласно определению третьей нормальной формы в отношении не должно быть транзитивных зависимостей. Значит требуется еще одно разбиение отношения ПАЦИЕНТЫ на два отношения.

В итоге получаем базу данных, состоящую из трех отношений:

 

ПОСЕЩЕНИЯ (ФАМИЛИЯ. ДАТА ПОСЕЩЕНИЯ. ДИАГНОЗ)

 

ПАЦИЕНТЫ (ФАМИЛИЯ. ДАТА_РОЖДЕНИЯ, УЧАСТОК)

 

ВРАЧИ (УЧАСТОК. ВРАЧ)

 

В третьем отношении ключом является номер участка, поскольку он повторяться не может. В то же время возможна ситуация, когда один врач обслуживает больше одного участка. Полученная структура БД удовлетворяет требованиям третьей нормальной формы: в таблицах все неключевые поля полностью функционально зависят от своих ключей и отсутствуют транзитивные зависимости.


Оцените книгу: 1 2 3 4 5