Описание инфологической модели
В результате проработки предметной области были выделены сущности (Поликлиника, Отделение, Врач, Пациент, Направление к врачу, Направление на анализ, Анализ, Направление на процедуру, Процедура, Лаборатория, Рецепт, Лекарство, Расписание), их атрибуты, взаимосвязь между ними и построена инфологическая модель базы данных.
Спецификация инфологической модели:
Поликлиника
Описание атрибута
| Название атрибута
| ID
| Уникальный идентификатор записи
| Название
| Полное название учреждения
| Адрес
| Юридический адрес учреждения
| Телефон
| Контактный телефон учреждения
|
Отделение
Описание атрибута
| Название атрибута
| ID
| Уникальный идентификатор записи
| ID_поликлиники
| Идентификатор соответствующей записи в таблице «Поликлиника»
| Название
| Полное название отделения
|
Врач
Описание атрибута
| Название атрибута
| ID
| Уникальный идентификатор записи
| ID_отделения
| Идентификатор отделения, в котором работает врач
| ФИО
| Фамилия, имя и отчество врача
| Специализация
| В какой должности работает врач
| Дата рождения
| Дата рождения врача
| № кабинета
| № кабинета, в котором принимает врач
|
Расписание
Описание атрибута
| Название атрибута
| ID
| Уникальный идентификатор записи
| ID_врача
| Идентификатор врача
| День
| День недели
| Начало
| Время начала работы
| Окончание
| Время окончания работы
|
Пациент
Описание атрибута
| Название атрибута
| ID
| Уникальный идентификатор записи
| ФИО
| Фамилия, имя и отчество пациента
| Дата рождения
| Дата рождения пациента
| Полис
| Номер страхового полиса
| Адрес
| Адрес места жительства пациента
| Дата учёта
| Дата постановки на учёт в поликлинику
|
Направление к врачу
Описание атрибута
| Название атрибута
| ID
| Уникальный идентификатор записи
| ID_пациента
| Идентификатор записавшегося пациента
| ID_врача
| Идентификатор врача, к которому записался пациент
| Дата
| Дата, на которую записался пациент
| Время
| Время, на которое записался пациент
| Прохождение
| Отметка о прохождении
|
Анализ
Описание атрибута
| Название атрибута
| ID
| Уникальный идентификатор записи
| Название
| Название анализа
| Номер кабинета
| Номер кабинета, где принимается анализ
| Часы работы
| Часы работы данного кабинета
|
Направление на анализ
Описание атрибута
| Название атрибута
| ID
| Уникальный идентификатор записи
| ID_анализа
| Идентификатор сдаваемого анализа
| ID_врача
| Идентификатор врача, выписавшего направление
| ID_пациента
| Идентификатор пациента, сдающего (сдавшего) анализ
| ID_лаборатории
| Идентификатор лаборатории, где будет исследоваться анализ
| Дата
| Дата сдачи анализа
| Время
| Время сдачи анализа
|
Лаборатория
Описание атрибута
| Название атрибута
| ID
| Уникальный идентификатор записи
| Название
| Название лаборатории
| Адрес
| Юридический адрес лаборатории
| Телефон
| Телефон лаборатории
|
Результат анализа
Описание атрибута
| Название атрибута
| ID
| Уникальный идентификатор записи
| ID_направления
| Идентификатор направления на анализ
| Дата
| Дата исследования
| Результат
| Результат исследования
|
Процедура
Описание атрибута
| Название атрибута
| ID
| Уникальный идентификатор записи
| Название
| Название анализа
| Номер кабинета
| Номер кабинета, где принимается анализ
| Часы работы
| Часы работы данного кабинета
|
Направление на процедуру
Описание атрибута
| Название атрибута
| ID
| Уникальный идентификатор записи
| ID_процедуры
| Идентификатор проходимой процедуры
| ID_врача
| Идентификатор врача, выписавшего направление
| ID_пациента
| Идентификатор пациента, проходящего (прошедшего) процедуру
| Количество
| Количество процедур, прописанных врачом пациенту
|
Процедурный лист
Описание атрибута
| Название атрибута
| ID
| Уникальный идентификатор записи
| ID_направления
| Идентификатор направления на процедуру
| Дата
| Дата прохождения
| Время
| Время прохождения
| Отметка
| Отметка о прохождении
|
Лекарство
Описание атрибута
| Название атрибута
| ID
| Уникальный идентификатор записи
| Название
| Название лекарства
| Лечение
| Описание данного лекарства, от каких болезней помогает
| Побочный эффект
| Описание побочного эффекта лекарства
|
Рецепт
Описание атрибута
| Название атрибута
| ID
| Уникальный идентификатор записи
| ID_лекарства
| Идентификатор лекарства
| ID_врач
| Идентификатор врача, выписавшего рецепт
| ID_пациент
| Идентификатор пациента, которому был выписан рецепт
| Дата
| Дата выписки рецепта
|
1.2.3. Связи между сущностями
Родительская сущность
| Дочерняя сущность
| Описание
| Тип связи
| Поликлиника
| Отделение
| Поликлиника имеет несколько отделений
| 1: М
| Отделение
| Врач
| В отделении работает несколько врачей
| 1: М
| Врач
| Расписание
| Врач работает по расписанию
| 1: М
| Врач
| Направление на анализ
| Врач выдаёт направления на анализы
| 1: М
| Врач
| Направление на процедуру
| Врач выдаёт направления на процедуры
| 1: М
| Врач
| Направление к врачу
| Врач принимает по направлению к врачу
| 1: М
| Врач
| Рецепт
| Врач выписывает рецепт
| 1: М
| Пациент
| Направление на анализ
| Пациент получает направление на анализ
| 1: М
| Пациент
| Направление на процедуру
| Пациент получает направление на процедуру
| 1: М
| Пациент
| Направление к врачу
| Пациент получает направление к врачу
| 1: М
| Пациент
| Рецепт
| Пациент получает рецепт
| 1: М
| Анализ
| Направление на анализ
| Направление выдаётся на определённый анализ
| 1: М
| Процедура
| Направление на процедуру
| Направление выдаётся на определённую процедуру
| 1: М
| Лекарство
| Рецепт
| Рецепт выписывается на определённое лекарство
| 1: М
| Лаборатория
| Направление на анализ
| Анализ, сданный по определённому направлению, исследуется в лаборатории
| 1: М
| Лаборатория
| Результат анализа
| Результат анализа получается после исследования анализа в лаборатории
| 1: М
| Результат анализа
| Направление на анализ
| Результат анализа соответствует определённому направлению
| 1: 1
| Направление на процедуру
| Процедурный лист
| Направлению на процедуру соответствует запись в процедурном листе
| 1: М
|
Выбор СУБД
Для интернет-приложений используются множество различных баз данных: MySQL, PostgreSQL, MS SQL Server и другие. Для анализа воспользуемся некоторыми из них.
Сравнение аналогов СУБД
Аналоги
Критерии сравнения
| Весовой коэффициент
| PostgreSQL
| MySQL
| MS SQL Server
| Скорость работы
| 0, 25
|
|
|
| Настройка
| 0, 15
|
|
|
| Простота БД
| 0, 2
|
|
|
| Поддержка хостинг-провайдерами
| 0, 2
|
|
|
| Максимальный размер БД
| 0, 1
|
|
|
| Платформа
| 0, 1
| Unix
| Unix, Windows
| Windows
| Итого
|
| 4, 2
| 4, 75
| 4, 25
|
MySQL является решением для малых и средних приложений, хорошо подходит для среды, где доминирует считывание информации и где транзакционная нагрузка очень мала. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты.
Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.
Помимо Windows (поддерживаются версии от Windows95 до Windows Vista) и Unix ОС MySQL портирована на большое количество платформ, таких как Mac OS X, OpenBSD и др.
В 5 версии поддерживаются вложенные запросы и производные таблицы, триггеры, обработчики ошибок, представления.
Учитывая результаты сравнения с аналогами и поддержку множества ОС, для реализации проекта была выбрана СУБД MySQL.
Популярное:
|