
- •Введение
- •Глава 1. Системный анализ предметной области асу «аптека»
- •1.1. Анализ объекта автоматизации ооо «Самсон-Фарма»
- •Информационная модель
- •1.2. Обзор информационных технологий, подходящих для разработки бд
- •1.4. Требования к разрабатываемой базе данных
- •2.1. Разработка инфологической модели бд
- •2.2. Обоснование выбора модели данных
- •Сетевая модель
- •Иерархическая модель
- •Объектно-ориентированная модель
- •Реляционная модель
- •2.3. Даталогическое проектирование бд
- •2.4 Нормализация
- •Первая нормальная форма
- •Вторая нормальная форма
- •Третья нормальная форма
- •Глава 3. Программная реализация бд аптеки «самсон-фарма»
- •3.1 Анализ и выбор субд
- •3.2. Физическое проектирование бд
- •3.3 Разработка представлений
- •3.4 Разработка форм
- •3.5 Разработка отчетов
- •3.6 Реализация ограничений, автоматизация обработки данных в бд
- •3.7. Безопасность и контроль
- •Заключение
- •Список источников и литературы
- •Приложения
Информационная модель
Составим информационную модель, которая описывает какая информация необходима нам, в дальнейшем это послужит основой для создания базы данных. На основе анализа предметной области выделим следующие объекты, а также опишем какая информация об объекте нам важна:
В аптеке «Самсон-Фарма» ведется учет всех работников, товаров, поставщиков и заказов.
Для сотрудника аптеки хранится следующая информация:
ФИО
Дата рождения
Паспортные данные
Телефон
Адрес
Дата приема на работу
Данные о поставщиках лекарственных средств также фиксируются и хранятся:
Название
Город
Телефон
Email
Адрес
Данные о заказе:
Поставщик
Менеджер
Лекарство
Количество товара
Дата заказа
Стоимость заказа
Данные о товарах:
Наименование товара
Категория
Производитель
Группа
Дозировка
Количество
Срок гарантии
Цена
Данные в чеке:
Фармацевт
Товар
Количество
Сумма
Дата покупки
1.2. Обзор информационных технологий, подходящих для разработки бд
Система управления базами данных (СУБД) — это специализированная программа (чаще комплекс программ), предназначенная для организации и ведения базы данных. В настоящее время существует множество СУБД, подходящих для разработки баз данных к самым разнообразным информационным системам.
СУБД можно условно разделить на следующие классы:
домашние (настольные) СУБД – подходят для использования в домашних условиях и создания небольших баз данных;
полупрофессиональные СУБД – в основном используются предприятиями малого бизнеса для проектирования баз данных обычных размеров;
профессиональные СУБД – пригодны для использования в любых бизнес-предприятиях и крупных корпорациях, служат для создания баз данных любых размеров.
Домашние (настольные) СУБД
Microsoft Access
Microsoft Office Access — реляционная СУБД корпорации Microsoft. Имеет широкий спектр функций, включая связанные запросы, связь с внешними таблицами и базами данных. Благодаря встроенному языку VBA, в самом Access можно писать приложения, работающие с базами данных.
Основные компоненты MS Access:
построитель таблиц;
построитель экранных форм;
построитель SQL-запросов (язык SQL в MS Access не соответствует стандарту ANSI);
построитель отчётов, выводимых на печать.
Они могут вызывать скрипты на языке VBA, поэтому MS Access позволяет разрабатывать приложения и БД практически «с нуля» или написать оболочку для внешней БД.
Microsoft Jet Database Engine, которая используется в качестве движка базы данных MS Access является файл-серверной СУБД и потому применима лишь к приложениям, работающим с небольшими объёмами данных и при небольшом числе пользователей, одновременно работающих с этим данными. Непосредственно в Access отсутствует ряд механизмов, необходимых в многопользовательских БД, таких, например, как триггеры.
Встроенные средства взаимодействия MS Access со внешними СУБД с использованием интерфейса ODBC снимают ограничения, присущие Microsoft Jet Database Engine. Инструменты MS Access, которые позволяют реализовать такое взаимодействие называются «связанные таблицы» (связь с таблицей СУБД) и «запросы к серверу» (запрос на диалекте SQL, который «понимает» СУБД).
Корпорация Microsoft для построения полноценных клиент-серверных приложений на базе MS Access рекомендует использовать в качестве движка базы данных СУБД MS SQL Server. При этом имеется возможность совместить с присущей MS Access простотой инструменты для управления БД и средства разработки.
Известны также реализации клиент-серверных приложений на базе связки Access 2003 c другими СУБД, в частности, MySQL.
Полупрофессиональные СУБД
MySQL
MySQL является собственностью компании Sun Microsystems, осуществляющей разработку и поддержку приложения. Распространяется под GNU General Public License и под собственной коммерческой лицензией, на выбор. Помимо этого, компания MySQL AB разрабатывает функциональность по заказу лицензионных пользователей, именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации. [9]
MySQL является решением для малых и средних приложений. Входит в LAMP. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.
Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.
MySQL портирована на большое количество платформ:AIX, BSDi, FreeBSD, HP-UX, GNU/Linux, Mac OS X, NetBSD, OpenBSD, OS/2 Warp, SGI IRIX, Solaris, SunOS, SCO OpenServer, SCO UnixWare, Tru64, Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows Server 2003, WinCE, Windows Vista и Windows 7. Существует также порт MySQL на OpenVMS. Важно отметить, что компания MySQL AB предоставляет для свободной загрузки не только исходные коды СУБД, но и откомпилированные и оптимизированные под конкретные операционные системы готовые исполняемые модули.
MySQL имеет API для языков Delphi, C, C++, Эйфель, Java, Лисп, Perl, PHP, Python, Ruby, Smalltalk и Tcl, библиотеки для языков платформы .NET, а также обеспечивает поддержку для ODBC посредством ODBC-драйвера MyODBC.
Профессиональные СУБД
Oracle
Oracle Database - первая в мире база данных, разработанная специально для работы в сетях распределенных вычислений. Oracle Database предназначена для эффективного развертывания на базе различных типов оборудования, от небольших серверов до Oracle Enterprise Grid мощных многопроцессорных серверных систем, от отдельных кластеров до корпоративных распределенных вычислительных систем.
Oracle Database позволяет пользователям виртуализировать использование аппаратного обеспечения - серверов и систем хранения данных. Oracle Database обладает технологиями, которые позволяют администраторам надежно хранить и быстро распределять и извлекать данные для пользователей и приложений, работающих в сетях Grid. Oracle Database значительно повышает производительность обработки данных и включает в себя удобные средства администрирования.
Oracle Database предоставляет возможность автоматической настройки и управления, которая делает ее использование простым и экономически выгодным.
Ее уникальные возможности осуществлять управление всеми данными предприятия - от обычных операций с бизнес-информацией до динамического многомерного анализа данных (OLAP), операций с документами формата XML, управления распределенной/локальной информацией - делает ее идеальным выбором для выполнения приложений, обеспечивающих обработку оперативных транзакций, интеллектуальный анализ информации, хранение данных и управление информационным наполнением.
Некоторые ключевые возможности Oracle Database:
Real Application Cluster (RAC) обеспечивает работу одного экземпляра базы данных на нескольких узлах grid, позволяя управлять нагрузкой и гибко масштабировать систему в случае необходимости.
Automatic Storage Management (ASM) позволяет автоматически распределять данные между имеющимися ресурсами систем хранения данных, что повышает отказоустойчивость системы и снижает общую стоимость владения (TCO).
Производительность. Oracle Database позволяет автоматически управлять уровнями сервиса и тиражировать эталонные конфигурации в рамках всей сети.
Простые средства разработки. Новый инструмент разработки приложений HTML DB позволит простым пользователям создавать эффективные приложения для работы с базами данных в короткие сроки.
Самоуправление. Специальные механизмы Oracle Database позволяют самостоятельно перераспределять нагрузку на систему, оптимизировать и корректировать SQL-запросы, выявлять и прогнозировать ошибки.
Большие базы данных. Теперь максимальный размер экземпляра базы данных Oracle может достигать 8 экзабайт.
Недорогие серверные системы. Oracle Database может использовать недорогие однопроцессорные компьютеры или модульные системы из "серверов-лезвий".
В новой версии базы данных реализована поддержка переносимых табличных пространств, система управления потоками данных Oracle Streams и модель распределенных SQL-запросов. Для переноса существующих баз данных в среду Grid в них не потребуется вносить изменений, что позволяет быстро начать использовать все преимущества Oracle Database.
Ядром СУБД является сервер базы данных, который поставляется в одной из четырех редакций (Oracle Database 10g Enterprise Edition, Oracle Database 10g Standard Edition, Oracle Database 10g Standard Edition One, Oracle Database 10g Personal Edition) в зависимости от масштаба информационной системы, в рамках которой предполагается его применение. Oracle опирается на стандарт SQL-3, позволяющий описывать определения новых типов объектов, состоящих из атрибутов (скалярных - то есть других типов, множеств объектов, ссылок на объекты) и обладающих ассоциированными с ним методами.
1.3. Обзор продуктов аналогов
Для того, чтобы разрабатываемая информационная система была конкурентоспособна, ознакомимся с уже имеющимися на рынке решениями, с аналогичными объектами и целями автоматизации. Для обеспечения конкурентно-способности требуется ознакомится с возможностями конкурентов, узнать их слабые и сильные стороны.
АСУ «М-АПТЕКА+»
Эта программа автоматизации аптек представляет собой целую систему, позволяющую не только собирать и регистрировать информацию о движении товара, но и оформлять соответствующие документы с момента принятия решения о заказе товара до его реализации.
Система сводит воедино различные элементы управления аптечным предприятием и значительно облегчает работу всем сотрудникам аптеки. Программный комплекс «М-АПТЕКА плюс» реализован по модульной системе, что позволяет каждому пользователю подобрать функционал, необходимый для удобного ведения бизнес-процессов. [7]
Рис. 2. Главное окно АСУ «М-АПТЕКА+»
Главное окно программы разделено на две части- часто вызываемые задачи и главное меню слева, где расположились все утилиты необходимые для работы. Меню Администратор системы и Конструктор появляются лишь в случае, когда в программу зашел разработчик. В этих меню находятся утилиты для настройки программы. Меню Учет товарных запасов открывается только если в систему был выполнен вход под Заведующей аптеки. Данное меню необходимо уже для непосредственной работы с товаром в аптеке. Так же здесь расположены отчеты (их в программе более 100). Это такие отчеты как: отчет кассира, отчет о розничной реализации, отчет от прибыли, отчет о движении товара, бухгалтерский отчет и т.д.
Система автоматизации «М-АПТЕКА плюс» представляет собой оптимальную программу для учета товара в широком смысле. То есть с ее помощью можно осуществлять:
Работу на складе
Работу за первым столом
Обработку информации в офисе
Для систематизации и управления процессом товародвижения в программе предусмотрена возможность формирования различных справок и отчетов, с возможностью их выгрузки в MS Excel.
Разработчики программы для аптеки «М АПТЕКА +» — компания Эскейп – постоянно следят за непрерывно обновляющимся законодательством. Эта программа для автоматизации аптек и аптечных сетей быстро и удобно решает поставленные перед ней задачи, что говорит о её спросе на рынке.
ИС «Инфо-Аптека 3.0»
Система ИнфоАптека 3.0 предназначена для комплексной автоматизации работы аптечного предприятия с розничной и мелкооптовой торговлей. [8]
Программа предназначена как для отдельных аптечных предприятий, так и для аптечных сетей с различными схемами бизнес-процессов.
Программу ИнфоАптека можно назвать «старожилом» рынка – ей уже более 17 лет. При этом она активно развивается и дорабатывается, чтобы максимально соответствовать современным реалиям.
Рис. 3. Интерфейс ИС «ИнфоАптека»
Стандартный функционал программы включает множество модулей, обеспечивающих следующие возможности:
Организация электронного документооборота внутри аптеки и с поставщиками.
Доступ к единому классификатору товаров. Он составляется и ведется провизорами из штата компании-разработчика.
Аналитический модуль для подготовки различных видов отчетов.
Организация автоматических расценок товаров, которые не позволят выйти за установленные нормативными актами пределы при формировании стоимости товаров.
Функционал для внедрения дисконтных программ.
Возможность автономной работы кассового модуля при наличии проблем с сервером.
Модуль «Аналитика», разработанный компанией Alliance Healthcare, позволяет формировать множество отчётных форм, информирующих вас о состоянии предприятия. Вот некоторые из них:
отчёт по рабочему персоналу,
о режиме работы аптеки,
об оптимизации товарных запасов.
Клиентам предлагается и широкий выбор дополнительных функций (работа с карточными проектами, использование бонусных систем и пр.). Совокупность множества функций и модулей помогает программе автоматизации аптек ИНФОАПТЕКА, от компании Alliance Healthcare, успешно конкурировать с другим программным обеспечением.
АСУ «Юнико-Аптека»
Как любая программа для аптеки, Юнико Аптека состоит, во-первых, из основного программного модуля, позволяющего осуществить приход товаров и продолжать обрабатывать продукцию до конечной её реализации, содержит детальную информацию о состоянии аптечного предприятия. Разработчики компании Юнико упростили процедуру формирования заказа в аптеке. Для того, чтобы сформировать заказ, Вам необходимо либо добрать его до минимального, либо, просмотрев востребованность продукции, увеличить свой заказ в необходимом направлении. Большое удобство в программе для аптеки Юнико Аптека вызывает то, что она работает с электронными накладными (форматы dbf, txt, sst и другими), с выбором минимальных цен по сводным прайс-листам. Автоматизация аптеки видна и в функции переоценки продукции — позволяет держать цены в соответствии с экономическим положением вашего региона, а автоматический поиск фальсификатов лекарственных средств и контроль их срока годности позволит Вам следить за качеством предлагаемой продукции.
Как и большинство программ для аптек Юнико Аптека работает с интернет сетью, обмениваясь данными с интернет справочниками, один из них ЖНВЛС. В рабочем процессе происходит обмен данными с регистром лекарственных средств, справочной системой городской справки, как пример ЕСФИ. Разработчики компании Юнико продумали возможность подключения дополнительного оборудования – терминала для осуществления индивидуального заказа с полным ассортиментом информации о необходимой продукции.
Рис. 4. Интерфейс АСУ «Юнико-Аптека»
Функциональные возможности:
Гибкая система ценообразования
Контроль торговой наценки
Автоматизированный контроль фальсифицированных ЛС и сроков годности
Прием электронных накладных
Учет сильнодействующих ЛС
Гибкая система скидок и дисконтирования
Сравнение цен поставщиков
Проведение инвентаризации в кратчайшие сроки
Производство, учет экстемпоральных форм
Автоматическое формирование заказов на основании минимальных остатков
Автоматизированный обмен между объектами аптечных сетей
Компания Юнико программным обеспечением для аптеки автоматизировала рабочий процесс продаж и снабдила пользователей массой достойных функций. Приведём небольшой перечень:
формирование розничной цены, учёт допустимой наценки на жизненно важные товары
использование сканера штрих-кодов
ведение баз данных о покупателях и заказчиках
калькулятор расчёта сдачи
возможность деления упаковки товара (продажа поштучно)
подбор синонимов лекарственных средств
системы скидок бонусов и дисконтов
отчётность о работе кассовых мест
Программа для аптеки Юнико Аптека содержит в себе массу подробных отчётных форм с архивацией баз данных, предотвращая ошибки пользователя.