Курсовая №4189 Информационная система «Аптека»

Целью данного курсовой работы является приобретение практических навыков обследования предметной области, концептуального, логического и физического проектирования базы данных, освоение средств поддержания целостности базы данных, запросов, отчётов.

Для достижения этой цели в данном проекте выполняется разработка структуры реляционной базы данных для гипотетической информационной системы «Аптека».

Информационная система «Аптека» предназначена для автоматизации ввода и редактирования информации о медикаментах, поставщиках и сотрудниках аптеки.

Информационная система представляет из себя базу данных, содержащую информацию о медикаментах на складе и в аптеке, о поставщиках, количестве и дате поставки, о сотрудниках аптеки, а так же клиентское приложение, с помощью которого удобно располагать данной информацией, вносить изменений в базу данных, осуществлять заказы у поставщиков и фиксировать продажи медикаментов.

База данных предназначена для сотрудников аптеки. Для автоматизации их деятельности и экономии времени.

Задачами курсовой работы являются: разработка базы данных, клиентского приложения и построение концептуальной модели с помощью CASE-средства (Еrwin).

1.1 Анализ предметной области

В данной курсовой работе реализуется проектирование и разработка базы и клиентское приложение для предметной области ИС «Аптека». Данная информационная система предназначена для аптекаря и

администрации.

Функции информационной системы:

  • учет медикаментов в аптеке;
  • добавление и удаление информации о поставщиках;
  • хранение информации о проведенных поставках и о медикаментах в каждой из поставок;
  • хранение информации о сотрудниках, добавление информации о новых и удаление о старых;
  • учет продаж, совершенных каждым из аптекарей;
  • предоставление списка медикаментов, которые были поставлены из -Петербурга;
  • нахождение самого продаваемого медикамента;
  • нахождение поставщиков, которые осуществляли поставки более одного раза;
  • вывод списка поставщиков, которые осуществляли поставки за конкретное число;
  • вывод списка медикаментов и их количества, в конкретной

поставке;

  • вывод списка медикаментов с ценами, по которым они были поставлены в конкретной поставке;
  • вывод фамилий, имён и отчеств аптекарей, который осуществляли продажи конкретного числа;
  • вывод списка медикаментов, который были проданы конкретного числа.

База данных аптеки включает в себя 7 таблиц и 8 запросов, предназначенных для эффективной работы информационной системы.

4 стр., 1862 слов

Базы данных и системы управления базами данных

... образуется информация, которую они потребляют и на основании которой в пределах собственной компетенции производят ввод и редактирование данных. С понятием базы данных тесно связано понятие системы управления базой данных. Это ... их вручную, а выбирать их из раскрывающегося списка. 2.6 Безопасность баз данных Базы данных – это тоже файлы, но работа с ними отличается от работы с файлами других типов, ...

Сущности:

1) Аптека;

2) Поставка;

3) Поставщики;

4) Продажи;

5) ПродТов;

6) Сотрудники;

7) ТовВПост.

Таблицы связаны между собой, что обеспечивает целостность данных.

Существуют различные типы целостности данных:

1) Целостность полей – указывает набор значений данных, которые являются правильными для поля, и определяет, возможно ли использование нулевого значения. Например, поле для хранения пола человека может содержать одно из двух значений – М или Ж. Во-первых, этого достаточно, во-вторых, других значений пола просто не бывает и мы должны запретить ввод других букв в данное поле. Целостность полей часто всего (и лучше) обеспечивается с помощью ограничения CHECK, формата (с помощью шаблона) или региона возможных значений для поля.

2) Целостность таблицы – требуют, чтобы все строки в таблице имели уникальный идентификатор, называемый первичным ключом. Может ли первичный ключ изменяться, или может ли строка удаляться, зависит от уровня целостности. Например, в некоторых случаях можно разрешить удаление записей, но чаще всего оно должно быть запрещено. Не желательно терять данные, потому что мы в последствии не сможем узнать историю изменений в таблице.

