Сущность фактически представляет собой множество атрибутов, которые описывают свойства всех членов данного набора сущностей. Например, у сущности лекарство были выделены следующие атрибуты:
ЛЕКАРСТВО (ИД_ЛЕКАРСТВА, НАЗВАНИЕ_ЛЕКАРСТВА, АННОТА-ЦИЯ, ФИРМА_ПРОИЗВОДИТЕЛЬ, ЕДИНИЦА_ИЗМЕРЕНИЯ, МЕСТО_ХРА-НЕНИЯ).
Связь (relationship) - это ассоциация, установленная между несколькими сущностями. Пример: поскольку каждое лекарство производит фирма-производитель, то между сущностями ФИРМА_ПРОИЗВОДИТЕЛЬ и ЛЕКАРСТВО существует связь «производит» или ФИРМА_ПРОИЗВО-ДИТЕЛЬ – ЛЕКАРСТВО.
Набор связей (relationship set) - это отношение между n (причем n не меньше 2) сущностями, каждая из которых относится к некоторому набору сущностей.
В случае n=2, т.е. когда связь объединяет две сущности, она называется бинарной. Доказано, что n-арный набор связей (n>2) всегда можно заменить множеством бинарных, однако первые лучше отображают семантику предметной области.
То число сущностей, которое может быть ассоциировано через набор связей с другой сущностью, называют степенью связи. Рассмотрение степеней особенно полезно для бинарных связей. Могут существовать следующие степени бинарных связей:
· Один к одному (обозначается 1 : 1 ). Это означает, что в такой связи сущности с одной ролью всегда соответствует не более одной сущности с другой ролью.
· Один ко многим ( 1 : n ). В данном случае сущности с одной ролью может соответствовать любое число сущностей с другой ролью.
· Много к одному (n : 1 ). Эта связь аналогична отображению 1 : n.
· Многие ко многим (n : n). В этом случае каждая из ассоциированных сущностей может быть представлена любым количеством экземпляров.
Модель «сущность-связь» предметной области «Аптека» представлена на рис.1.1.
Рис.1.1 − Модель данных предметной области «Аптека»
1.3.1 Создание таблиц БД «Аптека»
При реализации базы данных «Аптека» с помощью Microsoft Access были созданы 7 таблиц:
1. Лекарства;
2. Приход;
3. Расход;
4. Производители;
5. Поставщики;
6. Единицы измерения;
7. Места хранения.
Первые три таблицы созданы как основные сущности предметной области. Сущности «Производители», «Поставщики», «Единицы измерения», «Места хранения» являются атрибутами основных сущностей, но вынесены в отдельные таблицы с целью создания выпадающих списков при заполнении основных таблиц.
Опишем основные таблицы и их атрибуты:
· Лекарства обладают следующими атрибутами:
- идентификатор лекарственного средства (ключевое поле);
- наименование лекарства;
- краткая аннотация;
- фирма-производитель;
- единица измерения;
- место хранения.
· Приход:
- идентификатор прихода (ключевое поле);
- препарат;
- дата поступления;
- количество;
- поставщик;
- цена закупки.
· Расход:
- идентификатор расхода (ключевое поле);
- препарат;
- дата реализации;
- количество;
- отпускная цена.
Данные, введенные в таблицы, отражены в приложении А.
1.3.2 Реализация запросов
Запросы используются для просмотра, изменения и анализа данных. Запросы также можно использовать в качестве источников записей для форм, отчетов и страниц доступа к данным. В Microsoft Access есть несколько типов запросов.
· Запросы на выборку. Запрос на выборку является наиболее часто используемым типом запроса. Запросы этого типа возвращают данные из одной или нескольких таблиц и отображают их в виде таблицы, записи в которой можно обновлять (с некоторыми ограничениями). Запросы на выборку можно также использовать для группировки записей и вычисления сумм, средних значений, подсчета записей и нахождения других типов итоговых значений.
· Запросы с параметрами. Запрос с параметрами — это запрос, при выполнении отображающий в собственном диалоговом окне приглашение ввести данные, например условие (Условие. Ограничение, заданное для отбора записей, включаемых в результирующий набор записей запроса или фильтра.) для возвращения записей или значение, которое требуется вставить в поле. Можно разработать запрос, выводящий приглашение на ввод нескольких единиц данных, например двух дат. Затем Microsoft Access может вернуть все записи, приходящиеся на интервал времени между этими датами.
· Перекрестные запросы. Перекрестные запросы используют для расчетов и представления данных в структуре, облегчающей их анализ. Перекрестный запрос подсчитывает сумму, среднее, число значений или выполняет другие статистические расчеты, после чего результаты группируются в виде таблицы по двум наборам данных, один из которых определяет заголовки столбцов, а другой заголовки строк.
· Запросы на изменение. Запросом на изменение называют запрос, который за одну операцию изменяет или перемещает несколько записей. Существует четыре типа запросов на изменение.
- На удаление записи.
- На обновление записи.
- На добавление записей.
- На создание таблицы.
· Запрос SQL. Запрос SQL — это запрос, создаваемый при помощиjavascript:AppendPopup(this,'defSQLString_4'). Язык SQL (Structured Query Language) используется при создании запросов, а также для обновления и управления реляционными базами данных, такими как базы данных Microsoft Access.
В рамках данной курсовой работы была поставлена задача на основе объединенных таблиц создать следующие запросы в режиме конструктора:
- запросы на выборку (выбор символьных данных, числовых, использование масок);
- итоговые запросы;
- запрос с параметром;
- перекрестные запросы.
Был организован запрос на выборку по значению текстового поля, который отображает информацию по приходу лекарственного средства «5-НОК». Результат запроса представлен на рис. 1.2.
Рис.1.2 − Запрос к БД по значению тестового поля
Запрос к БД по значению одного первого символа позволяет получить информацию по приходу всех лекарственных препаратов, название которых начинается с буквы «М» (рис. 1.3).
Рис.1.3 − Запрос к БД по значению тестового поля
В курсовой работе также был организован запрос к БД «Аптека» по значению численного поля. Данный запрос позволяет получить информацию о ле5карственных препаратах, поступивших в аптеку в количестве «10» размерных единиц. Результат работы данного запроса демонстрирует рис. 1.4.
Рис.1.4 − Запрос к БД по значению числового поля
Запрос с параметром, организованный к БД «Аптека», позволяет получить информацию о приходах всех лекарств в заданный пользователем временной интервал. При вызове данного запроса на исполнение появляется диалоговое окно «Введите значение параметра» (рис. 1.5), в котором последовательно необходимо ввести начальную, а затем конечную дату интересующего пользователя временного интервала. Результат работы запроса с параметром, временной интервал для которого задан 01.01.2010-01.05.2010, представлен на рис. 1.6.
Рис.1.5 − Диалоговое окно ввода параметра
Рис.1.6 −Результат работы запроса с параметром
В рамках данной курсовой работы создан запрос, демонстрирующий работу операции группирования данных с использованием функции sum() и использования построителя выражений (рис 1.7). Данный запрос позволяет определить суммы от реализации каждого лекарственного средства по датам реализации. Для отображения указанной суммы было создано новое поле с заголовком «Сумма», вычисляемое как выражение «[Количество реализованного товара]∙[Отпускная цена за штуку]». В данном запросе использовано сортировка данных (по возрастанию) по названию.
Рис.1.7 −Результат работы запроса с использованием построителя выражений и группировки данных
К БД «Аптека» был реализован перекрестный запрос (рис. 1.8), который отражает по датам количество проданного в день лекарственного средства.
Рис.1.8 –Перекрестный запрос: Реализация лекарств по датам
Для работы с БД был создан запрос из объединенных таблиц («Лекарства» и «Реализация») – рис. 1.9-1.10.
Рис.1.9 –Формирование запроса из объединенных таблиц
Рис. 1.10 –Результат работы запроса из объединенных таблиц
1.3.3 Построение форм
Access предоставляет возможность вводить данные как непосредственно в таблицу, так и с помощью форм. Форма в БД − это структурированное окно, которое можно представить так, чтобы оно повторяло форму бланка. Формы создаются из набора отдельных элементов управления.
Внешний вид формы выбирается в зависимости от того, с какой целью она создается. Формы Access позволяют выполнять задания, которые нельзя выполнить в режиме таблицы. Формы позволяют вычислять значения и выводить на экран результат. Источником данных для формы являются записи таблицы или запроса.
Форма предоставляет возможности для: