Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Контрольная работа зо+зу.doc
Скачиваний:
66
Добавлен:
11.03.2016
Размер:
19.34 Mб
Скачать

4. Создание связей между таблицами

MS Access поддерживает 3 типа связей между таблицами: «один-к-одному», «один-ко-многим», «много-ко-многим».

  1. Связь «один-к-одному» означает, что каждая запись в одной таблице соответствует только одной записи в другой таблице.

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

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

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

Создание связей между таблицами осуществляется в окне диалога Схема данных.

Определение связей между таблицами БД.

(Рассмотрим на примере определения связи между таблицами ТОВАРЫ и КАТЕГОРИЯ ТОВАРА. Одной записи в первой таблице соответствует только одна запись в другой таблице):

1-й шаг. Закрытие всех таблиц БД.

Нельзя создавать или удалять связи между открытыми таблицами.

2-й шаг. Открытие окна диалога Схема данных.

Для этого нужно выполнить команду Схема данных на вкладке Работа с базой данных в группе Отношения.

3-й шаг. Добавление в окно диалога связываемых таблиц.

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

Рисунок 13 – Диалоговое окно Добавление таблицы

Диалоговое окно Добавления таблицы откроется автоматически, если в базе данных еще не определена ни одна связь. Если окно не открылось (или нужно добавить еще какие-то таблицы из этой БД), тогда на контекстной вкладке Работа со связями | Конструктор в группе Связи нажмите кнопку Отобразить таблицу. В списке таблиц нужно поочередно выбирать связываемые таблицы, нажимая кнопку Добавить (или выполняя двойной щелчок левой кнопки мыши на названии таблицы в диалоговом окне).

После выбора всех необходимых таблиц нужно закрыть диалоговое окно. В окне Схема данных появятся связываемые таблицы. Их месторасположение можно менять. Для этого необходимо выделить таблицу и, удерживая левую кнопку мыши, перемещать ее.

4-й шаг. Установка связей.

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

На экране появляется диалоговое окноИзменение связей (рисунок 14):

Рисунок 14 – Диалоговое окно Изменение связей

Здесь необходимо проверить правильность имен связываемых полей (если нужно – выбрать другие имена полей) и установить обеспечение целостности данных.

Определение целостности данных.

Целостность данных является одним из самых важных требований, предъявляемых к базам данных. Для задания условий целостности данных служат установленные между таблицами отношения.

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

Ограничения:

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

  2. Нельзя удалять записи из главной таблицы, если существуют связанные с ней записи в подчиненной таблице.

  3. Нельзя изменять значение ключевого поля в главной таблице, если имеются записи, связанные с этой записью.

Теперь любая попытка выполнить действие, нарушающее ограничения, приведет к открытию окна диалога с предупреждением, а действие выполнено не будет.

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

Затем нужно нажать кнопку Создать. Такие действия необходимо выполнить со всеми ключевыми полями, чтобы установить связи между таблицами БД, После этого окно Схема данных примет иной вид (рис. 15):

Рисунок 15 – Окно диалога Схема данных после установки связей

Изменение существующей связи.

Изменять связи также можно только тогда, когда все таблицы закрыты.

1-й шаг. Перейти на вкладку Работа с базами данных, выполнить команду Схема данных.

2-й шаг. Если таблицы, связи между которыми требуется изменить, не отображаются в окне диалога Схема данных, нажмите кнопку Отобразить таблицу, выберите нужную таблицу, затем нажмите кнопку Закрыть.

3-й шаг. Установите указатель мыши на линию связи, которую требуется изменить, и дважды щелкните левой кнопкой. Откроется диалоговое окно Изменение связей, где вносятся нужные изменения (рисунок 16).

Рисунок 16 – Диалоговое окно Изменение связей

Удаление связи.

1-й шаг. Перейти на вкладку Работа с базами данных, выполнить команду Схема данных.

2-й шаг. Выделить мышью линию связи, которую нужно удалить.

3-й шаг. Нажать клавишу <Delete>.

Аналогично в окне диалога Схема данных можно удалить таблицу из макета схемы данных (при этом таблица и ее связи сохранится в базе данных).