Создание базы данных в среде СУБД ACCESS
Далее все примеры будут основаны на версии ACCESS 2007.
Система управления базами данных ACCESS хранит всю информацию, относящуюся к базе данных в одном файле. К этой информации относится – структура и связи таблиц, описываемых моделью данных; запросы к БД; шаблоны экранных форм и отчётов приложения, использующего базу данных; программные коды приложения. Первоначальное создание файла с базой данных в среде ACCESS 2007 происходит следующим образом. Запускается среда ACCESS 2007, в результате чего появляется экранная форма примерно такого вида.
Здесь следует выбрать новую базу данных и задать её имя. В данном примере это имя «УчётЗаказов». Расширение имени файла «accdb» устанавливается самой СУБД и не должно изменяться разработчиком. Справа от имени файла расположена кнопка выбора места размещения файла с базой данных. Папка размещения базы выбирается стандартным образом, поэтому описание этого процесса опускается. Затем нажимается кнопка «Создать». Действия после нажатия этой кнопки будут рассмотрены ниже в разделе «Создание структуры таблиц».
Следует отметить, что СУБД на этом этапе предлагает использование ряда шаблонов приложений. Их интересно опробовать, однако для данного учебного приложения мы будем создавать свои шаблоны.
Рассмотренная выше модель данных отражает состав и взаимосвязь данных, хранимых в базе. Система управления данными позволяет запомнить модель и в дальнейшем использует ее для обеспечения правильного хранения и использования данных. Например, не позволяет ввести данные о заказе для клиента, сведений о котором нет в таблице «Клиенты». Размещение модели данных в среде СУБД ACCESS состоит из двух этапов:
· Создание структур таблиц;
· Объединение структур таблиц в единую схему.
Создание структуры таблиц
Структура каждой таблицы в СУБД ACCESS создается на основе структур таблиц модели. Рассмотрим пример создания структуры таблицы «ЗАКАЗ». После нажатия кнопки создать появляется окно создания таблиц в режиме таблицы. Однако на взгляд автора он несколько не удобен. Поэтому лучше закрыть конструктор создания таблицы в этом режиме и открыть создание таблицы в режиме конструктора как показано на рис. Для этого в ACCESS 2007 необходимо в верхней строке меню выбрать пункт «Создание», а в раскрывшейся панели нажать кнопку с подписью «Конструктор таблиц». Открывшаяся форма (рис. ) позволяет вводить и сохранять структуры таблиц. В левом окне формы отражается список таблиц базы (в начале он пуст). В правом окне заполняются поля, описывающие структуру таблицы – имя поля, тип данных и описание поя.
Рис.
В нем необходимо ввести имена полей таблицы «ЗАКАЗ» и задать типы данных: у первых двух это будет «Числовой», а у последующих «Дата/время». Причем для числовых полей этой таблицы в свойствах поля необходимо выбрать размер поля «Целое». Необходимо отметить, что типы и размеры одинаковых полей во всех таблицах модели должны быть одними и теми же.
Далее следует установить ключ таблицы, выделив поле «Номер заказа» и нажав кнопку в панели инструментов. Для полей «Дата заказа» и «Дата поставки» рекомендуется установить маску ввода. Маска ввода позволяет удобно вводить такие структурированные данные как даты, время, номера телефонов. Для указанных полей лучше выбрать формат поля и маску ввода «Краткий формат даты» (Рис. ).
Рис.
При выборе маски ввода ( кнопка ) появится окно требующее сохранить таблицу. После подтверждения появится окно следующего вида, где нужно указать имя сохраняемой таблицы и нажать ОК.
Такое же окно появляется после создания структуры каждой таблицы. Поскольку в данном случае создается маска ввода, то после сохранения таблицы с заданным именем, появится последовательность окон, в первом из которых надо выбрать «Краткий формат даты» (Рис. ), а затем нажимать кнопки «Далее >» и «Готово». В результате в свойстве поля «Маска ввода» поля «Дата заказа» появится описание маски ввода, имеющий вид:
Создав маски ввода для обоих полей нужно закрыть окно конструктора. А на появившееся сообщение
ответить «Да».
Таким же образом создать структуры остальных таблиц. При создании таблиц СПЕЦИФИКАЦИЯ и ОПЛАТА необходимо помнить, что ключ состоит из двух полей. Чтобы создать такой ключ, надо курсором выделить эти два поля и нажать кнопку . Структура остальных четырёх таблиц вводится аналогичным образом. В итоге список таблиц базы должен выглядеть как показано на рис. …
Объединение структур таблиц в единую схему
Создание схемы базы данных начинается с нажатия кнопки «Схема данных» на панели «Работа с базами данных»
Вместе с появлением пустого окна схемы данных появляется окно выбора таблиц, которые необходимо включить в схему:
Выбрав все таблицы и нажав кнопку «Добавить» получим заготовку схемы.
Теперь необходимо установить связи между таблицами. Для этого необходимо удобнее разместить таблицы на схеме и перемещением курсора при нажатой левой клавише мыши соединить соответствующие поля таблиц. В качестве примера, рассмотрим установление связи таблицы «Клиенты» с таблицей «Заказ» по полю «Код клиента». После установления связи мышкой, появится окно определения параметров связи.
Здесь указано между какими полями каких таблиц устанавливается связь. Автоматически определяется тип связи «один-ко-многим». Принцип определения типа связи следующий: со стороны таблицы «Клиенты» поле «Код клиента» является ключом, то есть его значения не повторяются; со стороны таблицы «Заказ» это простое поле, и его значения могут повторяться. Это означает, что каждому значению поля «Код клиента» таблицы «Клиенты» может соответствовать несколько строк в таблице «Заказ», что соответствует понятию связи «один-ко-многим». Далее необходимо включить обеспечение целостности данных этой связи. Под целостностью данных понимается поддержание соответствия данных в связываемых полях таблиц. Соответствие данных полей означает, что в поле таблицы на стороне «много» » связи не должно появляться значений отсутствующих на стороне «один. Если включено «Обеспечение целостности данных», то СУБД Access не позволит ввести в таблицу «Заказ» данные с кодом клиента отсутствующие в таблице «Клиенты». Если включено «Каскадное обновление связанных полей», то любые изменения в связанных полях на стороне «один», проводимые в одной таблице, автоматически выполняются и в другой. Так, если будет изменен код клиента в таблице «Клиенты», он должен измениться и во всех строках таблицы «Заказ». Иначе нарушится целостность данных в связанных таблицах. То же касается и удаления кода клиенты из таблицы «Клиенты». Действительно, если удалить какой либо код клиента из таблицы «Клиенты», оставив соответствующие записи в таблице «Заказ», то они лишатся смысла, так как будет неизвестно, к какому клиенту они относятся. Поэтому в окне установки связи необходимо «Каскадное удаление связанных полей». Однако необходимо помнить, что включение каскадного удаления в данном случае может привести к удалению всех заказов для данного клиента. Если же снять галочку каскадного удаления, то СУБД просто не даст удалить клиента, для которого в таблице «Заказ» существуют заказы. Нажатие кнопки «Создать» приведёт к созданию соответствующей связи между таблицами. В результате создания всех связей модели подобным образом схема должна принять следующий вид.
Проектирование приложения «Учет и анализ выполнения заказов»
Выполненные ранее этапы позволили создать в среде СУБД ACCESS структуру, которая используется СУБД как набор правил для размещения данных в памяти, контроля за правильностью ввода и поддержания связей между ними. Накопление данных в базе с заданной структурой возможно путем непосредственного заполнения данных в таблицы. Однако такой путь неудобен для пользователя, который будет работать с базой. Действительно, при заполнении, например, таблицы «Заказы» пользователю необходимо самому вести нумерацию заказов, помнить коды клиентов и т.д. ACCESS располагает набором инструментов, с помощью которых можно создать интерфейс с пользователем, позволяющий удобно использовать базу данных для решения конкретных задач. Этот интерфейс состоит из набора взаимосвязанных экранных форм, запросов, печатных форм (отчетов), которые предназначены для решения конкретной задачи управления. В нашем случае это «Учет и анализ выполнения заказов». Этот интерфейс принято называть приложением. Для данной структуры базы данных мы будем разрабатывать одно приложение. В общем случае, для одной базы данных может разрабатываться несколько приложений - по направлениям управленческих задач. Прежде, чем создавать приложение, необходимо разработать его схему. Схема приложения «Учет и анализ выполнения заказов» выглядит так:
Главная (кнопочная) форма является одновременно и заставкой приложения, содержащей общую информацию о приложении и кнопки вызова форм ввода данных, а также печатных форм, содержащих результаты выполнения запросов. Каждая из экранных форм ввода данных позволяет вводить данные в одну или несколько таблиц базы данных с максимальным удобством для пользователя.
Форма «Ввод справочника товаров» обеспечивает заполнение таблицы «Товар». В форме «Ввод списка клиентов» заполняются данные таблицы «Клиенты». Прежде, чем вводить сведения о заказах, в базе уже должны находиться данные указанных таблиц. Форма «Ввод данных о заказах» предназначена для заполнения данными таблиц «Заказы» и «Спецификация». Все эти формы вызываются из главной формы, играющей роль заставки и диспетчера. Форма «Оплата заказов» фиксирует данные об оплате заказов в таблице «Оплата» и вызывается из формы «Ввод данных о заказах». В ней заносятся и отражаются данные только того заказа, который был текущим в форме «Ввод данных о заказах». С помощью указанных форм предполагается внесение в базу данных информации о деятельности рассматриваемого предприятия.
Накапливаемая в базе информация может быть использована для получения ответов на вопросы, используемые в целях анализа деятельности предприятия. В принципе, для этого и создается база данных. Выборка данных из базы выполняется с помощью запросов. В теории баз данных под запросом понимается формализованное требование на манипуляцию данными базы. Под манипуляцией понимается совокупность действий, включающих выборку, изменение и добавление информации в базе данных. В рассматриваемом примере будут использоваться запросы только на выборку данных. Если запрос выполняется регулярно и информация получаемая с его помощью имеет важное значение, ее можно оформить в виде документа. Формируемые в ACCESS документы принято называть отчетами.
Общая схема работы приложения разбивается на две части:
· с помощью экранных форм обеспечивается ввод данных в базу;
· в целях анализа деятельности предприятия из базы данных с помощью запросов выбирается информация, которая может быть оформлена в виде документов – отчетов.