В данной статье отображается перечень требований к разрабатываемой информационно-справочной системе по поиску лекарств в аптеках на основе анализа существующих популярных информационных систем, а также выбор и общее описание базы данных для разработки ИСС.
Ключевые слова: информационно-справочная система (ИСС), лекарство, поиск, база данных, MySQL.
В статье «Обзор систем поиска лекарственных средств по заданным критериям» рассмотрена и проанализирована актуальная проблема выбора лекарственных средств, отвечающих качественным характеристикам, потребностям и финансовым возможностям потребителя, сделан обзор наиболее популярных информационно-справочных и поисковых систем, работающих в области поиска необходимых лекарств, а также выявлены требования, предъявляемые к разрабатываемой ИСС и определены основные функции, которые она должна выполнять:
− информация должна быть актуальной и представлена в полном объеме. Исходя из [1], описания системы и инструкции по применению лекарственных препаратов, их синонимы и аналоги, изображение ЛС, информацию о составе и форме выпуска препаратов, фармакологическом действии, показания к применению и побочные эффекты, способы применения, дозировки и противопоказания, взаимодействия лекарств, примечания о лечении препаратами детей, новорожденных и беременных, условия хранения, информацию о фармацевтических компаниях и производителях, а также, информацию об аптеках (адрес, контакты, режим работы метки на карте и возможный маршрут);
− интерфейс приложения должен быть максимально удобным и понятным для пользователя;
− наличие функции автозаполнения, считывания латинских символов и автоматическое преобразования в кириллицу, фильтра с возможностью указания необходимых критериев поиска и функцию сортировки результатов, позволяющих более эффективно и быстро найти необходимое ЛС (цена, удаленность, масштаб поиска);
− возможность осуществлять поиск лекарств с помощью различных технических средств (персональные компьютеры, смартфоны, а также специальные справочные терминалы в местах, где необходимость своевременного получения нужной информации возрастает, например, аптеки и больницы);
− информационно-справочная система должна обладать высокой скоростью выполнения запросов и выдачи результатов поиска.
Для увеличения скорости и качества поиска лекарственных средств, в разрабатываемой системе выявлена необходимость встраивания дополнительных функций:
− введение нового критерия поиска «режим работы аптеки», добавление фильтра, где пользователем указывается временной диапазон работы аптеки;
− метки о сертификации лекарственного средства;
− наличие информации о форме отпуска лекарства (по рецепту, без рецепта) [2].
Основными функциями информационно-справочной системы является организация сбора, хранения и выборки информации, содержащаяся в базе данных ИСС. Для поддержки этих функций требуется механизм, который называется системой управлениябазами данных(СУБД).
База данных (БД) — совместно используемый набор логически связанных данных (и их описание), предназначенный для удовлетворения информационных потребностей организации [3].
СУБД(система управлениябазами данных) — программное обеспечение, с помощью которого пользователи могут определять, создавать и поддерживатьбазу данных, а также получать к ней контролируемый доступ.
Реляционные базы данных.
Управление основными потоками информации осуществляется с помощью так называемых систем управления реляционными базами данных. Именно объединение реляционных баз данных и клиент-серверных технологий позволяет современному предприятию успешно управлять собственными данными, оставаясь конкурентоспособным на рынке товаров и услуг.
Реляционные БД имеют мощный теоретический фундамент, основанный на математической теории отношений. Появление теорииреляционных баз данных дало толчок к разработке ряда языков запросов, которые можно отнести к двум классам:
− алгебраические языки, позволяющие выражать запросы средствами специализированных операторов, применяемых к отношениям;
− языки исчисления предикатов, представляющие собой набор правил для записи выражения, определяющего новое отношение из заданной совокупности существующих отношений. Следовательно, исчисление предикатов есть метод определения того отношения, которое желательно получить как ответ на запрос из отношений, уже имеющихся в базе данных.
В реляционной модели объекты реального мира и взаимосвязи между ними представляются с помощью совокупности связанных между собой таблиц (отношений).
Даже в том случае, когда функции СУБД используются для выбора информации из одной или нескольких таблиц (т. е. выполняется запрос), результат также представляется в табличном виде. Более того, можно выполнить запрос с применением результатов другого запроса.
Каждая таблица БД представляется как совокупность строк и столбцов, где строки (записи) соответствуют экземпляру объекта, конкретному событию или явлению, а столбцы (поля) — атрибутам (признакам, характеристикам, параметрам) объекта, события, явления.
В каждой таблице БД необходимо наличие первичного ключа — так именуют поле или набор полей, однозначно идентифицирующий каждый экземпляр объекта или запись. Значение первичного ключа в таблице БД должно быть уникальным, т. е. в таблице не допускается наличие двух и более записей с одинаковыми значениями первичного ключа. Он должен быть минимально достаточным, а значит, не содержать полей, удаление которых не отразится на его уникальности.
Для составления БД ИСС по поиску лекарств взят Реестр Лекарственных средств Республики Казахстан. Он представлен в виде таблицы (таблица 1) и включает следующие поля: регистрационный номер, торговое название, вид, дата регистрации, срок, дата истечения, производитель, страна, классификация ЛС/ИМН, упаковка, срок годности, степень риска, торг. марка, патент, средство измерения, стерильное, комплектность, признак бессрочности [4].
Таблица 1
index |
Рег. н. |
ТН |
Вид |
Д. рег. |
Срок |
Д. ист. |
Произв. |
Страна |
Классиф. ЛС-ИМН |
Упак. |
Ср. г. |
Ст. риска |
Торг. м. |
Патент |
Сред. Изм. |
Стер. |
Компл. |
Пр. бесср. |
Реляционные связи между таблицами баз данных
Связи между объектами реального мира могут находить свое отражение в структуре данных, а могут и подразумеваться, т. е. присутствовать на неформальном уровне.
Между двумя или более таблицамибазы данных могут существовать отношения подчиненности, которые определяют, что для каждой записи главной таблицы (называемой еще родительской) возможно наличие одной или нескольких записей в подчиненной таблице (называемой еще дочерней).
Выделяют три разновидности связи между таблицамибазы данных:
− «один–ко–многим»;
− «один–к–одному»;
− «многие–ко–многим».
Отношение «один–ко–многим».
Отношение «один–ко–многим» имеет место, когда одной записи родительской таблицы может соответствовать несколько записей дочерней.Связь «один–ко–многим» иногда называют связью «многие–к–одному». И в том, и в другом случае сущность связи между таблицами остается неизменной. Связь «один–ко–многим» является самой распространенной для реляционных баз данных. Она позволяет моделировать также иерархические структуры данных.
Отношение «один–к–одному».
Отношение «один–к–одному» имеет место, когда одной записи в родительской таблице соответствует одна запись в дочерней. Это отношение встречается намного реже, чем отношение «один–ко–многим». Его используют, если не хотят, чтобы таблица БД «распухала» от второстепенной информации, однако для чтения связанной информации в нескольких таблицах приходится производить ряд операций чтения вместо одной, когда данные хранятся в одной таблице.
Отношение «многие–ко–многим».
Отношение «многие–ко–многим» применяется в следующих случаях:
− одной записи в родительской таблице соответствует более одной записи в дочерней;
− одной записи в дочерней таблице соответствует более одной записи в родительской.
Всякуюсвязь «многие–ко–многим» в реляционной базе данных необходимо заменить на связь «один–ко–многим» (одну или более) с помощью введения дополнительных таблиц [5].
MySQL.
MySQL — это быстрая, надежная, открыто распространяемая СУБД. MySQL, как и многие другие СУБД, функционирует по модели «клиент/сервер». Под этим подразумевается сетевая архитектура, в которой компьютеры играют роли клиентов либо серверов [6]. На рис. 1 изображена схема передачи информации между компьютером клиента и жестким диском сервера.
Рис. 1. Схема передачи данных в архитектуре «клиент/сервер»
КлиентскаяпрограммаMySQL представляет собой утилиту командной строки. Этапрограмм подключается к серверупосети. Команды, выполняемые сервером, обычно связаны с чтением и записью данных на жестком диске. MySQL взаимодействует с базой данных на языке, называемомSQL(Structured QueryLanguage — язык структурированных запросов). Характеристика MySQL.
− MySQL — это система управления базами данных.
База данных представляет собой структурированную совокупность данных. Эти данные могут быть любыми — от простого списка предстоящих покупок до перечня экспонатов картинной галереи или огромного количества информации в корпоративной сети. Для записи, выборки и обработки данных, хранящихся в компьютерной базе данных, необходима система управления базой данных, каковой и являетсяПО MySQL. Поскольку компьютеры замечательно справляются с обработкой больших объемов данных, управление базами данных играет центральную роль в вычислениях. Реализовано такое управление может быть по-разному — как в виде отдельных утилит, так и в виде кода, входящего в состав других приложений.
− MySQL — это система управления реляционными базами данных.
В реляционной базе данные хранятся в отдельных таблицах, благодаря чему достигается выигрыш в скорости и гибкости. Таблицы связываются между собой при помощи отношений, благодаря чему обеспечивается возможность объединять при выполнении запроса данные из нескольких таблиц. SQL как часть системы MySQL можно охарактеризовать как язык структурированных запросов плюс наиболее распространенный стандартный язык, используемый для доступа к базам данных.
− Программное обеспечение MySQL — это ПО с открытым кодом.
ПО с открытым кодом означает, что применять и модифицировать его может любой желающий. Такое ПО можно получать поInternet и использовать бесплатно. При этом каждый пользователь может изучить исходный код и изменить его в соответствии со своими потребностями.
− Технические возможности СУБД MySQL
ПО MySQL является системой клиент-сервер, которая содержит многопоточный SQL-сервер, обеспечивающий поддержку различных вычислительных машин баз данных, а также несколько различных клиентских программ и библиотек, средства администрирования и широкий спектр программных интерфейсов (API).
− Безопасность
Система безопасности основана на привилегиях и паролях с возможностью верификации с удаленного компьютера, за счет чего обеспечивается гибкость и безопасность. Пароли при передаче по сети при соединении с сервером шифруются. Клиенты могут соединяться с MySQL, используя сокеты TCP/IP, сокеты Unix или именованные каналы (named pipes, под NT)
− Вместимость данных.
Начиная с MySQL версии 3.23, где используется новый тип таблиц, максимальный размер таблицы доведен до 8 миллионов терабайт (263bytes). Однако следует заметить, что операционные системы имеют свои собственные ограничения по размерам файлов. Ниже приведено несколько примеров:
− 32-разрядная Linux-Intel — размер таблицы 4 Гб.
− Solaris 2.7 Intel — 4 Гб
− Solaris 2.7 UltraSPARC — 512 Гб
− Windows XP — 4 Гб
Как можно видеть, размер таблицы в базе данных MySQL обычно лимитируется операционной системой. По умолчанию MySQL-таблицы имеют максимальный размер около 4 Гб. Для любой таблицы можно проверить/определить ее максимальный размер с помощью команд SHOW TABLE STATUS или myisamchk-dv table_name. Если большая таблица предназначена только для чтения, можно воспользоваться myisampack, чтобы слить несколько таблиц в одну и сжать ее. Обычно myisampack ужимает таблицу по крайней мере на 50 %, поэтому в результате можно получить очень большие таблицы [7].
Литература:
- Справочник лекарств — http://www.eurolab.ua/medicine/drugs
- «Обзор систем поиска лекарственных средств по заданным критериям» — Королева О. В. / Вестник ГУ им. Шакарима, 2016.
- Гражданский кодекс РФ, ст. 1260.
- Реестр лекарственных средств Республики Казахстан.
- http://www.libermedia.ru/articles/detail.php?ELEMENT_ID=386
- Куликов Святослав Святославович / Учебное пособие по курсу «Базы данных» ч. 2. Минск 2009.
- http://bourabai.kz/dbt/MySQL0109.htm