1. Анализи описание предметной области
В большихгородах много аптек, и порой необходимо знать какой препарат и где можно купить.Для обеспечения оперативности ведения информации о деятельности аптек и обслуживаниябольных необходима автоматизированная система, основанная на современной базеданных. Использование базы данных и автоматизированной системы для работы сбазой данных существенно сократит время поиска информации о препаратах и аптекахи решит многие другие задачи.
В базе данныхнеобходимо хранить разнообразную информацию об аптеках, препаратах иизготовителях данных препаратов, чтобы оперативно можно было определитьинформацию о принадлежности того или иного препарата к определенному изготовителюи определить аптеку, где можно приобрести данный препарат.
Информация о препаратахдолжна быть полной и достаточной для определения аптек, изготовителей и стоимости.
Могутсуществовать следующие ограничения при работе с подобной базой данных:
1. Изготовительможет производить множество препаратов;
2. Избазы удаляются препараты, срок годности которых истек;
3. Каждаяаптека должна иметь контактный телефон;
4. Каждый изготовительдолжен иметь электронный адрес;
5. Некоторые препаратыотпускаются только по рецепту врача;
Такихограничений может быть и больше, они могут быть другими или их вообще может небыть, в зависимости от глубины анализа данной области, затронутой в базе данных.
Работать сбазой данных «Аптеки-Препараты» будут следующие пользователи:
· Аптекарь;
· Покупатель;
· Администратор.
Аптекаридолжны иметь возможность систематизировать базу по препаратам, т.е. распределять препаратыпо аптекам, добавлять новые препараты и удалять просроченные, вести учет лекарствотпускаемых строго по рецепту, обновлять стоимость препаратов.
Покупательдолжен иметь возможность просматривать информацию о препаратах, получать информациюоб аптеках, в которых данный препарат можно приобрести.
Администратордолжна иметь возможность получать информацию об изменении стоимости препаратов,об аптеках и изготовителях препаратов.
2. Цели изадачи создания базы данных «Аптеки-препараты»
Проанализировавпредметную область, мы можем сказать, что разработка рассматриваемой базыданных актуальна.
Цельюразработки базы данных «Аптеки-Препараты»и автоматизированной системы для работы с ней является повышение качества обработкиданных и систематизация хранимой информации об аптеках и препаратах.
Эти цели могутбыть достигнуты за счет сокращения времени регистрации и поиска препаратов, времени поискаинформации об аптеках и изготовителях препаратов.
Задачами автоматизированнойсистемы являются:
1. Регистрация новых препаратов
2. Регистрация новых изготовителей
3. Систематизация препаратовпо аптекам
4. Систематизация препаратовпо изготовителям
5. Контроль срока годностипрепаратов
6. Контроль препаратоввыдаваемых по рецепту
7. Подготовка сведений о лицензияхаптек
8. Выписка чеков напрепараты
3. Проектированиебазы данных
3.1 Входныеи выходные данные задач
Входнымиданными задач являются: данные об аптеках, препаратах, изготовителях препаратови т.д.
Информацияоб аптеке:
· Уникальныйкод аптеки
· Название
· Адресаптеки
· Владелец
· Лицензия
· Телефон
Информацияоб изготовителе:
· Уникальныйкод изготовителя
· Наименование
· Адрес
· Годоснования
· Телефон
· Электронныйадрес
Информацияо препарате:
· Кодпрепарата
· Название
· Кодаптеки
· Кодизготовителя
· Упаковка
· Стоимость
· Рецепт
· Датавыпуска
· Срокгодности
3.2 Инфологическоепроектирование базы данных
На этапеинфологического проектирования базы данных строится инфологическая модельпредметной области, которая должна отражать семантику (смысл взаимосвязиобъектов) предметной области. ИЛМ строится не для отдельного объекта, аотображает классы объектов и связи между ними. Диаграмма, отражающая связи объектовпредметной области, называется диаграммой ER-типа (так как Entity – сущность,Relationship – связь).
Выделимосновные сущности:
· сущность«Аптека»;
· сущность«Изготовитель»;
· сущность«Препарат».
Сущность «Аптеки»содержит информацию обо всех аптеках, в которых ведется продажа препаратов.Отдельный экземпляр этой сущности соответствует не конкретному экземпляру аптеки,а описанию аптеки в целом. В аптеках продается множество препаратов, поэтомувводится сущность «Препарат». Каждый экземпляр сущности «Препарат» содержитинформацию о конкретном препарате. Между сущностью «Аптека» и сущностью «Препарат»существует связь типа «1: М», не обязательная с обеих сторон. Сущность «Изготовитель»содержит информацию об изготовителях препаратов. Отдельный экземпляр этойсущности содержит информацию об одном изготовителе. Существует связь междусущностью «Изготовитель» и сущностью «Препарат» типа «1: М», обязательная собеих сторон (если есть информация о препарате, то должен быть и изготовитель,который этот препарат произвел). Определяются ключи – уникальные идентификаторыэкземпляров каждой сущности: для сущности «Аптека» – это Код аптеки, длясущности «Препарат» – Код препарата, для сущности «Изготовитель» – КодИзготовителя.
3.3 ВыборСУБД
Системауправления базами данных Access(СУБД Access) входит в стандартныйнабор прикладных программ пакета Microsoft Office, который – так сложилосьисторически – используется практически в каждой организации нашей страны. Онапредоставляет значительные возможности по работе с хранящимися данными, ихобработке и совместному использованию.
Можнопроизводить обмен данными между компонентами СУБД Accessи другими приложениями Windows. Это могут быть рисунки ит.д.
СУБД Access – система сложная имногозначная. Одинаковый результат может быть достигнут различными путями. Приначальном освоении материала бессмысленно показывает все возможные вариантыповедения в сложившейся ситуации.
Все объекты, относящиеся кодной базе данных, Access хранит в одном большом файле с расширением mdb, среди объектов разрабатываемой базыданных мы предусмотрели:
1. Таблицы – основные объекты любой базы данных. В таблицах хранятсявсе данные, имеющиеся в базе, кроме того, таблицы хранят и структуру базы(поля, их типы и свойства).
2. Запросы –служат для извлечения данных из таблиц и предоставленияих пользователю в удобном виде. С помощью запросов выполняют такие операции,как отбор данных, их сортировку и фильтрацию. С помощью запросов можновыполнять преобразования данных по заданному алгоритму, создавать новыетаблицы, выполнять автоматическое наполнения таблиц данными, импортированнымииз других источников, выполнять простейшие вычисления в таблицах и многое другое.
3. Если запросы – это специальные средствадля отбора и анализа данных, то формы – это средства для ввода данных.Смысл их тот же – предоставить пользователю средства для заполнения только техполей, которые ему заполнять положено. Одновременно с этим в форме можноразместить специальные элементы управления (счетчики, раскрывающиеся списки,переключатели, флажки и прочее) для автоматизации ввода. Преимущества формраскрываются особенно наглядно, когда происходит ввод данных с заполненныхбланков. В этом случае форму делают графическими средствами так, чтобы онаповторяла оформление бланка – это заметно упрощает работу наборщика, снижаетего утомление и предотвращает появление печатных ошибок.
4. Отчеты по своим свойствам и структуре во многом похожи на формы, нопредназначены только для вывода данных, причем для вывода не на экран, а на принтер.В связи с этим отчеты отличаются тем, что в них приняты специальные меры длягруппирования выводимых данных и для вывода специальных элементов оформления,характерных для печатных документов.
3.4 Даталогическоепроектирование базы данных
Даталогическим(логическим) проектированием называют проектирование логической структуры БД всреде конкретной СУБД. Выберем в качестве модели данных реляционную базу данных(РБД).
Существуютразные способы проектирования логической структуры РБД. Рассмотрим способпроектирования, основанный на анализе инфологической модели и переходе от нее креляционным отношениям.
Для РБДпроектирование логической структуры заключается в том, чтобы разбить всюинформацию по отношениям, а также определить состав атрибутов для каждого изэтих отношений. От ER-модели перейдем к реляционной модели данных. В результатеполучили следующие отношения:
Аптека (Кодаптеки, Название, Адрес аптеки, Владелец, Лицензия, Телефон)
Изготовитель(Кодизготовителя, Наименование, Адрес, Год основания, Телефон, Электронный адрес)
Препарат (Кодпрепарата, Название, Код аптеки, Код изготовителя, Упаковка, Стоимость,Рецепт, Дата выпуска, Срок годности)
3.4.1 Нормализация отношений
Следующимшагом в проектировании РБД является нормализация отношений (определитьфункциональные зависимости, определить ключи и привести отношения к 3-ейнормальной форме).
Отношения «Аптека»,«Изготовитель» и «Препарат» находятся в 1-ой нормальной форме, т. к. неимеют сложных атрибутов.
Посколькуотношения «Аптека», «Изготовитель» и «Препарат» имеют простые ключи, они уже во2-ой нормальной форме.
Реляционнаябаза данных «Аптеки-Препараты».
Физическоепроектирование.
Выполнимфизическое проектирование в среде СУБД Microsoft Access 2007. Проименуем таблицыи атрибуты, определим типы данных и размерность атрибутов. В таблицах выберемпервичные ключи и индексированные поля.
Таблица 1.Структура таблицы «Аптека» РБД «Аптеки-Препараты»
Название таблицы
Имя поля
Тип данных
Размер поля
Первичный ключ / вторичный ключ / индексированное поле Аптека
Код аптеки
Счетчик Длинное целое
Первичный ключ Название Текстовый 20 Адрес аптеки Текстовый 50 Владелец Текстовый 20 Лицензия Дата / Время (с маской) Телефон Текстовый (с маской) 50
Таблица 2.Структура таблицы «Изготовитель» РБД «Аптеки-Препараты»
Название таблицы
Имя поля
Тип данных
Размер поля
Первичный ключ / вторичный ключ / индексированное поле Изготовитель
Код изготовителя
Счетчик Длинное целое
Первичный ключ Наименование Текстовый 20 Адрес Текстовый 50 Год основания Текстовый (с маской) 50 Телефон Текстовый (с маской) 50 Электронный адрес Гиперссылка
Таблица 3.Структура таблицы «Препараты» РБД «Аптеки-Препараты»
Название таблицы
Имя поля
Тип данных
Размер поля
Первичный ключ / вторичный ключ / индексированное поле Препараты
Код препарата
Счетчик Длинное целое
Первичный ключ Название Текстовый 50 Аптека Числовой (с подстановкой) Длинное целое Изготовитель Числовой (с подстановкой) Длинное целое Упаковка Текстовый 50 Стоимость Денежный Рецепт Логический Дата выпуска Дата / Время (с маской) Срок годности(лет) Числовой Длинное целое
Связи междутаблицами в базе данных «Аптеки-Препараты» представлены на рис. 4
/>
Рис. 4.Связи между таблицами в базе данных
4. Автоматизированнаяинформационная система на основе базы данных «Аптеки-Препараты»
4.1 Структураинформационной системы
Дляопределения структуры информационной системы, необходимо распределить задачи,решаемые в АИС, по пользователям системы: Аптекарь, Покупатель, Администратор.
Аптекарьвыполняет следующие задачи:
1. Ввод икорректировка данных об аптеке
2. Вводи корректировка данных об изготовителе
3. Вводи корректировка данных о препарате
4. Контрольсрока годности препарата
5. Обновлениестоимости препарата
6. Поискданных об аптеке и препарате
7. Поискаптек с нужными препаратами
8. Подготовкасведений о препаратах продаваемых в аптеке
9. Подготовкасведений о препаратах производимых изготовителем
10. Расчетстажа фирм изготовителей
11. Проверкалицензии аптек
12. Сведенияо препаратах выдаваемых только по рецепту
Покупательрешает следующие задачи:
1. Просмотр сведений опрепаратах продаваемых в аптеке
2. Просмотр сведений опрепаратах производимых изготовителем
3. Сведения о препаратахвыдаваемых только по рецепту
Администратор:
1. Проверкалицензии аптек
2. Вводи корректировка данных об аптеке
3. Ввод икорректировка данных об изготовителе
4. Контрольсрока годности препарата
Информационнуюсистему «Аптеки-Препараты» можно представить в виде 3-х подсистем (рис. 5):/> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> Аптеки-Препараты /> /> /> /> /> /> /> Аптекарь /> Покупатель />
Администратор
Рис. 5. Укрупненнаяструктура АИС «Аптеки-Препараты»
Поскольку всезадачи решаются в основном Аптекарем, а два других пользователя решают лишьнекоторые задачи из этого списка, далее более подробно рассмотрим толькоподсистему «Аптекарь». Для выполнения задач, решаемых Аптекарем, используем 4формы:/> /> /> /> /> /> /> /> /> /> /> /> /> />
Ввод и систематизация данных об аптеках.
Ввод и систематизация данных об изготовителях
Ввод и систематизация данных о препаратах
Поиск сведений об аптеках и препаратах
Рис. 6.Структура подсистемы «Аптекарь»
Далеепредставим связи между таблицами, формами и отчетами для каждой компонентыподсистемы «Аптекарь».
4.2 Запросы на выборку данныхдля решения поставленных задач
/>
Рис. 11.Запрос для обновления стоимости препарата
/>
Рис. 12.Параметрический запрос для определения препаратов поставляемых изготовителем
/>
Рис. 13.Параметрический запрос для определения препаратов в заданной аптеке
/>
Рис. 14.Параметрический запрос для поиска препаратов
/>
Рис. 15.Параметрический запрос для поиска сведений об аптеке
/>
Рис. 16.Запрос на выборку для определения препаратов отпускаемых по рецепту
/>
Рис. 17.Запрос на выборку фирмы со стажем более 20 лет
/>
Рис. 18.Запрос на выборку о просроченных лицензиях
/>
Рис. 19.Запрос на выборку о просроченных препаратах
Содержимоетаблиц и полученные результаты для контрольного примера можно посмотреть вприложениях.
4.3 Отчетыпо результатам решения задач
В качествепримера создадим отчет о просроченных лицензиях. Используем для этого конструкторотчетов и используем результаты запроса «Просроченные лицензии». Экранная формаконструктора отчетов приведена на рис. 20, а сам Отчет для контрольногопримера – в приложении.
/>
Рис. 20.Создание отчета об истекших лицензиях
/>
Рис. 21.Создание отчета – Сведения о старейших фирмах
Остальные отчеты«Прайс изготовителя», «Препараты к удалению», «Сведения о препаратах ваптеках», «Сведения о препаратах по изготовителю», «Список препаратов в аптеке»,«Список рецептурных препаратов» создаются с помощью мастера составления отчетов.Последовательность создания данных отчетов полностью контролируется самойпрограммой, нам же приходится отвечать на некоторые маловажные вопросы.
Данные отчетыприведены в приложении.
4.3 Организацияинтерфейса с пользователем
При разработкеинтерфейса пользователя необходимо помнить, что он создается для пользователя,возможно, имеющего слабые навыки работы за компьютером, т.е. не специалиста поАСОИУ. Поэтому, интерфейс должен быть «дружественным», понятным всем, безнеобоснованных сокращений слов и предложений, а также достаточно красочным. Внашем случае предлагается начать работу с главной формы, при нажатии же однойиз кнопок на ней появляется форма для работы с соответствующей компонентой АИС,например, компонентой «Аптекарь» (рис. 22) и т.д.
/>
/>
Рис. 22.Главная форма АИС «Аптеки-Препараты» и компоненты «Аптекарь»
Литература
1. Ризаев И.С., Яхина З.Т. Базыданных. Учебное пособие. Казань.: КГТУ. 2002.
2. Ризаев И.С., Яхина З.Т. Базыданных. Лабораторный практикум. – Казань, КГТУ, 2002.3. Захарова З.Х., Ризаев И.С., Яхина З.Т. Методическиеуказания к курсовой работе по дисциплине «Базы данных». – Казань, КГТУ, 2006.
4. Карпова Т.С. Базыданных: Модели, разработка, реализация. Учебник. – СПб: Питер, 2001.