Скачиваний:
16
Добавлен:
13.02.2014
Размер:
1.28 Mб
Скачать

Средний уровень интеллекта пользователя

Наличие опыта работы с другими приложениями баз данных или электронных таблиц позволяет предположить знание основ функционирования этих приложений и понимание назначения баз данных. В отличие от многих других приложений баз данных Microsoft Access позволяет создавать реляционные базы данных. Реляционная база данных - база данных, хранящая данные в таблицах. Для задания отношений между таблицами в реляционных базах данных используются совпадающие значения из столбцов различных таблиц. Как правило, в реляционных базах данных каждый вид данных содержится только в одном месте.

После создания в базе данных Microsoft Access отдельных таблиц по каждой теме необходимо выбрать способ, которым Microsoft Access будет вновь объединять сведения таблиц. Первым делом следует определить связи между таблицами. После этого можно создать запросы, формы и отчеты для одновременного отображения сведений из нескольких таблиц. Например, следующая форма включает сведения из трех таблиц: Таблица покупатели, Товары, Продажа (см. рисунок 6).

Рисунок 6 – Форма «Заказы»

В приведенном примере поля в трех таблицах должны быть скоординированы таким образом, чтобы отображать сведения об одной и той же продаже. Эта координация осуществляется путем установления связей между таблицами. Связь между таблицами устанавливает отношения между совпадающими значениями в ключевых полях, обычно между полями, имеющими одинаковые имена в обеих таблицах. В большинстве случаев с ключевым полем одной таблицы, являющимся уникальным идентификатором каждой записи, связывается внешний ключ другой таблицы. Например, для связывания покупателей с продажами, за которые они отвечают, следует создать отношение между полями «Код покупателя» (см. рисунок 7).

Рисунок 7 – «Схема данных»

Тип отношения в создаваемой Microsoft Access связи зависит от способа определения связываемых полей.

Отношение «один-ко-многим» является наиболее часто используемым типом связи между таблицами. В отношении «один-ко-многим» каждой записи в таблице A могут соответствовать несколько записей в таблице B, но запись в таблице B не может иметь более одной соответствующей ей записи в таблице A.

При отношении «многие-ко-многим» одной записи в таблице A могут соответствовать несколько записей в таблице B, а одной записи в таблице B несколько записей в таблице A. Этот тип связи возможен только с помощью третьей (связующей) таблицы, первичный ключ  (Первичный ключ. Одно или несколько полей (столбцов), комбинация значений которых однозначно определяет каждую запись в таблице. Первичный ключ не допускает значений Null и всегда должен иметь уникальный индекс. Первичный ключ используется для связывания таблицы с внешними ключами в других таблицах.) которой состоит из двух полей, которые являются внешними ключами (Внешний ключ. Одно или несколько полей (столбцов) в таблице, содержащих ссылку на поле или поля первичного ключа в другой таблице. Внешний ключ определяет способ объединения таблиц.) таблиц A и B. Отношение «многие-ко-многим» по сути дела представляет собой два отношения «один-ко-многим» с третьей таблицей. Например, отношение «многие-ко-многим» между таблицами «Заказы» и «Товары» определяется путем создания двух отношений «один-ко-многим» с таблицей «Заказано». В одном заказе может быть много товаров, а каждый товар может появляться в нескольких заказах.

При отношении «один-к-одному» каждая запись в таблице A может иметь не более одной связанной записи в таблице B и наоборот. Отношения этого типа используются не очень часто, поскольку большая часть сведений, связанных таким образом, может быть помещена в одну таблицу. Отношение «один-к-одному» может использоваться для разделения таблиц, содержащих много полей, для отделения части таблицы по соображениям безопасности, а также для сохранения сведений, относящихся к подмножеству записей в главной таблице. Например, можно создать таблицу для отслеживания участия сотрудников в благотворительных спортивных мероприятиях.

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

- связанное поле главной таблицы является ключевым полем или имеет уникальный индекс.

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

- обе таблицы принадлежат одной базе данных Microsoft Access. Если таблицы являются связанными, то они должны быть таблицами формата Microsoft Access. Для установки целостности данных база данных, в которой находятся таблицы, должна быть открыта. Для связанных таблиц из баз данных других форматов установить целостность данных невозможно.

При использовании условий целостности данных действуют следующие правила.

- невозможно ввести в поле внешнего ключа связанной таблицы значение, не содержащееся в ключевом поле главной таблицы. Однако в поле внешнего ключа возможен ввод значений Null (Null. Значение, которое можно ввести в поле или использовать в выражениях и запросах для указания отсутствующих или неизвестных данных. В Visual Basic ключевое слово Null указывает значение Null. Некоторые поля, такие как поля первичного ключа, не могут содержать значения Null.), показывающих, что записи не являются связанными. Например, нельзя сохранить запись, регистрирующую заказ, сделанный несуществующим клиентом, но можно создать запись для заказа, который пока не отнесен ни к одному из клиентов, если ввести значение Null в поле «Код Покупателя».

