Введение
Больница - это большая организация ежедневно работающая с огромным количеством информации. Каждый день туда поступают сотни пациентов с различными диагнозами, лечащими врачами и способами лечения. Вся эта информация требует какой-то систематизации для согласования работы всех сотрудников больницы. Именно эта задача и решается в данном курсовом проекте.
Разработанная база данных поможет вести учет всех больных, своевременно и
точно узнавать о ходе лечения конкретных пациентов, вести учет мест в палатах.
Она значительно упростит ведение документации, так как предусматривает
возможность добавления, обновления и удаления новых данных о пациентах.
1. Постановка задачи
В данном курсовом проекте требуется разработать базу данных для учета больных.
Решаемые задачи:
1. Упорядочение по полям: ФИО больных, диагноз, распределение по палатам.
2. Поиск: сведения о больных по первым буквам фамилии; по № палаты.
. Выборка: по дню поступления больных, по дню выписки, по диагнозу..
. Вычисления: количество больных , поступивших в январе, феврале и т.д.; количество больных, выписавшихся в январе, феврале и т.д.
. Коррекция: удаление данных о больных, выписавшихся в прошлом году; количество больных с изменением первоначального диагноза на конечный.
Для разработки бд была выбрана программная среда SQL Server Management
Studio.
2. Проектирование структуры БД
Существует два основных способа проектирования структуры БД метод информационного моделирования IDEF1x и метод нормальных форм:
1. Метод IDEF1X определяет стандарты терминологии, используемой при информационном моделировании, и графического изображения типовых элементов на диаграммах. Компонентами IDEF1X-модели являются сущности, связи между сущностями и атрибуты сущностей.
2. Процесс проектирования БД с использованием метода нормальных форм
является итерационным и заключается в последовательном переводе отношений из
первой нормальной формы в нормальные формы более высокого порядка по
определенным правилам. Каждая следующая нормальная форма ограничивает определенный
тип функциональных зависимостей, устраняет соответствующие аномалии при
выполнении операций над отношениями БД и сохраняет свойства предшествующих
нормальных форм.
.1 Метод информационного моделирования IDEF1x
X является методом для разработки реляционных баз данных и использует условный синтаксис, специально разработанный для удобного построения концептуальной схемы. Концептуальной схемой мы называем универсальное представление структуры данных в рамках коммерческого предприятия, независимое от конечной реализации базы данных и аппаратной платформы.
Сущность в IDEF1X описывает собой совокупность или набор экземпляров
похожих по свойствам, но однозначно отличаемых друг от друга по одному или
нескольким признакам. Каждый экземпляр является реализацией сущности. Примером
сущности IDEF1X может быть сущность "Pacient", которая представляет
собой всех пациентов больницы, а один из них, скажем, Иванов Иван Иванович,
является конкретной реализацией этой сущности. В примере, приведенном на рис.
1, каждый экземпляр сущности Pacient содержит следующую информацию: История
болезни, ФИО, Врач и т.п. В IDEF1X модели эти свойства называются атрибутами
сущности. Каждый атрибут содержит только часть информации о сущности.
Рисунок 1
Связи в IDEF1X представляют собой ссылки, соединения и ассоциации между сущностями. Связи это суть глаголы, которые показывают, как соотносятся сущности между собой. Ниже приведен ряд примеров связи между сущностями:
· Пациенты <заносятся> в Журнал
· Пациенты <принимают> Лекарства
Каждая сущность может обладать любым количеством связей с другими сущностями.
Виды отношений между сущностями:
· один ко многим - один экземпляр одной сущности связан с несколькими экземплярами другой сущности;
· многие ко многим - многие экземпляры одной сущности связаны со многими экземплярами другой сущности (обычно на первоначальных стадиях проектирования) позже такие отношения приводятся к отношениям один ко многим.
Первичный ключ - это набор атрибутов, выбранных для идентификации уникальных экземпляров сущности. Атрибуты первичного ключа располагаются над линией в ключевой области. Как следует из названия, неключевой атрибут - это атрибут, который не был выбран ключевым. Неключевые атрибуты располагаются под чертой, в области данных.
Если сущности в IDEF1X диаграмме связаны, связь передает ключ (или набор ключевых атрибутов) дочерней сущности. Эти атрибуты называются внешними ключами. Внешние ключи определяются как атрибуты первичных ключей родительского объекта, переданные дочернему объекту через их связь. Передаваемые атрибуты называются мигрирующими.
При разработке модели, зачастую, приходится сталкиваться с сущностями, уникальность которых зависит от значений атрибута внешнего ключа. Для этих сущностей (для уникального определения каждой сущности) внешний ключ должен быть частью первичного ключа дочернего объекта. Дочерняя сущность, уникальность которой зависит от атрибута внешнего ключа, называется зависимой сущностью.
Сущности, независящие при идентификации от других объектов в модели, называются независимыми сущностями.
В IDEF1X концепция зависимых и независимых сущностей усиливается типом взаимосвязей между двумя сущностями. Если вы хотите, чтобы внешний ключ передавался в дочернюю сущность (и, в результате, создавал зависимую сущность), то можете создать идентифицирующую связь между родительской и дочерней сущность. Идентифицирующие взаимосвязи обозначаются сплошной линией между сущностями.
Неидентифицирующие связи, являющиеся уникальными для IDEF1X, также связывают родительскую сущность с дочерней. Неидентифицирующие связи используются для отображения другого типа передачи атрибутов внешних ключей - передача в область данных дочерней сущности (под линией). Неидентифицирующие связи отображаются пунктирной линией между объектами.
Основным преимуществом IDEF1X, по сравнению с другими многочисленными
методами разработки реляционных баз данных, такими как ER и ENALIM является
жесткая и строгая стандартизация моделирования. Установленные стандарты
позволяют избежать различной трактовки построенной модели, которая несомненно
является значительным недостатком ER.
.2 Метод нормальных форм
Основные понятия:
1. Атрибут - свойство некоторой сущности. Часто называется полем таблицы.
2. Домен атрибута - множество допустимых значений, которые может принимать атрибут.
. Кортеж - конечное множество взаимосвязанных допустимых значений атрибутов, которые вместе описывают некоторую сущность (строка таблицы).
. Отношение - конечное множество кортежей (таблица).
. Схема отношения - конечное множество атрибутов, определяющих некоторую сущность. Иными словами, это структура таблицы, состоящей из конкретного набора полей.
. Проекция - отношение, полученное из заданного путём удаления и (или) перестановки некоторых атрибутов.
. Нормальная форма - требование, предъявляемое к структуре таблиц в теории реляционных баз данных для устранения из базы избыточных функциональных зависимостей между атрибутами (полями таблиц).
Аномалией называется такая ситуация в таблице БД, которая приводит к противоречию в БД либо существенно усложняет обработку БД. Причиной является излишнее дублирование данных в таблице, которое вызывается наличием функциональных зависимостей от не ключевых атрибутов. Аномалии разделяются на:
1. Аномалии-модификации проявляются в том, что изменение одних данных может повлечь просмотр всей таблицы и соответствующее изменение некоторых записей таблицы.
2. Аномалии-удаления - при удалении какого либо кортежа из таблицы может пропасть информация, которая не связана на прямую с удаляемой записью.
. Аномалии-добавления возникают, когда информацию в таблицу нельзя поместить, пока она не полная, либо вставка записи требует дополнительного просмотра таблицы.
Цель нормализации: исключить избыточное дублирование данных, которое является причиной аномалий, возникших при добавлении, редактировании и удалении кортежей(строк таблицы).
Первая нормальная форма - отношение находится в 1НФ, если все его атрибуты являются простыми, все используемые домены должны содержать только скалярные значения. Не должно быть повторений строк в таблице.
Вторая нормальная форма - отношение находится во 2НФ, если оно находится в 1НФ и каждый не ключевой атрибут неприводимо зависит от Первичного Ключа(ПК). Неприводимость означает, что в составе потенциального ключа отсутствует меньшее подмножество атрибутов, от которого можно также вывести данную функциональную зависимость.