3) Целостность ссылок – подразумевает отношения между первичным ключом (таблицы, на которую ссылаются) и внешним ключом (таблицы, которая ссылается на другую) всегда защищенными. Строка основной таблицы, на которую ссылаются, не может быть удалена и первичный ключ не может быть изменен, если вторичный ключ ссылается на строку, пока не будет уничтожена связь. Иначе связь нарушается и восстановить ее потом становится проблематичным. Вы можете назначить отношения внутри таблицы или между несколькими отдельными таблицами с помощью встроенных в SQL Server средств, не надеясь на возможности языка программирования, который вы используете для доступа к данным. Конечно же, связь между таблицами можно навести и без внешних ключей, но в этом случае сервер не гарантирует целостность. Вся ответственность ложиться на программиста.[4].

Сущность «Аптека» включает информацию о препаратах, находящихся в данный момент в аптеке и готовы к продаже.

В сущности «Поставка» находится информация о приходе товаров в аптеку: от какого поставщика и дата поставки.

Сущность «Поставщики» включает в себя информацию о поставщиках, которые обеспечивают аптеку медикаментами. Это идентификатор, адрес, по которому находится поставщик, название предприятия и телефон, по которому можно связаться с этим предприятием.

В сущности «Продажи» содержится информация о том, какой сотрудник и какого числа осуществлял продажи медикаментов.

В сущности «ПродТов» содержится информация о том, какие товары в каком количестве и в каких продажах участвовали.

Сущность «Сотрудники» хранит информацию о сотрудниках аптеки: идентификатор, фамилию, имя, отчество, должность, дата рождения, пол.

37 стр., 18261 слов

Проектирование базы данных «Спортивный клуб»

... профессиональной деятельности работы Спортивного клуба. 2. Анализ предметной области и инфологическое проектирование 2.1 Функциональная модель предметной области Результаты функционального моделирования предметной области учебной базы данных «Спортивный клуб» в терминах модели сущность-связь, ...

Сущность «ТовВПост» содержит информацию о том, какие товары в каких поставках и по какой цене были поставлены.

1.2 Информационные потребности пользователей

Рисунок 1: Информационные потребности пользователей

1.3 Постановка задачи и перечень автоматизированных функций

Целью данной курсовой работы является анализ предметной области «Аптека», проектирование и реализация учебной базы данных в указанной предметной области. В рамках данной работы для автоматизации выбраны следующие восемь функций автоматизированной системы «Аптека»:

1) предоставление списка медикаментов, которые были поставлены из Санкт-Петербурга;

2) нахождение самого продаваемого медикамента;

3) нахождение поставщиков, которые осуществляли поставки более одного раза;

4) вывод списка поставщиков, которые осуществляли поставки за конкретное число;

5) вывод списка медикаментов и их количества, в конкретной

поставке;

6) вывод списка медикаментов с ценами, по которым они были поставлены в конкретной поставке;

7) вывод фамилий, имён и отчеств аптекарей, который осуществляли продажи конкретного числа;

8) вывод списка медикаментов, который были проданы конкретного числа.

Таблица 1 – Сводка объектов, участвующих в реализации функций

Сущности Запросы

1 2 3 4 5 6 7 8

Аптека + + + ++

Поставка ++ +

Поставщики ++ +

Продажи + +

ПродТов++

Сотрудники +

ТовВПост ++ +

2 РАЗРАБОТКА ПРОГРАММЫ

2.1 Концептуальное проектирование

Концептуальная модель включает описания объектов и их взаимосвязей, выявляемых в результате анализа данных.

Концептуальная модель применяется для структурирования предметной области с учетом информационных интересов пользователей системы. Она является представлением точки зрения пользователя на предметную область и должна быть стабильной, т.е. неизменно. Хотя возможно её наращивание и включение дополнительных данных. Для создания базы данных необходимо воспользоваться программой – ERWin.

ERWin – Case-средство для проектирования и документирования баз данных, которое позволяет создавать, документировать и сопровождать базы данных, хранилища и витрины данных. Модели данных помогают визуализировать структуру данных, обеспечивая эффективный процесс организации, управления и администрирования таких аспектов деятельности предприятия, как уровень сложности данных, технологии баз данных и среды развертывания. ERWin имеет два уровня представления модели – логический и физический. Логический уровень – это абстрактный взгляд на данные. Объекты модели, представляемые на нём, называются сущностями и атрибутами. Логическая модель данных является универсальной, т.к. не зависит от конкретной СУБД. Физическая модель данных зависит от конкретной СУБД. В ней содержится информация обо всех объектах БД. Одной и той же логической модели важно описать всю информацию о конкретных физических объектах – таблицах, колонках, индексах, процедурах.