- не допускается удаление записи из главной таблицы, если существуют связанные с ней записи в подчиненной таблице. Например, невозможно удалить запись из таблицы «Консультанты», если в таблице «Заказы» имеются заказы, относящиеся к данному консультанту.

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

Каскадное обновление и удаление.

Для отношений, в которых проверяется целостность данных, пользователь имеет возможность указать, следует ли автоматически выполнять для связанных записей операции каскадного обновления (Каскадное обновление. Средство поддержания целостности данных в связанных таблицах, обеспечивающее обновление всех связанных записей в подчиненной таблице или таблицах при изменении записи в главной таблице.) и каскадного удаления (Каскадное удаление. Средство поддержания целостности данных в связанных таблицах, обеспечивающее удаление всех связанных записей в подчиненной таблице или таблицах при удалении записи в главной таблице.). Если включить данные параметры, станут возможными операции удаления и обновления, которые в противном случае запрещены условиями целостности данных. Чтобы обеспечить целостность данных при удалении записей или изменении значения первичного ключа (Первичный ключ. Одно или несколько полей (столбцов), комбинация значений которых однозначно определяет каждую запись в таблице. Первичный ключ не допускает значений Null и всегда должен иметь уникальный индекс. Первичный ключ используется для связывания таблицы с внешними ключами в других таблицах.) в главной таблице (Главная таблица. Таблица на стороне «один» при связи двух таблиц с отношением «один-ко-многим». В главной таблице должен существовать первичный ключ, а все записи в ней должны быть уникальными.), автоматически вносятся необходимые изменения в связанные таблицы.

Если при определении отношения установить флажок Каскадное обновление связанных полей, любое изменение значения первичного ключа главной таблицы приведет к автоматическому обновлению соответствующих значений во всех связанных записях. Например, при изменении кода покупателя в таблице «Покупатели» будет автоматически обновлено поле «Код Покупателя» во всех записях таблицы «Продажа» для заказов каждого покупателя, поэтому целостность данных не будет нарушена. Microsoft Access выполнит каскадное обновление без ввода предупреждающих сообщений.

Примечание.  Если в главной таблице ключевым полем является поле счетчика (Тип данных «Счетчик». Тип данных поля в базе данных Microsoft Access, в котором для каждой добавляемой в таблицу записи в поле автоматически заносится уникальное числовое значение. Поле счетчика может содержать значения трех типов: последовательные, случайные и коды репликации.), то установка флажка Каскадное обновление связанных полей не приведет к каким-либо результатам, так как изменить значение поля счетчика невозможно.

Если при определении отношения установить флажок Каскадное удаление связанных записей, любое удаление записи в главной таблице приведет к автоматическому удалению связанных записей в подчиненной таблице. Например, при удалении из таблицы «Покупатели» записи конкретного покупателя будут автоматически удалены все связанные записи в таблице «Продажа» (а также записи в таблице «Заказы», связанные с записями в таблице «Продажа»). Если записи удаляются из формы или таблицы при установленном флажке Каскадное удаление связанных записей, Microsoft Access выводит предупреждение о возможности удаления связанных записей. Если же записи удаляются с помощью запроса на удаление (Запрос на удаление. Запрос (инструкция SQL), в котором из одной или нескольких таблиц удаляются записи, удовлетворяющие указанному условию отбора.), то Microsoft Access удаляет записи автоматически без вывода предупреждения.

Создание, изменение и удаление кнопочных форм (MDB)

Для создания, изменения и удаления кнопочных форм служит диспетчер кнопочных форм.

Создание кнопочной формы

1 Откройте базу данных.

2 В меню Сервис выберите команду Служебные программы, а затем Диспетчер кнопочных форм.

3 Если выводится запрос на подтверждение создания кнопочной формы, нажмите кнопку Да.

4 Нажмите кнопку Создать.

5 Введите имя новой кнопочной формы и нажмите кнопку OK.

Имя новой кнопочной формы добавляется в поле Страницы кнопочной формы.

6 Выберите имя новой кнопочной формы и нажмите кнопку Изменить.

7 Нажмите кнопку Создать.

8 В поле Текст введите текст для первой кнопки кнопочной формы, а затем выберите для нее команду в поле Команда. Например, введите текст Просмотр заказов, а затем выберите в поле Команда команду Открыть форму для изменения.

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

9 Для большинства выбранных команд под полем Команда открывается новое поле со списком. При необходимости, выберите нужный элемент в этом поле. Например, если на шаге 8 была выбрана команда Открыть форму для изменения, выберите в поле Форма имя нужной формы, например Заказы, и нажмите кнопку OK.

10 Повторите шаги с 7 по 9 для создания остальных кнопок кнопочной формы.

Примечание.  Чтобы изменить или удалить какую-либо из созданных кнопок, выберите ее имя в списке Элементы данной кнопочной формы и нажмите кнопку Изменить или Удалить. Если требуется изменить порядок элементов кнопочной формы, выберите элемент в списке и воспользуйтесь кнопками Вверх или Вниз.