Страница 6

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

Таблица 2

БД «Поликлиника»

Фамилия пациента

Дата рождения

Номер участка

Фамилия врача

Дата посещения

Диагноз

Лосев О.И.

20.04.65

2

Петрова О.И.

11.04.98

грипп

Орлова Е.Ю.

25.01.47

1

Андреева И. В.

05.05.98

ОРЗ

Лосев О.И.

20.04.65

2

Петрова О.И.

26.07.98

бронхит

Дуров М.Т.

05.03.30

2

Петрова О.И.

14.03.98

стенокардия

Жукова Л. Г.

30.01.70

2

Петрова О.И.

11.04.98

ангина

Орлова Е.Ю.

25.01.47

1

Андреева И. В.

11.07.98

гастрит

Быкова А.А.

01.04.75

1

Андреева И. В.

15.06.98

ОРЗ

Дуров М.Т.

05.03.30

2

Петрова О.И.

26.07.98

ОРЗ

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

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

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

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

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

Страницы: 1 2 3 4 5 6 7 8 9 10 11