Рисунок 2: ERWin – схема логической модели

Рисунок 3: ERWin – схема физической модели

2.2 Глобальная схема данных

В качестве СУБД для реализации базы данных была использовании настольная СУБД реляционного типа – Microsoft Access. Данная СУБД имеет очень простой графический интерфейс, который позволяет не только создавать собственные базы данных, но и разрабатывать простые и сложные приложения. Система управления базами данных Microsoft Access является одним из самых популярных приложений в семействе настольных СУБД. Все версии Access имеют в своём арсенале средства, значительно упрощающие ввод и обработку данных, поиск и предоставление информации в виде таблиц, графиков и отчетов.

11 стр., 5339 слов

Разработка базы данных на языке SQL

... Поставка. Таблицы связаны между собой, что обеспечивает целостность данных. База данных предназначена, в первую очередь, для сотрудников - полный учет товаров, контроль работы в целом. Таблица 1 - Состав таблиц базы данных ... поля и запросы. В качестве СУБД для реализации базы данных планируется использоваться СУБД реляционного типа - MS SQL Server. 2. Моделирование предметной области 2.1 Общие ...

Запросы на создание таблиц:

1) создание таблицы «Аптека»:

  • create table Аптека([ID медикамента] autoincrement, Название char, Количество int, Назначение char, [Дата поступления] date, [Дата выпуска] date, [Срок годности] date, Цена currency);

2) создание таблицы «Поставка»:

  • create table Поставка ([ID поставки] autoincrement, [ID поставщика] int, Дата date)create table Поставка ([ID поставки] autoincrement, [ID поставщика] int, Дата date);

3) создание таблицы «Поставщики»:

  • create table Поставщики([ID поставщика] autoincrement, Адрес char, Название char, Телефон char);create table Продажи ([ID продажи] autoincrement, [ID сотрудника] int, Дата date);

4) создание таблицы «Продажи»:

  • create table Продажи ([ID продажи] autoincrement, [ID сотрудника] int, Дата date);

5) создание таблицы «ПродТов»:

  • create table ПродТов ([ID медикамента] int, [ID продажи] int, Количество int, Цена currency);

6) создание таблицы «Сотрудники»:

  • create table Сотрудники ([ID сотрудника] autoincrement, Фамилия char, Имя char, Отчество char, Должность char, [Дата рождения] date, Пол char);

7) создание таблицы «ТовВПост»:

create table ТовВПост ([ID медикамента] int, [ID поставки] int, Количество int).

Рисунок 4: Глобальная схема данных

На данном этапе была спроектирована глобальная модель, соответствующая разрабатываемой информационной системе «Аптека».

3 ПОСТРОЕНИЕ КЛИЕНТСКОГО ПРИЛОЖЕНИЯ

3.1 Выбор инструментов разработки

Для разработки клиентского приложения использовались средства СУБД Microsoft Access. Выбор пал на MS Access, так как он довольно прост в использовании и имеет всё необходимое для создания базы данных, а так же несложного и в то же время удобного клиентского приложения. А так как Access имеет встроенный язык VBA, функционал базы данных можно расширить до внушительных размеров. Access входит в пакет офисных приложений Microsoft Office, благодаря чему клиентское приложение можно запустить практически на любом компьютере, где установлен данный пакет, без особых на то усилий.

3.2 Разработка приложения

Структура клиентского приложения включает в себя главную форму и семь, подчиненных ей, форм:

Рисунок 5: Схема клиентского приложения

Главная форма – форма, которую видит перед собой пользователь при запуске приложения.

Аптека – форма, на которой находится информация о препаратах, находящихся в аптеке и готовых к продаже. Форма имеет фильтр по назначению медикаментов, что позволяет быстро найти необходимый препарат. Так же, с помощью нажатий на соответствующие кнопки, можно увидеть, какие медикаменты были привезены из Санкт-Петербурга и самые продаваемые медикаменты.

23 стр., 11426 слов

Мерчандайзинг в аптеке

... главная задача состоит в скорейшей реализации товаров в пункте продажи и организацию общего увеличения объемов продаж. Первейшей целью сбыта является увеличение общего объема покупок в аптеке путем облегчения ... о продукте до потребителя и эффективная система управления продажами. Долгое время управление продажами в фармацевтической (как и в других) сфере осуществлялось на основе опыта и интуиции. ...

