УДК 004.891.2(045) © Антонова А. Ю., 2022
Экспертная система медицинских препаратов
Алена Юрьевна Антонова, студентка факультета информационных технологий и анализа больших данных, Финансовый университет, Москва, Россия
Alena Yu. Antonova, student, Faculty of Information Technology and Big Data Analysis, Financial University, Moscow, Russia [email protected]
АННОТАЦИЯ
В статье рассматривается экспертная система медицинских препаратов, которая создана с целью облегчения нагрузки медицинских работников по консультациям приема препаратов. Это возможно достигнуть с помощью накопления базы знаний - набора данных для выбора соответствующего медикамента в соответствии с жалобами пользователя. На данном этапе разработки экспертная система охватывает семь наиболее распространенных болей, на которые больше всего жалуются люди всех возрастов, и призвана помочь им с выбором нужных препаратов с учетом возраста и наличия беременности. Для разработки был использован язык программирования PostgreSOL, также приведены примеры запросов к базе данных. В заключение автором приведены дальнейшие перспективы развития, в том числе предполагается расширение базы данных и более узкая классификация препаратов Ключевые слова: экспертная система; база данных; препараты; PostgreSOL; жалобы на боли; запросы; множества; ориентированный граф
Для цитирования: Антонова А. Ю. Экспертная система медицинских препаратов. Научные записки молодых исследователей. 2022;10(3):78-88.
The paper deals with the expert system of medicines, which is aimed at helping medical workers decreasing the time they spend to consult patients about the medicines. It can achieve the goal by data accumulation and development of database which includes types of pain and medicines that treat them. The paper presented the expert system covers the seven most widespread types of pain that patients most complain about and was developed to help them with the choice of suitable medicines that treat their illness. The expert system also takes into consideration the patients' age and the fact of them having pregnancy. The language of programming is PostgreSOL, also there are the examples of database queries for retrieving information. In the conclusion, there were briefly formulated the prospects of further development and usage of these expert systems.
Keywords: expert system; database; medicines; PostgreSOL; pain complains; queries; sets; oriented graph
For citation: Antonova A.Yu. Expert system of medicines. Nauchnye zapiski molodykh issledovatelei = Scientific notes of young researchers. 2022;10(3):78-88.
Expert System of Medicines
ABSTRACT
Введение
Согласно статистике1 емкость фармацевтического рынка России продолжает увеличиваться. По данным опроса, каждый пятый россиянин ежемесячно покупает лекарства почти на 5000 руб., треть участников опроса в месяц тратят на покупку лекарств около 2000 руб. и лишь 10% всех опрошенных - до 1000 руб. [1].
Освещенные в данной работе боли являются всемирной проблемой, поражающей людей независимо от возраста, уровня доходов или географического положения. Распространенность и частота подтверждается статистикой, согласно которой около 50% людей имеют данные боли на регулярной основе, а другая половина так же знакома с ними и испытывала их хоть раз в жизни.
Из-за распространенности данных видов недуга была создана экспертная система медикаментов, которая покрывает препараты, лечащие данные виды болей. Таким образом, люди смогут подбирать нужные препараты в зависимости от своих болей и особенностей организма.
Проектирование экспертной системы
Сформируем следующие множества, которые станут основой экспертной системы:
«Боли» = {боли в желудке, головные боли, боли в суставах, боли в сердце, боли в горле, боли в позвоночнике, зубные боли}.
«Препараты» = {папаверин, но-шпа, бускопан, спазмалгон, омепразол, найз, дюспаталин, ренни, мотилиум, парацетомол, ибупрофен, нурофен, аспирин, пенталгин, вольтарен, диклофенак, кетонал, терафлекс, валидол, нитроглицерин, корвалол, анапрелин, септолете, стрепсилс, грам-мидин, кеторолак, мидокалм, анальгин, максиган}.
Предикаты используются, чтобы дать ясное словесное описание множества. Сформируем текстовое описание заданных множеств:
«Боли» = {х: x - болезнь из числа самых распространенных}.
«Препараты» = {у: y - препарат}.
Зададим отношение R = {(х, y): y - препарат для лечения х} на множествах «Боли» и «Препараты». Так как отношение не рефлексивно, то от-
1 Известия. В России фармрынок увеличился за полгода на 9%. URL: https://iz.ru/1213585/2021-08-27/v-rossii-farmrynok-uveLichiLsia-za-poLgoda-na-9 (дата обращения: 25.11.2021).
сутствуют классы эквивалентности и отсутствует частичный порядок. Так как для схематического описания множества не подойдет диаграмма Хассе, используем для этого ориентированный граф (рис. 1).
Далее разобьем все имеющиеся пары, созданные отношением Я на подмножества. Для этого сформируем еще одно множество «Возраст» = {все, только взрослые}, которое имеет следующее словесное описание: «Возраст» = {г. I - группа людей, которые могут принимать препарат у}. Отношение на множествах «Возраст» и множестве всех пар, созданных отношением, создаст следующее множество: «Препараты от определенной болезни для определенной группы людей» = {(х, у), I. (х, у) еЯ и у - препарат от х, который могут принимать I}.
Таким образом, получатся подмножества, отображенные на рис. 1.
«Препараты от боли в желудке для всех возрастов» = {папаверин, нош-па, бускопан, спазмалгон} [2, 3].
«Препараты от боли в желудке только для взрослых» = {дюспаталин, омепразол, ренни, мотилиум}.
«Препараты от головных болей для всех возрастов» = {спазмалгон, нош-па, папаверин, бускопан, парацетомол, ибупрофен, нурофен}2 [4].
«Препараты от головных болей только для взрослых» = {аспирин, пенталгин, найз}.
«Препараты от болей в суставах для всех возрастов» = {спазмалгон, нош-па, вольтарен, диклофенак}3.
«Препараты от болей в суставах только для взрослых» = {найз, кетонал, терафлекс, пен-талгин}.
«Препараты от болей в сердце для всех возрастов» = {анапрелин}.
«Препараты от болей в сердце только для взрослых» = {валидол, нитроглицерин, карва-лол} [5].
«Препараты от болей в горле для всех возрастов» = {септолете, стрепсилс}.
Аптека «Московит». Таблетки от головной боли: вы-
бор лучших таблеток от головы. URL: https://maksavit.ru/ heLp/articLes/tabLetki_ot_goLovnoy_boLi/ (дата обращения: 25.11.2021).
3 Wer.ru. Топ препаратов от боли в коленях. URL: https://wer. ru/articLes/top-preparatov-ot-boLi-v-koLenyakh/ (дата обращения: 25.11.2021).
Рис. 1. Ориентированный граф
Источник: составлено автором.
«Препараты от болей в горле только для взро- «Препараты от болей в позвоночнике только
слых» = {граммидин}. для взрослых» = {найз, кеторолак, мидокалм}.
«Препараты от болей в позвоночнике для «Препараты от зубных болей для всех возра-
всех» = {парацетомол, нурофен}. стов» = {анальгин, парацетомол} [6].
«Препараты от зубных болей только для взрослых» = {найз, максиган}.
Зададим еще одно отношение. Для этого сформируем множество «Наличие беременности» = {беременные, небеременные} = {к: к -группа людей, сформированная в зависимости от наличия беременности}. Отношение множества, состоящего из пар, созданных отношением Я, и множества беременность задает множество «Препараты от определенной болезни в зависимости от наличия беременности» = {(х, у), к: (х, у) еЯ и у - препарат от х для к}. В случае отсутствия беременности множество будет совпадать со множеством «Препараты от определенной болезни для определенной группы людей», когда элемент множества «Возраст» = {все}. Поэтому пропишем множества, где элемент множества «Наличие беременности» = {беременные}:
«Препараты от болей в желудке для беременных» = {папаверин, но-шпа, ренни}.
«Препараты от головных болей для беременных» = {папаверин, нош-па, парацетомол}.
«Препараты от болей в сердце для беременных» = {валидол, анаприлин}.
«Препараты от болей в горле для беременных» = {септолете, стрепсилс}.
«Препараты от болей в позвоночнике для беременных» = {парацетомол, нурофен}.
«Препараты от зубных болей для беременных» = {анальгин, парацетомол}.
Сформируем блок-схему всей экспертной системы (рис. 2).
создание экспертной системы
Экспертная система была создана с помощью языка программирования - PostgreSOL (Приложение 1).
Данная экспертная система была создана с целью разработки основы для более глобальной системы медицинских препаратов, которая будет способна с помощью хранящейся в ней информации помогать людям ориентироваться во всем многообразии препаратов и выбирать их наиболее эффективным способом. На данном этапе система способна помочь в подборе препаратов от наиболее распространенных болезней, учитывая при этом некоторые ограничения, такие как беременность и возраст.
Для разработки был использован язык PostgreSOL ввиду его популярности и таких особенностей, как поддержка большинством распро-
страненных платформ, высокая производительность, поддержка баз данных неограниченного размера и широкие возможности в последующем масштабировании.
Проверка экспертной системы. Запросы
Для того чтобы проверить работоспособность системы, сформируем запросы, включающие один или два предиката.
Запросы, включающие один предикат
1. Запрос «у - препарат от болей в позвоночнике».
Математическое описание: {(боли в позвоночнике, у): у - препарат от болей в позвоночнике} (Приложение 2).
Результат по запросу «у - препарат от болей в позвоночнике» отображен на рис. 3.
Вывод: данные препараты помогут излечить боль в позвоночнике. Результат совпадает с заданным, поэтому система работает правильно.
2. Запрос «у - препарат от головных болей».
Математическое описание: {(головные боли, у):
у - препарат от головных болей} (Приложение 3).
Результат по запросу «у - препарат от головных болей» отображен на рис. 4.
Вывод: данные виды препаратов можно применять от головных болей. Так как ответ на запрос совпадает с реальностью, то можно сделать вывод, что система работает верно.
3. Запрос «у - препарат, который позволено принимать детям».
Математическое описание: {(х, I): х - препарат для I, где I = 'все'} (Приложение 4).
Результат по запросу «у - препарат, который позволено принимать детям» отображен на рис. 5.
Вывод: запрос вывел препараты, которые могут принимать все люди независимо от возраста, в том числе и дети, от различных заболеваний.
4. Запрос «у - препарат, который позволено принимать беременным».
Математическое описание: {(х, I): х - препарат для I, где I = 'беременные'} (Приложение 5).
Результат по запросу «у - препарат, который позволено принимать беременным» отображен на рис. 6.
Вывод: запрос вывел все препараты, которые могут принимать беременные. Как видно из результата запроса, количество медикаментов,которые могут принимать беременные, очень мало.
Рис. 2. Блок-схема экспертной системы
Источник: составлено автором.
5. Запрос «у - препарат от зубных болей».
Математическое описание: {(зубные боли, у): у - препарат от зубных болей} (Приложение 6).
Результат запроса «у - препарат от зубных болей» отображен на рис. 7.
Вывод: запрос вывел все препараты, которые есть в системе и которые можно принимать от зубных болей.
Запросы, включающие два предиката 1. Запрос на препараты от боли в сердце, которые могут принимать беременные.
Математическое описание: {(х, у), 1\ «у - препарат от х» и «у - препарат для z} = {(боли в сердце, у), и: «у - препарат от болей в сердце» и «у - препарат для беременных} (Приложение 7).
pain_medicine=# SELECT pain_and_medicine,medicine FROH pain_and_medicine WHERE type_of_pain = 'Боли в позвоночнике'; medicine
Найз
Кеторолак Мидокалм Парацетамол Нурофен (5 строк)
Рис. 3. Запрос «у - препарат от болей в позвоночнике»
Источник: составлено автором с помощью PostgreSOL.
pain_medicine=# SELECT pain_and_medicine.medicine FROM pain_and_medicine WHERE type_of_pain = 'Головни medicine
Спазмалгон
Но-шпа
Папаверин
Бускопан
Парацетомол
Ибупрофен
Нурофен
Аспирин
Найз
Пенталгин (10 строк)
Рис. 4. Запрос «у - препарат от головных болей»
Источник: составлено автором с помощью PostgreSOL.
pain_nedicine=# SELECT under_18.medicine FROH under_18; medicine
Папаверин Но-шпа бускопан Спазмалгон Парацетомол Ибупрофен Нурофен Вольтарен Диклофенак Анаприлин Септолете Стрепсилс Анальгин (1В строк)
Рис. 5. Запрос «у - препарат, который позволено принимать детям»
Источник: составлено автором с помощью PostgreSOL.
pain_medicine=# SELECT pregnancy.medicine FROM pregnancy; medicine
Папаверин
Но-шпа
Ренни
Парацетомол Валидол Анаприлин Септолете Стрепсилс Парацетомол Нурофен Анальгин (11 строк)
Рис. 6. Запрос «у - препарат, который позволено принимать беременным»
Источник: составлено автором с помощью PostgreSOL.
pain_medicine=# SELECT pain_and_medicine.medicine FROM pain_and_medicine WHERE type_of_pain = 'Зубные боли'; medicine
Анальгин
Парацетомол
НЭЙЗ
Максиган (4 строки)
Рис. 7. Запрос «у - препарат от зубных болей»
Источник: составлено автором с помощью PostgreSOL.
pain_medicine«# SELECT pain_and_medicine.medicine FROM pain_and_medicine DOIN pregnancy ON pregnancy.medicine * pain_and_medicine.medicine AND ty pe_of_pain - 'Боли e сердце"; medicine
Валидол Анаприлин (2 строки)
Рис. 8. Запрос на препараты от боли в сердце, которые могут принимать беременные
Источник: составлено автором с помощью PostgreSOL.
pain_medicine=# SELECT pain_artd_medicine. medicine FROM pain_and_medicine JOIN under_18 ON under_18.medicine - pain_and_medicine .medicine AND type _of_pain » "Боли в суставах medicine
Но-шпа Спазмалгон Вольтарен Диклофенак (4 строки)
Рис. 9. Запрос на препараты от болей в суставах, которые могут принимать дети
Источник: составлено автором с помощью PostgreSOL.
pain_medicine=Jt SELECT pain_and_medicine.medicine FROM pain_and_medicine WHERE type_of_pain = 'Боли в горле'; medicine
Септолете Стрепсилс Грэммидин (3 строки)
Рис. 10. Запрос на препараты от болей в горле, которые могут принимать взрослые
Источник: составлено автором с помощью PostgreSOL.
Результат запроса на препараты от боли в сердце, которые могут принимать беременные, отображен на рис. 8.
Вывод: беременным от болей в сердце можно принимать только валидол и анаприлин, данный вывод соответствует реальности.
2. Запрос на препараты от болей в суставах, которые могут принимать дети.
Математическое описание: {(х, у), I: «у - препарат от х» и «у - препарат для I} = {(боли в суставах, у), I: «у - препарат от болей в суставах» и «у - препарат для всех} (Приложение 8).
Результат запроса на препараты от болей в суставах, которые могут принимать дети, отображен на рис. 9.
Вывод: беременным от болей в сердце можно принимать только четыре препарата: но-шпу,
спазмалгон, вольтарен, диклофенак, данный ответ на запрос соответствует реальности.
3. Запрос на препараты от болей в горле, которые могут принимать взрослые.
Математическое описание: {(х, y), z: «y -препарат от х» и «y - препарат для z} = {(боли в горле, y), z: «y - препарат от болей в горле» и «y - препарат для взрослых} (Приложение 9).
Результат запроса на препараты от болей в горле, которые могут принимать взрослые, отображен на рис. 10.
Вывод: запрос вывел все препараты, которые могут принимать взрослые от болей в горле.
4. Запрос на препараты от болей в сердце, которые могут принимать только взрослые.
Математическое описание: {(х, y), z: «y - препарат от х» и «y - препарат для z} = {(боли в сер-
pain_medicine=# select pain_and_medicine,medicine from pain_and_medicine where type_of_pain = "Боли в сердце' and not exists (select medicine from under_i3 where under_is.medicine - pain_and_medicine.medicine); medicine
Валидол Нитроглицерин Kaрвалол
(3 строки) . ,
Активаиия Winnow«;
Рис. 11. Запрос на препараты от болей в сердце, которые могут принимать только взрослые
Источник: составлено автором с помощью PostgreSOL.
pain_medicine=# SELECT pain_and_medicine.medicine FROM pain_and_medicine JOIN pregnancy ON pregnancy.medicine = pain_and_medicine.medicine ANO typ e_of_pain = 'Боли в желудке'; medicine
Папаверин Ко-шпа Ренни (3 строки)
Рис. 12. Запрос на препараты от боли в желудке, которые могут принимать беременные
Источник: составлено автором с помощью PostgreSOL.
дце, у), г. «у - препарат от болей в сердце» и «у -препарат только для взрослых} (Приложение 10).
Результат запроса на препараты от болей в сердце, которые могут принимать только взрослые, отображен на рис. 11.
Вывод: запрос вывел препараты от боли в сердце, которые могут принимать только взрослые, т.е. детям их применение противопоказано.
5. Запрос на препараты от боли в желудке, которые могут принимать беременные.
Математическое описание: {(х, у), I: «у - препарат от х» и «у - препарат для I} = {(боли в желудке, у), I. «у - препарат от болей в желудке» и «у - препарат для беременных} (Приложение 11).
Результат запроса на препараты от боли в желудке, которые могут принимать беременные, отображен на рис. 12.
Вывод: беременным от болей в желудке можно принимать только папаверин, но-шпу и ренни, что соответствует реальности.
Выводы
В данной работе была создана база данных с помощью языка запросов PostgreSOL. Она содержит следующие таблицы: 1) таблица отношения вида «боли-препарат» (рис. 13); 2) таблица, содержащая препараты, доступные для применения детям (рис. 14); 3) таблица, содержащая препараты, доступные для применения беременным (рис. 15).
В результате сделанных запросов было проверено, что система работает верно и выводит адекватные результаты, т.е. препараты соответствуют заданным требованиям. Кроме того, было отмече-
pain_medicine=# SELECT * FROM pain_and_medicine;
type_of_pain t medicine
Боли в 1 желудке Папаверин
Боли в желудке Но-шпа
Боли в желудке Бускопан
Боли в желудке Спазмалгом
Боли в желудке Дюспаталин
Боли в желудке Омепразол
Боли 8 желудке Ренни
Боли в желудке Мотилиум
Головные боли Спазмалгом
Головные боли Но-шпа
Головные боли Папаверин
Головные боли Бускопан
Головные боли Парацетомол
Головные боли Ибупрофен
Головные боли Нурофен
Головные боли Аспирин
Головные боли Найз
Головные боли Пенталгин
Боли В суставах Вольтарен
Боли в суставах Спазмалгом
Боли в суставах Но-шпа
Боли в суставах Диклофеиак
Боли в суставах Найз
Боли в суставах Кетонал
Боли в суставах Терафлекс
Боли в суставах Пенталгин
Боли в сердце Валидол
Боли в сердце Нитроглицерин
Боли в сердце Карвалол
Боли в сердце Анаприлин
Боли в горле Септолете
Боли в горле Стрепсилс
Боли в горле Граммидин
Боли в позвоночнике | Найз
Боли в позвоночнике | Кеторолак
Боли в позвоночнике | Мидокалм
Боли в позвоночнике | Парацетомол
Боли в позвоночнике | Нурофен
Зубные боли Анальгин
Зубные боли Парацетомол
Зубные боли Найз
Зубные боли Максиган
(42 строки)
Рис. 13. отношения вида «боли-препарат»
Источник: составлено автором с помощью PostgreSOL
pain_medicine=# SELECT * FROM under_18j medicine | age
• +-----
Папаверин 1 все
Но-шпа 1 все
Бускопан 1 все
Спазмалгон 1 все
Парацетомол 1 все
Ибупрофен 1 все
Нурофен 1 все
Вольтарен 1 все
Диклофенак 1 все
Анаприлин 1 все
Септолете 1 все
Стрепсилс 1 все
Анальгин 1 все
(13 строк)
но, что наибольшее количество противопоказаний имеют беременные, поэтому стоит всегда обращать внимание на противопоказания к использованию препаратов данной категорией людей. Меньшее количество противопоказаний имеют дети, однако в случае с выбором препаратов для детей младше 18 лет стоит внимательно читать инструкции, так как некоторые препараты противопоказаны для применения в малом возрасте.
Созданная экспертная система призвана помогать в выборе препаратов и учитывать наличие беременности или возраста младше 18 лет. База данных содержит наиболее частые болезни, а также наиболее распространенные медикаменты для их лечения, поэтому предполагается, что данная система поможет большому количеству людей быстро и эффективно осуществить выбор подходящих препаратов.
Данная система открыта для дальнейшего развития. Например, при добавлении соответствующих данных и отношений она сможет охватывать большее количество заболеваний и препаратов для их лечения, также возможно разделение по большему количеству противопоказаний, например аллергические реакции на составные компоненты или противопоказания из-за плохой свертываемости крови. Также для повышения актуальности в период распространенности заболевания коронавирусом можно добавить препараты от данного вида болезни. Это повысит актуальность, так как в соответствии со статистикой фармрынок значительно увеличился во время пандемии и показатели его роста превысили прогнозируемые на 4%.
Рис. 14. Препараты, доступные для применения детям
Источник: составлено автором с помощью PostgreSOL.
Рис. 15. Препараты, доступные для применения беременным
Источник: составлено автором с помощью PostgreSOL.
2.
4.
6.
Список источников
Иванова Е. Каждый пятый россиянин тратит на лекарства около 5 000 рублей, треть граждан заявили о трудностях. Сетевое издание «Учительская газета». 2021. URL: https://ug.ru/kazhdyj-pyatyj-rossiyanin-tratit-na-Lekarstva-okoLo-5000-rubLej-a-tret-grazhdan-zayaviLi-o-trudnostyah/ (дата обращения: 25.11.2021).
Парецкая А., Самсонова В. Лучшие таблетки от боли в желудке. АО ИД «Комсомольская правда». URL: https://www.kp.ru/putevoditeL/zdorove/Luchsh ie-tabLetki-ot-boLi-v-zheLudke/ (дата обращения: 25.11.2021). Парецкая А., Самсонова В. Лучшие таблетки от гастрита. АО ИД «Комсомольская правда». URL: https://www.kp.ru/putevoditeL/zdorove/Luchshie-tabLetki-ot-gastrita/ (дата обращения: 25.11.2021). Парецкая А., Мосин Е. Лучшие таблетки от головной боли. АО ИД «Комсомольская правда». URL: https://www.kp.ru/putevoditeL/zdorove/Luchshie-tabLetki-ot-goLovnoj-boLi/ (дата обращения: 25.11.2021). Парецкая А., Голубенко Л. Лучшие таблетки от боли в сердце. АО ИД «Комсомольская правда». URL: https://www.kp.ru/putevoditeL/zdorove/Luchshie-tabLetki-ot-boLi-v-serdtse/ (дата обращения: 25.11.2021) Пинчаковский Н. Р. Невыносимая зубная боль - как дожить до утра? URL: https://giorno-dentaLe.com/ nevynosimaja-zubnaja-boL-kak-dozhit-do-utra/ (дата обращения: 25.11.2021).
1.
3.
5.
References
1. Ivanova E. Every fifth Russian spends about 5,000 rubles on medicines, a 1/3 of citizens reported difficulties. Network edition "Teacher's newspaper". 2021. URL: https://ug.ru/kazhdyj-pyatyj-rossiyanin-tratit-na-lekarstva-okolo-5000-rublej-a-tret-grazhdan-zayavili-o-trudnostyah/ (accessed on 25.11.2021). (In Russ.).
2. Paretskaya A., Samsonova V. The best pills against stomach pain. JSC Publishing House "Komsomolskaya Pravda". URL: https://www.kp.ru/putevoditel/zdorove/luchshie-tabletki-ot-boli-v-zheludke/ (accessed on 25.11.2021). (In Russ.).
3. Paretskaya A., Samsonova V. The best pills for gastritis. JSC Publishing House "Komsomolskaya Pravda". URL: https://www.kp.ru/putevoditel/zdorove/luchshie-tabletki-ot-gastrita/ (accessed on 25.11.2021). (In Russ.).
4. Paretskaya A., Mosin E. The best headache pills. JSC Publishing House "Komsomolskaya Pravda". URL: https://www.kp.ru/putevoditel/zdorove/luchshie-tabletki-ot-golovnoj-boli/ (accessed on 25.11.2021). (In Russ.).
5. Paretskaya A., Golubenko L. The best pills against the pain in the heart. JSC Publishing House "Komsomolskaya Pravda". URL: https://www.kp.ru/putevoditel/zdorove/luchsh ie-tabletki-ot-boli-v-serdtse/ (accessed on 25.11.2021). (In Russ.).
6. Pinchakovsky N. R. Unbearable toothache - how to survive until the morning? URL: https://giorno-dentale. com/nevynosimaja-zubnaja-bol-kak-dozhit-do-utra/ (accessed on 25.11.2021). (In Russ.).
Приложения
Приложение 1
CREATE DATABASE pain_medicine;
CREATE TABLE pain_and_medicine(type_of_pain text, medicine text);
INSERT INTO pain_and_medicine(type_of_pain, medicine) VALUES
('Боли в желудке', 'Папаверин'), ('Боли в желудке', 'Но-шпа'), ('Боли в желудке', 'Бускопан'), ('Боли в желудке', 'Спазмалгон'), ('Боли в желудке', 'Дюспаталин'), ('Боли в желудке', 'Омепразол'), ('Боли в желудке', 'Ренни'), ('Боли в желудке', 'Мотилиум');
INSERT INTO pain_and_medicine(type_of_pain, medicine) VALUES
('Головные боли', 'Спазмалгон'), ('Головные боли', 'Но-шпа'), ('Головные боли', 'Папаверин'), ('Головные боли', 'Бускопан'), ('Головные боли', 'Парацетомол'), ('Головные боли', 'Ибупрофен'), ('Головные боли', 'Нурофен'), ('Головные боли', 'Аспирин'), ('Головные боли', 'Найз'), ('Головные боли', 'Пенталгин');
INSERT INTO pain_and_medicine(type_of_pain, medicine) VALUES
('Боли в суставах', 'Вольтарен'), ('Боли в суставах', 'Спазмалгон'), ('Боли в суставах', 'Но-шпа'), ('Боли в суставах', 'Диклофенак'), ('Боли в суставах', 'Найз'), ('Боли в суставах', 'Кетонал'), ('Боли в суставах', 'Терафлекс'), ('Боли в суставах', 'Пенталгин');
INSERT INTO pain_and_medicine(type_of_pain, medicine) VALUES
('Боли в сердце', 'Валидол'), ('Боли в сердце', 'Нитроглицерин'), ('Боли в сердце', 'Карвалол'), ('Боли в сердце', 'Анаприлин'), ('Боли в горле', 'Септолете'), ('Боли в горле', 'Стрепсилс'), ('Боли в горле', 'Грам-мидин'), ('Боли в позвоночнике', 'Найз'), ('Боли в позвоночнике', 'Кеторолак'), ('Боли в позвоночнике', 'Мидокалм'), ('Боли в позвоночнике', 'Парацетомол'), ('Боли в позвоночнике', 'Нурофен'), ('Зубные боли', 'Анальгин'), ('Зубные боли', 'Парацетомол'), ('Зубные боли', 'Найз'), ('Зубные боли', 'Максиган');
CREATE TABLE pregnancy(medicine text, pregnancy text);
INSERT INTO pregnancy(medicine, pregnancy) VALUES
('Папаверин', 'беременные'), ('Но-шпа', 'беременные'), ('Ренни', 'беременные'), ('Парацетомол', 'беременные'), ('Валидол', 'беременные'), ('Анаприлин', 'беременные'), ('Септолете', 'беременные'), ('Стрепсилс', 'беременные'),('Парацетомол', 'беременные'), ('Нурофен', 'беременные'), ('Анальгин', 'беременные');
CREATE TABLE under_18(medicine text, age text);
INSERT INTO under_18(medicine, age) VALUES ('Папаверин', 'все'), ('Но-шпа', 'все'), ('Бускопан', 'все'),('Спазмалгон', 'все'), ('Парацетомол', 'все'), ('Ибупрофен', 'все'), ('Нурофен', 'все'), ('Вольтарен', 'все'), ('Диклофенак', 'все'), ('Анаприлин', 'все'), ('Септолете', 'все'), ('Стрепсилс', 'все'), ('Анальгин', 'все');
Приложение 2
SELECT pain_and_medicine.medicine FROM pain_and_medicine WHERE type_of_pain = 'Боли в позвоночнике';
Приложение 3
SELECT pain_and_medicine.medicine FROM pain_and_medicine WHERE type_of_pain = 'Головные боли';
Приложение 4
SELECT under_18.medicine FROM under_18;
Приложение 5
SELECT pregnancy.medicine FROM pregnancy;
Приложение 6
SELECT pain_and_medicine.medicine FROM pain_and_medicine WHERE type_of_pain = 'Зубные боли';
Приложение 7
SELECT pain_and_medicine.medicine FROM pain_and_medicine JOIN pregnancy ON pregnancy. medicine = pain_and_medicine.medicine AND type_of_pain = 'Боли в сердце';
Приложение 8
SELECT pain_and_medicine.medicine FROM pain_and_medicine JOIN under_18 ON under_18. medicine = pain_and_medicine.medicine AND type_of_pain = 'Боли в суставах';
Приложение 9
SELECT pain_and_medicine.medicine FROM pain_and_medicine WHERE type_of_pain = 'Головные боли';
Приложение 10
SELECT pain_and_medicine.medicine FROM pain_and_medicine WHERE type_of_pain = 'Боли в сердце' AND NOT EXISTS (SELECT medicine FROM under_18 WHERE under_18.medicine = pain_and_medicine. medicine);
Приложение 11
SELECT pain_and_medicine.medicine FROM pain_and_medicine JOIN pregnancy ON pregnancy. medicine = pain_and_medicine.medicine AND type_of_pain = 'Боли в желудке';