Описание инфологической модели
В результате проработки предметной области были выделены сущности (Поликлиника, Отделение, Врач, Пациент, Направление к врачу, Направление на анализ, Анализ, Направление на процедуру, Процедура, Лаборатория, Рецепт, Лекарство, Расписание), их атрибуты, взаимосвязь между ними и построена инфологическая модель базы данных.
Спецификация инфологической модели:
Поликлиника
| Описание атрибута
| Название атрибута
| | 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.
Популярное:
|