Врач – осуществляет – прием пациент – приходит – прием диагноз – выставляется – пациентам
Важной характеристикой связи является тип связи. Рассмотрим типы связей 1-3.
Так как врач осуществляет несколько приёмов, а так же каждый приём осуществляется одним врачом, то в этом случае связь 1 имеет тип “один ко многим”
Так как пациент может приходить на приём к врачу несколько раз, а на приём по талону приходит только 1 пациент, то в этом случае связь 2 имеет тип “один ко многим”
Так как один и тот же диагноз выставляется на приёме нескольким пациентам, а на одном приёме выставляется только 1 диагноз, то связь 3 имеет тип “один ко многим”
Рассмотрим понятие класс принадлежности сущности.
В нашей предметной области можно выделить следующие классы принадлежности сущности:
Каждый врач обязательно принимает пациентов по талону;
Каждый приём обязательно осуществляется врачом;
Каждый пациент обязательно приходит на приём по талону;
На каждый приём обязательно приходит пациент;
Возможный диагноз не обязательно выставляется на приёме;
На приёме обязательно выставляется диагноз.
3. Создание ER-модели предметной области. Для представления сущностей и связей между ними используются ER-диаграммы. На их основе создается единый наглядный образ моделируемой предметной области – ER-модель предметной области.
ER-модель для поликлиники изображена на рисунке:
Определение атрибутов, их значений, первичных ключей.
Выявляются все атрибуты, описывающие сущности созданной ER-модели. Каждому атрибуту присваивается осмысленное имя, понятное пользователям. О каждом атрибуте в словарь данных помещаются следующие сведения:
Имя атрибута и его описание;
Тип и размерность значений;
Значение, принимаемое для атрибута по умолчанию (если имеется);
Может ли атрибут иметь Null – значения;
Является ли атрибут составным, и если так, то из каких простых атрибутов он состоит;
Является ли атрибут расчётным, и если это так, то как вычисляются его значения.
Можно выделить следующие наборы атрибутов сущностей для предметной области АУДИТ:
ВРАЧ: ФИО врача, специальность, категория.
ПАЦИЕНТ: Номер медкарты, ФИО пациента, Дата рождения, Адрес, Пол, Скидка.
ПАЦИЕНТ
Номер медкарты
ФИО пациента
Дата рождения
Адрес
Пол
Скидка
ПРИЁМ: номер талона, дата визита, цель посещения, стоимость, ФИО врача, номер медкарты.
ПРИЁМ
Номер талона
Дата визита
Цель посещения
Стоимость
ФИО врача
Номер медкарты
ДИАГНОЗ: Код диагноза, наименование диагноза.
Наборы атрибутов сущностей для предметной области ПОЛИКЛИНИКА:
ВРАЧ
ПАЦИЕНТ
ПРИЁМ
ДИАГНОЗ
III. Логическая модель базы данных
Цель этапа логического проектирования преобразование концептуальной модели на основе выбранной модели данных в логическую модель, не зависимую от особенностей используемой в дальнейшем СУБД для физической реализации базы данных. Для её достижения выполняются следующие процедуры.
Выбор модели данных.
В нашем случае выбирается реляционная модель данных в связи с наглядностью табличного представления данных и удобства работы с ними.
Определение набора таблиц исходя из ER-модели и их документирование. Для каждой сущности создается таблица. Осуществляется формирование структуры таблиц на основании определённых правил. Устанавливаются связи между таблицами посредством механизма первичных и внешних ключей. Структуры таблиц и установленные связи между ними документируются.
Для связей, выявленных на концептуальном этапе, применяются следующие правила:
Согласно правилу 4, так как связь ВРАЧ – ОСУЩЕСТВЛЯЕТ – ПРИЕМ
имеет тип “один ко многим” и класс сущности на стороне М является обязательным, то необходимо построить таблицу для каждой сущности. Первичный ключ сущности должен быть первичным ключом соответствующей таблицы. Первичный ключ сущности на стороне 1 добавляется как атрибут в таблицу для сущности на стороне М.
Согласно правилу 4, так как связь ПАЦИЕНТ – ПРИХОДИТ – ПРИЕМ
имеет тип “один ко многим” и класс сущности на стороне М является обязательным, то необходимо построить таблицу для каждой сущности. Первичный ключ сущности должен быть первичным ключом соответствующей таблицы. Первичный ключ сущности на стороне 1 добавляется как атрибут в таблицу для сущности на стороне М.
Согласно правилу 4, так как связь ДИАГНОЗ – ВЫСТАВЛЯЕТСЯ – ПАЦИЕНТАМ имеет тип “один ко многим” и класс сущности на стороне М является обязательным, то необходимо построить таблицу для каждой сущности. Первичный ключ сущности должен быть первичным ключом соответствующей таблицы. Первичный ключ сущности на стороне 1 добавляется как атрибут в таблицу для сущности на стороне М.
Реляционная модель предметной области ПОЛИКЛИНИКА.