Базы данных. 22
Курсовая работа
по дисциплине «Базы данных»
База данных «Болезни- лекарства»
(задание №6)
СОДЕРЖАНИЕ
1.Задание
2.Анализ и описание предметной области
3. Цели и задачи создания базы данных «Болезни-лекарства»
4. Проектирование базы данных
4.1.Входные и выходные данные задач
4.2.Инфологическое проектирование базы данных
4.3. Выбор СУБД
4.4.Даталогическое проектирование базы данных
4.4.1. Нормализация отношений
4.4.2. Определение структуры таблиц реляционной базы данных «Болезни- лекарства»
5. Автоматизированная информационная система на основе базы данных «Болезни- лекарства»
5.1. Структура информационной системы
5.2. Запросы на выборку данных для решения поставленных задач
5.3. Отчеты по результатам решения задач
5.4. Организация интерфейса с пользователем
6. Приложения
7. Список использованной литературы
1. Задание
Выполнить проектирование и создать базу данных «Болезни- лекарства» для автоматизации работы пользователей.
1. Анализ и описание предметной области
В наше время существует огромное количество болезней и для лечения этих болезней предлагается огромный выбор лекарственных препаратов. Для обеспечения оперативности ведения информации о болезнях, с такими сведениями как симптомы, профилактике и т.д., о препаратах, которыми лечат эти болезни , способ применения, показания к применению, фармакологические свойства, производитель и т.д.необходима автоматизированная система, основанная на современной базе данных. Использование базы данных и автоматизированной системы для работы с базой данных существенно упростит, а главное вся информация, касающаяся препаратов и лекарств, будет храниться в одном месте. Если предоставить данную базу для общего пользования, то клиенты, даже, смогут примерно определить чем они болеют и чем им нужно лечиться.
В данной базе необходимо хранить разнообразную информацию о препаратах, чтобы оперативно можно было определить информацию о том, для каких заболеваний необходимо принимать препарат, о его форме выпуска, способ применения данного препарата, показания к применению, фармакологические свойства, производитель, об условии отпуска из аптеки. Необходимо учесть, что препараты могут поставляться одной фирмой, могут иметь одинаковое название, одинаковую лекарственную форму, поэтому препаратам необходимо присваивать некоторые уникальные номера.
Так же необходимо учесть, что несколько препаратов лечат одно и тоже заболевание, и один препарат может лечить несколько заболеваний, поэтому и заболеваниям даны уникальные коды.
Форма выпуска у препарата может быть также различной.
Информация о лечении болезней, с данными преператами должна быть полной и достаточной для определения способа применения и дозы, о передозировке и противопоказаниях.
Работать с базой данных «Болезни- лекарства» будут следующие пользователи:
медицинские работники ;
администратор;
пользователи.
Пользователи базой данной «Болезни- лекарства» должны иметь возможность систематизировать список имеющихся препаратов, т.е. распределять препараты по типу, добавлять новые и списывать старые, иметь возможность быстро найти необходимое лекарство, поставляющую его фирму.
База данных «Болезни- лекарства» выполнит задачи сокращение времени поиска необходимых лекарств или их заменителей, а так же болезней (медицинские работники).
2. Цели и задачи создания базы данных «Болезни- лекарства»
Проанализировав предметную область, мы можем сказать, что разработка этой базы данных актуальна. Целью разработки базы данных «Болезни- лекарства» и автоматизированной системы для работы с ней является повышение качества и скорости нахождения информации о болезнях, а также при общедоступном пользовании самостоятельному выбору лекарств клиентами.
Эти цели могут быть достигнуты за счет сокращения времени поиска необходимых препаратов по определенным критериям, за счет снижения времени поиска информации о болезнях.
Задачами автоматизированной системы являются:
1. Запись нового препарата
2. Поиск препарата из существующих
3. Удаление препарата
4. Отображение сведений фармакологические свойства
5. Отображение сведений способ применения
6. Отображение сведений показания к применению
7. Возможность добавления новых болезней
8. Подготовка сведений о болезнях
9. Добавление нового способа лечения
10. Изменять побочные действия препарата
11. Поиск болезни из списка
12. Возможность формирования сведений о производителях
4. Проектирование базы данных
4.1. Входные и выходные данные задач
Входными данными задач являются:
Сведения о препаратах, сведения о болезнях, о лечении
Информация о лекарствах:
№ Лекарства
Регистрационный номер
Торговое название лекарства
Международное непатентованное название лекарства
Код АТХ
Состав
Лекарственная форма и описание
Фармакотерапевтическая группа
Условие хранения
Условие отпуска из аптеки
Имя производителя
Адрес производителя
Телефон производителя
Информация о болезнях:
Код болезни
Название болезни
Международная классификация болезни (МКБ-10)
Симптомы
Диагностика
Профилактика
Типология
Лечение:
№ Лекарства
Код болезни
Способ применения
Доза
Побочные действия
Противопоказания
Передозировка
Взаимодействия с другими лекарствами
Показания к применению
Особые указания
4.2. Инфологическое проектирование базы данных
На этапе инфологического проектирования базы данных строится инфологическая модель предметной области, которая должна отображать семантику (смысл взаимосвязи объектов) предметной области. ИЛМ строится не для отдельного объекта, а отображает классы объектов и связи между ними. Диаграмма, отражающая связи объектов предметной области, называется диаграммой ER-типа (так как Entity – сущность, Relationship – связь).
Выделим основные сущности:
сущность «Лекарства»;
сущность «Лечение»;
сущность «Болезни».
Инфологическая модель базы данных «Болезни- лекарства» представлена на рис. 1.
Рис.1. Инфологическая модель предметной области «Болезни-лекарства»
Сущность «Болезни» содержит информацию обо всех болезнях. Отдельная болезнь этой сущности иметь различные способы лечения, поэтому водиться сущность «Способы лечения». Каждый способ лечения сущности «Способы лечения» содержит информацию о лечении отдельных болезней. Между сущностью «Болезни» и сущностью «Способы лечения» существует связь типа «1:М», обязательная с обеих сторон (если есть информация о болезни, то обязательно должен быть и способ лечения, если есть способ лечения, то обязательно должна быть информация о болезни). Сущность «Лекарства» содержит информацию о способах лечения, ведь с разными лекарствами можно лечить разные болезни. Отдельное лекарство сущности «Лекарства» содержит информацию об одном способе лечения одного лекарства. Существует связь между сущностью «Лекарства» и сущностью «Способы лечения» типа «1:М», обязательная с обеих сторон (если есть способ лечения, то должно быть и лекарство, который предназначен для лечения)..
Определим ключи – уникальные идентификаторы каждой сущности: для сущности «Лекарства» - это номер лекарства (№Лекарства), для сущности «Способ лечения» номер лекарства и код болезни, для сущности «Болезни» - код болезни.
4.3. Выбор СУБД
Моя база данных написана в Microsoft Access (МА). Эта система, предназначена для создания реляционных баз данных. Позволяет пользователю разнести данные по множеству таблиц и производить хранение и поиск данных. МА позволяет управлять базой данных, создавая оптимальную структуру для хранения и поиска информации. МА обеспечивает множество автоматизированных процедур, а также встроенную справочную систему, которые могут помочь в создании и модификации каждого элемента моей базы данных.
Access сохраняет БД с разрешением .mdb. При этом все основные элементы базы данных – таблицы, поля, формы, запросы и отчеты, хранятся в едином файле базы данных.
4.4. Даталогическое проектирование базы данных
Даталогическим (логическим) проектированием называют проектирование логической структуры БД в среде конкретной СУБД. Выберем в качестве модели данных реляционную базу данных (РБД).
Существуют разные способы проектирования логической структуры РБД. Рассмотрим способ проектирования, основанный на анализе инфологической модели и переходе от нее к реляционным отношениям.
Для РБД проектирование логической структуры заключается в том, чтобы разбить всю информацию по отношениям, а также определить состав атрибутов для каждого из этих отношений. От ER-модели перейдем к реляционной модели данных .
В результате получили следующие отношения:
Лекарства (№ Лекарства, Регистрационный номер, Торговое название лекарства, Международное непатентованное название лекарства, код АТХ, Состав, Лекарственная форма и описание, Фармакотерапевтическая группа, Условие хранения, Условие отпуска из аптеки, Имя производителя, Адрес производителя, телефон производителя)
Болезни (Код болезни, Название болезни, Международная классификация болезни(МКБ-10), Симптомы, Диагностика, Профилактика, Типология)
Лечение (№ Лекарства, Код болезни, Способ применения, Доза, Побочные действия, Противопоказания, Передозировка, Взаимодействия с другими лекарствами, Показания к применению, Особые указания)
4.4.1. Нормализация отношений
Рассмотрим отношение «Способ лечения». Каждую болезнь можно лечить несколькими видами лекарств, т.е. атрибуты код болезни и номер болезни – сложные, а это значит, что нарушена 1-ая нормальная форма. Чтобы привести к 1-ой нормальной форме добавим к ключу еще один атрибут – номер болезни.
Функциональные зависимости между атрибутами отношений после приведения отношения «Способ лечения» к первой нормальной форме приведены на рис.2. Отношения «Болезни» и «Лекарства» находятся в 1-ой нормальной форме, т.к. не имеют сложных атрибутов.
Поскольку отношения «Болезни», «Лекарства» и «Способы лечения» имеют простые ключи, они уже во 2-ой нормальной форме.
Отношения «Болезни» и «Способы лечения» находятся во 2-ой нормальной форме и каждый неключевой атрибут нетранзитивно зависит от первичного ключа, то есть 3-я нормальная форма не нарушена. В отношении «Лекарства» 3-я нормальная форма нарушена, т.к. есть транзитивная зависимость. Приведем это отношение ко 3-ей нормальной форме, разделив отношение на два отношения. Результат представлен на рис.3.
В результате мы получили 4 отношения: «Болезни», «Лекарства», «Производитель».
Отношение «Лекарства»
№ Лекарства
Регистрационный номер
Торговое название лекарства
Международное непатентованное название лекарства
Код АТХ
Состав
Лекарственная форма и описание
Фармакотерапевтическая группа
Условие хранения
Условие отпуска из аптеки
Имя производителя
Адрес производителя
Телефон производителя
Отношение «Болезни»
Код болезни
Название болезни
Международная классификация болезни (МКБ-10)
Симптомы
Диагностика
Профилактика
Типология
Отношение «Лечение»
№ Лекарства
Код болезни
Способ применения
Доза
Побочные действия
Противопоказания
Передозировка
Взаимодействия с другими лекарствами
Показания к применению
Особые указания
Рис.2. Функциональные зависимости отношений
Отношение «Лекарства»
№ лекарства
Регистрационный номер
Торговое название лекарства
Международное непатентованное название лекарства
Код АТХ
Состав
Лекарственная форма и описание
Фармакотерапевтическая группа
Условие хранения
Условие отпуска из аптеки
Имя производителя
Отношение «Производитель»
Имя производителя
Адрес производителя
Телефон производителя
Рис.3. Приведение отношения «Лекарства» ко 2-ой нормальной форме.
Рис.4. Даталогическая модель базы данных «Болезни-лекарства»
4.4.2. Определение структуры таблиц реляционной базы данных «Болезни- лекарства»
Определим структуры таблиц в среде СУБД Microsoft Access 2003. Дадим названия таблицам и атрибутам, определим типы данных и размерность атрибутов. В таблицах выберем первичные ключи и индексированные поля. Структура таблиц РБД «Болезни- лекарства» приведена в таблицах 1-6.
Таблица 1. Структура таблицы «Лекарства» РБД «Болезни- лекарства»
Название таблицы | Имя поля | Тип данных | Размер поля | Первичный ключ / вторичный ключ / индексированное поле |
Лекарства | № Лекарства | Счетчик | Длинное целое | Первичный ключ / индексированное поле |
| Регистрационный номер
| Числовой | 50 |
|
| Торговое название лекарства | Текстовый | 100 |
|
| Международное непатентованное название лекарства | Текстовый | 100 |
|
| Код АТХ |
|
|
|
| Состав | Текстовый | 155 |
|
| Лекарственная форма и описание | Текстовый | 60 |
|
| Фармакотерапевтическая группа
| Текстовый | 80 |
|
| Условие хранения | Текстовый | 50 |
|
| Условие отпуска из аптеки | Текстовый | 50 |
|
Таблица 2. Структура таблицы «Болезни» РБД «Болезни- лекарства»
Название таблицы | Имя поля | Тип данных | Размер поля | Первичный ключ / вторичный ключ / индексированное поле |
Болезни | Код болезни | Счетчик | Длинное целое | Первичный ключ / индексированное поле |
| Название болезни | Текстовый | 200 |
|
| Международная классификация болезни | Текстовый | 200 |
|
| Симптомы | Текстовый | 200 |
|
| Диагностика | Текстовый | 180 |
|
| Профилактика | Текстовый | 255 |
|
| Типология | Текстовый | 150 |
|
Таблица 3. Структура таблицы «Способ лечения» РБД «Болезни- лекарства»
Название таблицы | Имя поля | Тип данных | Размер поля | Первичный ключ / вторичный ключ / индексированное поле |
Способ лечения | Код болезни | Числовой | Длинное целое | Первичный ключ / индексированное поле |
| № Лекарства | Числовой | Длинное целое | Вторичный ключ / индексированное поле |
| Способ применения | Текстовый | 150 |
|
| Дозы
| Текстовый | 100 |
|
| Побочные действия | Текстовый | 255 |
|
| Противопоказания | Текстовый | 170 |
|
| Передозировка
| Текстовый | 255 |
|
| Взаимодействия с другими лекарствами | Текстовый | 255 |
|
| Показания к применению | Текстовый | 70 |
|
| Особые указания | Текстовый | 80 |
|
Таблица 4. Структура таблицы «Болезни» РБД «Болезни- лекарства»
Название таблицы | Имя поля | Тип данных | Размер поля | Первичный ключ / вторичный ключ / индексированное поле |
Производитель | Имя производителя | Текстовый | 100 | Первичный ключ / индексированное поле |
| Адрес производителя | Текстовый | 100 |
|
| Телефон производителя | Числовой | 15 |
|
Связи между таблицами в базе данных «Библиотека» представлены на Рис.5
Рис.5. Связи между таблицами в базе данных
5. Автоматизированная информационная система на основе базы данных «Болезни- лекарства»
5.1. Структура информационной системы
Для определения структуры информационной системы. необходимо распределить задачи, решаемые в АИС, по пользователям системы: медецинский работник, пользователь, администратор.
Медицинские работники выполняет следующие задачи:
1. Просмотр сведений о болезнях, лекарствах и лечении;
2. Поиск болезней;
3. Поиск лекарств.
Пользователь решает следующие задачи:
1. Просмотр сведений о болезнях, лекарствах и лечении;
2. Поиск болезней;
3. Поиск лекарств.
Администратор:
1. Редактирование информации о болезнях;
2. Редактирование информации о лекарствах;
3. Редактирование информации о производителях;
4. Редактирование информации о лечении.
Информационную систему «Болезни- лекарства» можно представить в виде 3-х подсистем (Рис. 6.):
Рис.6. Укрупненная структура АИС «Болезни- лекарства»
Для выполнения задач, решаемых администратором, используем 4 формы:
Рис.7. Структура подсистемы «Администратор»
Далее представим связи между таблицами, формами и отчетами для каждой компоненты подсистемы «Администратор».
Рис.8. Структура компоненты для добавления и удаления болезней
Рис.9. Структура компоненты для добавления и удаления лекарств
