Кроме связи между объектом и его свойствами, в ИЛМ фиксируются связи между объектами разных классов. Различают связи типа «один к одному» (1:1), «один ко многим» (1:М), «многие к одному» (М:1) и «многие ко многим» (М:М). Иногда эти типы связей называются степенью связи. Кроме степени связи в ИЛМ для характеристики связи между разными сущностями надо указывать так называемый класс принадлежности, который показывает, может ли отсутствовать связь объекта данного класса с каким-либо объектом другого класса. Класс принадлежности сущности должен быть либо обязательным, либо необязательным.
С учетом вышеперечисленных особенностей построения ИЛМ были разработаны восемь объектов данных:
- Объект Карточка клиента содержит: данные о заказчике, дату поступления заказа и исходные данные об объекте для расчетов: площадь объекта, высота стен, окончательный материал пола, стен и потолка.
- Объект Материалы включает: наименование строительного материала, единицы измерения (м.кв., м.п., шт. и т.п.) и стоимость.
- Объект Нормы расхода содержит в себе информацию том, сколько затрачивается того или иного материала на единицу каждого типа работ: наименование или код работ, наименование материала, единицы измерения и количество.
- Объект Единицы измерения содержит вспомогательные сведения о всевозможных единицах измерения различных материалов.
- Объект Работы включает следующие аргументы: наименование, цену на единицу измерения, а так же тип выполняемых работ (штукатурные, малярные и т.п.).
- Объект Типы работ содержит вспомогательные сведения подстановки о всевозможных типах выполняемых работ.
- Объект Список работ предназначен для выборки всех работ, которые необходимо выполнить перед выполнением окончательной работы.
- Объект ЗаказыРаботы является вспомогательным и предназначен для связи объектов Карточка клиента и Список работ, так как между ними должна быть связь «многие ко многим».
На основании описанных свойств объектов и их назначения построим ИЛМ нашей базы данных (см. рис. 3.1).
Работы |
Заказы Работы |
Единицы измерения |
Типы Работ |
Нормы расхода |
Объект | Описание |
Таблица | Содержит информацию об объектах. Поля (столбцы) хранят характеристики объектов, а каждая запись (строка) содержит сведения об объекте. |
Запрос | Фиксирует нужные данные из одной или нескольких таблиц. Для запроса можно использовать запрос по образцу или инструкцию SQL –запросы на выборку и обновление данных. |
Форма | Отражает требования к данным таблиц или запросов. Формы можно распечатать. С помощью формы можно запустить макрос или VBA. |
Отчет | Объект форматирования, вычисления итогов и печати данных. |
Макрос | Описание действий Access в ответ на событие. Макрос открывает другую форму, может проверять поля при изменении его содержимого, открывать таблицы, запросы, просмотр или печать, запустить другой макрос или процедуру VBA. |
Модуль | Программа на языке Visual Basic для приложений, обнаружения ошибки, которые не обнаруживает макрос. Модули могут быть независимыми объектами, содержащими функции, вызываемые из любого приложения или отчета для реакции на события. |
В таблицах хранятся данные. Используя формы, можно выводить данные на экран или изменять их. Формы и отчеты получают данные как непосредственно из таблиц, так и через запросы. Для выполнения вычислений запросы могут использовать встроенные функции или функции, созданные с помощью Visual Basic для приложений.
События в формах или отчетах могут запускать макросы или процедуры VBA. Событие - любое изменение состояния объекта Access, например открытие формы, закрытие формы, ввод новой строки в форму, изменение содержимого текущей записи или элемента управления. Для обработки события можно создать макрос или процедуру VBA, с помощью которых можно предусмотреть реакцию на любое действие пользователя, вплоть до нажатия определенных клавиш во время ввода данных. С помощью макросов и модулей можно изменять ход выполнения приложения; открывать, фильтровать и изменять данные в формах и отчетах; выполнять запросы и создавать новые таблицы. Используя VBA, можно создавать, модифицировать и удалять любой объект Access, обрабатывать данные по строкам и по столбцам или каким-либо другим способом. Можно также вызывать процедуры из библиотек динамической компоновки Windows, чтобы использовать в приложении не только встроенные в Access функции, но и возможности Windows.