Статья опубликована в рамках: XLVIII Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 26 декабря 2016 г.)
Наука: Информационные технологии
Скачать книгу(-и): Сборник статей конференции
отправлен участнику
ПРОЕКТИРОВАНИЕ РЕЛЯЦИОННОЙ БАЗЫ ДАННЫХ ДЛЯ АВТОМАТИЗАЦИИ РЕГИСТРАТУРЫ
Всякое предприятие(фирма) нуждается в доступе к информации. Ценность информации в мире очень высока. Весь груз ответственности за управлением, сбором, хранением и другими функциями над информацией лежит на базах данных. Они обеспечивают надежное хранение информации, в структурированном виде и своевременный доступ к ней. Любая организационная единица не может обойтись без базы данных, удовлетворяющей те или иные потребности по хранению, управлению и администрированию данных.
Необходимо разработать информационную базу данных для регистратуры поликлиники, которая поможет любому пользователю легко найти нужную информацию о любом сотруднике или пациенте, записаться на прием.
Перед разработкой были поставлены следующие задачи: получить возможность просматривать, редактировать, добавлять данные, получать результаты запросов. Сопроводить систему простым и лаконичным интерфейсом, понятным как пользователю со стороны пациентов, так и со стороны медицинского персонала
Анализ предметной области
Областью применения базы данных является Поликлиника. Поликлиника – это организация, которая предназначена для контроля и диагностики состояния здоровья граждан. Следовательно, поликлиника работает с очень большим объемом информации, как о сотрудниках, так и о пациентах. Врачам необходимо всегда следить за данными о своих пациентах, о курсе лечения больных, а также предоставлять информацию клиентам о врачах и записи на приём. А руководству и бухгалтерии необходимо быть в курсе событий о своих сотрудниках. Для этого нужна общая база данных, включающая всю необходимую информацию. Программа является очень актуальной на сегодняшний день, она автоматизирует работу с базой данных и предоставляет пользователю (оператору) понятный и дружественный интерфейс.
На данный момент регистратура осуществляет над всем контроль вручную, при помощи талончиков, рукописных мед. карточек и информационных стендов об имеющихся специалистах.
Проблема на лицо, охватить все это вручную довольно тяжело, объем информации велик, а сотрудников крайне мало. Встал вопрос об автоматизации процесса записи на прием, отображения специалистов и их графиков работы.
Предлагается создать базу данных, которая будет хранить всю необходимую информацию, а также станет фундаментом для последующего построения информационной системы электронной регистрации пациентов и электронных данных о них.
Выделяются следующие основные объекты:
- Доктор
- Пациент
- Запись
- Смена
Таблица doctor будет иметь несколько внешних ключей, отображающих связь один ко многим (1:М). Атрибут код специализации связан с таблицей специализация с атрибутом код специализации, тем самым отображает 1:М.
Атрибут код смены (графика работ) связан с таблицей смена-атрибут код смены(1:М). Атрибут код посещение пациента связан с таблицей посещение-код посещения (1: М).
Так же таблица пациент связана с таблицей рег.карта по атрибуту код рег.карты.
И таблица посещение врача пациентом связана со всеми таблицами, кроме специализации регистрационной карты 1:М.
Связи объектов
Опишем существующие связи между атрибутами и таблицами.
Доктор и специализация.
Одному доктору доступна только одна специальность, т.е. связь 1:1, за исключением многопрофильности врача, но мы исключим такие случаи. Однако за одной специализацией может быть закреплено несколько докторов, т.е.1:М.
Доктор и смена.
Любому доктору доступна только одна смена в день, т.к. врачи работаю по времени и никак не могут одновременно принимать несколько человек(1:1). Отнюдь одна и та же смена может принадлежать нескольким врачам, ведь разные доктора могут принимать в одно и тоже время(1:М).
Доктор и посещение пациента.
Примерно одно и тоже со сменой, только здесь совмещается график доктора и выбор пациента. Соответственно запись может осуществляться к различным докторам, в различное время и разными людьми(1:М).
Пациент и рег.карта.
У каждого посетителя есть собственная регистрационная карточка, хранящая о нем необходимую информацию, т.е. у пациента может быть только одна карточка(1:1).
ER-диаграмма
Физическая модель диаграммы.
Рисунок 1.Физическая модель диаграммы
Данная модель показывает допустимые типы, наименования полей и таблиц БД, первичные ключи. Связывает таблицы между собой при помощи вторичных ключей.
Концептуальная модель.
Рисунок 2.Концептуальная er-диаграмма
Отображает сущности с атрибутами. Показывает связь между таблицами и их степень.
Описание таблиц базы данных
В данном подразделе приводится описание столбцов базы данных в табличном виде, т.е. будут описаны атрибуты таблиц (название, тип, комментарии).
Таблица 1.
Таблица базы данных Doctor
№ п/п |
Имя столбца |
Тип данных |
Комментарии |
1 |
doctor_ID |
INTEGER(6) |
Код доктора |
2 |
lastname |
CHAR(15) |
Фамилия |
3 |
firstname |
CHAR(15) |
Имя |
4 |
birthday_day |
DATA |
День рождения |
5 |
experience |
INTEGER(2) |
Стаж |
6 |
specialization_ID |
INTEGER(6) |
Код специализации |
7 |
shift_ID |
INTEGER(6) |
Код графика работ |
8 |
entry_ID |
INTEGER(6) |
Код посещения пациента |
Таблица 2.
Таблица базы данных Patient
№ п/п |
Имя столбца |
Тип данных |
Комментарии |
1 |
patient_ID |
INTEGER(6) |
Код пациента |
2 |
lastname |
CHAR(20) |
Фамилия |
3 |
firstname |
CHAR(20) |
Имя |
4 |
registration_ID |
INTEGER(6) |
Код карточки |
Таблица 3.
Таблица базы данных specialization
№ п/п |
Имя столбца |
Тип данных |
Комментарии |
1 |
specialization_ID |
INTEGER(6) |
Код специализации |
2 |
name |
CHAR(15) |
название |
Таблица 4.
Таблица базы данных registration_card
№ п/п |
Имя столбца |
Тип данных |
Комментарии |
1 |
registration_card_ID |
INTEGER(6) |
Код карточки |
2 |
med_policy |
INTEGER(8) |
Номер мед. Полиса |
3 |
address |
CHAR(50) |
Адрес пациента |
4 |
telephone_number |
INTEGER(13) |
Телефонный номер |
Таблица 5.
Таблица базы данных shift
№ п/п |
Имя столбца |
Тип данных |
Комментарии |
1 |
shift_ID |
INTEGER(6) |
Код смены |
2 |
time_to_visit |
TIME |
Время работы врача |
3 |
day |
CHAR(20) |
День работы врача |
4 |
doctor_ID |
INTEGER(6) |
Код доктора |
Таблица 6.
Таблица базы данных entry_to_doctor
№ п/п |
Имя столбца |
Тип данных |
Комментарии |
1 |
entry_ID |
INTEGER(6) |
Код записи |
2 |
doctor_ID |
INTEGER(6) |
Код доктора |
3 |
patient_ID |
INTEGER(6) |
Код пациента |
4 |
shift_ID |
INTEGER(6) |
Код смены |
Тестирование производительности
Для наиболее полной проверки выбираем одну из основных таблиц- doctor, а также сложные запросы, такие как:
1)10
2)13
3)14
4)15
5)16.
Каждый раз будем увеличивать количество строк в таблице с целью оценки времени выполнения.
Вставка осуществляется командой INSERT INTO (по сути копируем имеющие данные столько раз, сколько необходимо).
Таблица 7.
Таблица соотношения времени выполнения запросов
|
Запрос 1 |
Запрос 2 |
Запрос3 |
Запрос 4 |
Запрос 5 |
100 000 записей |
0 |
0.016 |
0.14 |
0.125 |
0.094 |
200 000 записей |
0.422 |
0.016 |
0.266 |
0.219 |
0.203 |
500 000 записей |
2.454 |
0.016 |
1.328 |
0.938 |
0.844 |
Приведем график, отображающий зависимость скорости выполнения от количества записей.
Рисунок 3.График зависимости скорости выполнения от количества записей
Из графика становится ясным, что при увеличении количества данных в базе, скорость выполнения запроса значительно понижается и время соответственно ощутимо увеличивается. Особенно это заметно в запросах удаления, добавления. А также видим, что при выполнении простого запроса, который предоставляет только одну строку выборки, время выполнения почти одинаково во всех случаях.
Заключение
Разработанная база данных «Поликлиника(регистратура)», является актуальной на сегодняшний день и имеет большую практическую значимость. Она помогает в работе сотрудников поликлиники по сбору данных, необходимых при лечении, а также по сбору данных о самих сотрудниках.
В результате выполнения были решены задачи, поставленные в начале работы. Была разработана структура базы данных; в программу были включены функции поиска, выполнения различных запросов. При этом были учтены все требования, выдвинутые в начале выполнения данного проекта.
Разработанная программа устойчиво выполняет все свои функции, но теперь стоит задача сделать ее более совершенной и более расширенной. А также создать для нее интерфейс пользователя и внедрить в реальную среду, предварительно пройдя тестирование.
Список литературы:
- Дунаев С.В. Доступ к базам данных и техника работы в сети. Практические приемы современного программирования – М.: Диалог – МИФИ, 1999. – 416 с.
- Игорева Е.Л. Основы алгоритмизации и программирования (3-е издание)./ И.И. Попов, О.Л. Игорева – М.: Инфра-М, 2006 – 432 с.
- Корнеев В.В. и др. Базы данных: Интеллектуальная обработка информации – М.: Нолидж, 2000. – 352 с.
- Петгольц Ч. Программирование #. В 3-х томах. Том 2. Пер. с англ./ Ч. Петгольц – М.: Издательско-торговый дом «Русская редакция», 2002. – 576 с.
- Сигнор Р., Стегман М.О. Использование ODBC для доступа к базам данных – М.: БИНОМ, 1995. – 384 с.
отправлен участнику
Оставить комментарий