Внешние ключи

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

Эти «связующие» поля называются внешними ключами.

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

 

Связи “один-к-одному” и “один-ко-многим”

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

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