Сотрудники – на этой форме указана информация о сотрудниках аптеки и, если это аптекарь, то можно увидеть какие продажи он совершал.

Продажи – форма, на которой находится информация о когда-либо совершенных продажах. С помощью кнопок на этой форме можно вывести ФИО аптекарей, которые совершали продажи в тот или иной день, либо вывести список медикаментов, которые были привезены в тот или иной день.

Медикаменты в продажах – данная форма служит для того, чтобы увидеть какие медикаменты в каких продажах участвовали.

Поставщики – форма содержит информацию о поставщиках, которые снабжают аптеку необходимыми медикаментами. По нажатию на кнопку «Больше одной поставки» будет выведен список названий поставщиков, которые осуществляли поставки в аптеку более одного раза.

Поставки – на данной форме указано, когда и каким поставщиком были осуществлены поставки медикаментов в аптеку. По нажатию на соответствующие кнопки можно вывести названия поставщиков, которые осуществляли поставки в тот или иной день, названия и количества медикаментов в интересующей поставке, либо названия и цены, по которым поставлялись медикаменты в интересующей день.

Медикаменты в поставках – форма, на которой можно увидеть какие медикаменты в каких поставках, в каких количествах и по каким ценам поставлялись.

Выход – кнопка на главной форме, по нажатию на которую осуществляется выход из приложения.

4 СТРУКТУРЫ ТАБЛИЦ

Рисунок 6: Таблица «Аптека»

Рисунок 7: Таблица «Поставка»

Рисунок 8: Таблица «Поставщики»

Рисунок 9: Таблица «Продажи»

Рисунок 10: Таблица «ПродТов»

Рисунок 11: Таблица «Сотрудники»

Рисунок 12: Таблица «ТовВПост»

5 РЕАЛИЗАЦИЯ ФУНКЦИЙ

В информационной системе «Аптека» реализовано восемь запросов на языке SQL.

SQL – язык для формирования, манипулирования и извлечения данных из реляционных БД. Одна из причин популярности реляционных БД в том, что, будучи правильно спроектированными, они могут оперировать гигантскими объемами данных. В работе с большими наборами данных SQL напоминает современную цифровую фотокамеру с мощным объективом: он позволяет просматривать большие объемы данных или перейти к «крупному плану», т.е. сфокусироваться на отдельных строках.[3].

Ниже представлены восемь SQL-запросов на выборку:

1) предоставление списка медикаментов, которые были поставлены из Санкт-Петербурга:

SELECT Название

FROM Аптека

WHERE [ID медикамента] in (SELECT [ID медикамента]

FROM ТовВПост

WHERE [ID поставки] in (SELECT [ID поставки]

FROM Поставка

WHERE [ID поставщика] in (SELECT [ID поставщика]

FROM Поставщики

WHERE Адрес like «*Санкт-Петербург*»)));

2) нахождение самого продаваемого медикамента:

SELECT Название

FROM Аптека

WHERE [ID медикамента] in (SELECT TOP 1 [ID медикамента]

FROM ПродТов

GROUP BY [ID медикамента]

ORDER BY Sum(Количество) DESC);

3) нахождение поставщиков, которые осуществляли поставки более одного раза:

SELECT Название

15 стр., 7190 слов

Курсовая №4203 Повышение эффективности продаж на примере ООО «Мир инструментов»

... часть жизненного цикла товара вид деятельности удовлетворяющий потребности потребителя искусство в отношении менеджера по продажам сфера взаимодействия и взаимоотношений глубоко мотивированный вид деятельности». [1 ... субъекта в условиях конкурентной среды рассмотрим существующие определения понятий «продажа» «продажи» и «система продаж». Так по мнению Б.А. Райзберга Л.Ш. Лозовского Е.Б. Стародубцева ...

FROM Поставщики

WHERE [ID поставщика] in (SELECT [ID поставщика]

FROM Поставка group by [ID поставщика] having count([ID поставки]) > 1);

4) вывод списка поставщиков, которые осуществляли поставки за конкретное число:

SELECT Название

FROM Поставщики

WHERE [ID поставщика] in (SELECT [ID поставщика]

FROM Поставка

WHERE Дата = [Дата поставки]);

5) вывод списка медикаментов и их количества, в конкретной

поставке:

