Связи между таблицами в базе данных
Изменение связи между таблицами
Для изменения связи между таблицами, выберите в меню Связи (Relationships) команду Изменить связь (Edit Relationship). В диалоговом окне Изменение связей (Edit Relationship) нажмите кнопку Новое (Create), чтобы создать связь (рис. 23.23).
Рис. 23.23. Изменение связей между таблицами
Чтобы изменить существующую связь, дважды щелкните ее мышью.
Чтобы связать совпадающие поля в главной и связанной таблицах, щелкните, пустую верхнюю ячейку в столбце Таблица/Запрос (Table/Query). В этой ячейке появится кнопка со стрелкой, открывающая список. Выделите в списке совпадающее поле. Затем щелкните, пустую верхнюю ячейку в столбце Связанной таблица/запрос (Related Table/Query) и выберите имя требуемого поля.
После того, как связь между таблицами установлена, их поля можно объединить в запросе, форме или отчете.
Целостность данных
Чтобы поддерживать связи между записями в связанных таблицах, и обеспечить защиту от случайного удаления или, изменения связанных данных используется ряд правил, который обеспечивает целостность данных. Целостность данных позволяет предотвратить появление несвязанных записей. Обе взаимосвязанные таблицы должны принадлежать одной базе данных Access.
Связанные поля должны иметь один тип данных. Два исключения сделаны для поля счетчика: оно может быть связано с числовым полем, свойство которого Размер поля (FieldSize) имеет значение Длинное целое. Кроме того, поле счетчика, свойство Размер поля (FieldSize) которого имеет значение Код репликации, можно связать с числовым полем, если свойство Размер поля (FieldSize) имеет значение Код репликации.
Для установки целостности данных база данных, в которой находятся таблицы, должна быть открыта. Для связанных таблиц из баз данных других форматов установить целостность данных невозможно.
Для поддержания целостности данных в связанных таблицах при обновлении или удалении записи в главной таблице, обеспечивается каскадное обновление или удаление всех связанных записей в подчиненной таблице или таблицах.