Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка Access.doc
Скачиваний:
89
Добавлен:
27.02.2016
Размер:
3.26 Mб
Скачать

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

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

Отношения между таблицами можно объявить при наличии в связываемых таблицах одинаковых полей. Именно через эти поля и будет осуществляться связь. В большинстве случаев с ключевым полем одной таблицы, являющимся уникальным идентификатором каждой записи, связывается внешний ключ другой таблицы. Внешний ключ – это поле (или поля) во второй таблице, содержащие такой же тип данных, что и ключевое поле в первой таблице.

Ключевое поле называют также первичным ключом, а внешний ключ – вторичным ключом.

Существует три типа связей:

  • один-ко-многим;

  • один-к-одному;

  • много-ко-многим.

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

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

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

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

Для определения связей между таблицами необходимо выполнить следующие действия:

1. Закройте все открытые таблицы. Создавать или изменять связи между открытыми таблицами нельзя.

2. Переключитесь в окно базы данных и нажмите кнопку Схема данныхна панели инструментов.

3. Если в базе данных не определено никаких связей, то на экран автоматически будет выведено окно Добавление таблицы. Если необходимо добавить таблицы до определения связей, а диалогового окнаДобавление таблицына экране нет, нажмите кнопкуДобавить таблицуна панели инструментов.

4. Дважды щелкните имена таблиц, для которых требуется определить связи. Затем закройте диалоговое окно Добавление таблицы.

5. Для связывания полей выберите поле в одной таблице и перетащите его на соответствующее поле во второй таблице.

Для связывания сразу нескольких полей переместите их при нажатой клавише CTRL.

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

  • поле счетчика можно связывать с числовым полем, если в последнем в свойстве Размер полязадано значение «Длинное целое»;

  • поле счетчика можно связать с числовым, если для обоих полей в свойстве Размер полязадано значение «Код репликации».

6. В диалоговом окне Связи, отображенном на экране, проверьте имена полей, представленные в двух колонках. В случае необходимости внесите изменения.

Если необходимо, установите параметры связи (целостность данных и каскадные операции).

7. Для создания связи нажмите кнопку Создать.