SELECT [Аптека].[Название], [ТовВПост].[Количество]

FROM Аптека INNER JOIN ТовВПост ON Аптека.[ID медикамента] =

ТовВПост.[ID медикамента]

WHERE [ID поставки]=[Введите ID поставки];

6) вывод списка медикаментов с ценами, по которым они были поставлены в конкретной поставке:

SELECT [Аптека].[Название], [ТовВПост].[Цена]

FROM Аптека INNER JOIN ТовВПост ON Аптека.[ID медикамента] =

ТовВПост.[ID медикамента]

WHERE [ID поставки]=[Введите ID поставки];

7) вывод фамилий, имён и отчеств аптекарей, который осуществляли продажи конкретного числа:

SELECT Фамилия, Имя, Отчество

FROM Сотрудники

WHERE [ID сотрудника] in (SELECT [ID сотрудника]

FROM Продажи

WHERE Дата = [Дата продажи]);

8) вывод списка медикаментов, который были проданы конкретного числа:

SELECT Название

FROM Аптека

WHERE [ID медикамента] in (SELECT [ID медикамента]

FROM ПродТов

WHERE [ID продажи] in (SELECT [ID продажи]

FROM Продажи

WHERE Дата = [Дата продажи])).

Также, для обеспечения необходимого функционала использовались следующие макросы:

1) Запрос Медикаменты из Питера – макрос служит для реализации запроса, который выводит список медикаментов, поставленных из Санкт-Петербурга;

2) Запрос Назв и Колич по поставке – реализация запроса, который выводит названия и количества медикаментов в интересующей поставке;

3) Запрос Названия и Цены по поставке – реализация запроса, который выводит список медикаментов и цен, по которым они были поставлены в интересующей поставке;

4) Запрос Поставка больше 1 раза – реализация запроса, который выводит названия поставщиков, осуществлявших поставку медикаментов более одного раза;

5) Запрос Продажи за конкретное число – реализация запроса, который выводит список медикаментов, проданных конкретного числа;

6) Запрос Самый продаваемый медикамент – реализация запроса, который выводит самые продаваемые медикаменты;

7) Назначение – данный макрос служит для фильтрации медикаментов в аптеке по назначению;

8) Показать все – макрос отменяет фильтр по назначению, благодаря чему снова можно увидеть весь список медикаментов.

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ

[Электронный ресурс]//URL: https://litfac.ru/chast/sozdanie-bazyi-dannyih-v-predmetnoy-oblasti-apteka/

1. Конспект по предмету «РиЭУБД» преподавателя Г.Т.Шпак.

2. Методичка «Создание приложений баз данных».

3. Изучаем SQL. А. Бьюли — СПБ: Символ-Плюс, 2007 г. – 309с., ил.

5. Access 2007. Эффективное использование. В.Е.Кошелев – Москва: Бином, 2008г. – 593с.

ПРИЛОЖЕНИЕ А

Заполненные таблицы

Рисунок А1: Заполненная таблица «Аптека»

4 стр., 1872 слов

Преодоление возражений. Искусство продаж в аптеке

... он должен купить препарат именно в этой аптеке, и обоснование цены. В этом случае неприемлема критика конкурентов. 2. Метод продажи преимуществ. Факторы, которые необходимо использовать при ... начала конфликта. При общении со «склочниками» нужно просто сохранять вежливость, хладнокровие. Методы работы с недовольными покупателями. Выпустить пар. Дайте клиенту возможность высказать свое недовольство и ...

Рисунок А2: Заполненная таблица «Поставка»

Рисунок А3: Заполненная таблица «Поставщики»

Рисунок А4: Заполненная таблица «Продажи»

Рисунок А5: Заполненная таблица «ПродТов»

Рисунок А6: Заполненная таблица «Сотрудники»

Рисунок А7: Заполненная таблица «ТовВПост»

ПРИЛОЖЕНИЕ Б

Формы клиентского приложения

Рисунок Б1: Главная форма приложения

Рисунок Б2: Форма «Аптека»

Рисунок Б3: Форма «Поставщики»

Рисунок Б4: Форма «Поставки»

Рисунок Б5: Форма «Медикаменты в поставках»

Рисунок Б6: Форма «Сотрудники»

Рисунок Б7: Форма «Продажи»

Рисунок Б8: Форма «Медикаменты в продажах»