Глава 3
ДОГОВОР
→
ПОСТАВКА_ПЛАН (ключ
НОМ_ДОГ
), ТОВАР
→
ОТГРУЗКА (ключ
КОД_ТОВ
), ТОВАР
→
ПОСТАВКА_ПЛАН (ключ
КОД_ТОВ
), ДОГОВОР
→
НАКЛАД-
НАЯ (ключ
НОМ_ДОГ
).
З
АМЕЧАНИЕ
Кнопка
Новое
(Create New) в окне
Изменение связей
(Edit Relationships)
позволяет
перейти к созданию связи между любыми двумя таблицами базы, не выходя в окно
схемы данных.
Определение связей по составному ключу
Определим связи
между таблицами НАКЛАДНАЯ
→
ОТГРУЗКА, которые связаны
по составному ключу
НОМ_НАКЛ + КОД_СК
. Для этого в главной таблице
НАКЛАДНАЯ выделим оба этих поля, нажав клавишу , и перетащим их
в подчиненную таблицу ОТГРУЗКА.
В окне
Изменение
связей
(Edit Relationships) (рис. 3.52) для каждого поля состав-
ного ключа главной таблицы НАКЛАДНАЯ, названной
Таблица/запрос
(Table/Query) выберем соответствующее поле подчиненной таблицы ОТГРУЗКА,
названной
Связанная
таблица/запрос
(Related Table/Query).
Рис. 3.52.
Окно определения связи
между таблицами НАКЛАДНАЯ и ОТГРУЗКА
Обеспечение целостности данных
Если связываемые в схеме данных таблицы находятся в отношении 1 : 1 и 1 : М,
для связи можно задать параметр обеспечения связной целостности данных. Обес-
печение связной целостности данных означает, что Access при корректировке дан-
ных связанных таблиц контролирует соблюдение следующих условий:
в подчиненную таблицу не может быть добавлена запись с несуществующим
в записях главной таблицы значением ключа связи;
в главной таблице нельзя удалить запись, если не удалены связанные с ней запи-
си в подчиненной таблице;
Создание базы данных
149
изменение значений ключа связи в записи главной таблицы невозможно, если
подчиненная таблица имеет связанные с ней записи, в которых соответственно
не меняется ключ связи.
При попытке пользователя нарушить эти условия в операциях добавления и удале-
ния записей или обновления ключевых данных в связанных таблицах, Access не
допускает выполнения операции и выводит соответствующее сообщение. Access не
позволяет установить параметр целостности для связи таблиц, если ранее введен-
ные в таблицы данные не отвечают требованиям целостности.
Установление между двумя таблицами связи и задание для нее параметров целост-
ности данных возможно только при следующих условиях:
связываемые поля имеют одинаковый тип данных, при этом имена полей могут
быть различными;
обе таблицы сохраняются в одной базе данных Access;
главная таблица связывается с подчиненной по первичному простому или со-
ставному ключу или уникальному индексу главной таблицы.
Для каждой из ранее установленных связей базы данных "Поставка товаров"
уста-
новим в окне
Изменение
связей
(Edit Relationships) флажок
Обеспечение
целост-
ности
данных
(Enforce Referential Integrity). Установление связи с
параметром
обеспечения целостности данных возможно только в том случае, если таблицы ра-
нее были заполнены корректными данными. В противном случае появится сообще-
ние о невозможности установить связь. Например, если эти условия целостности не
соблюдены для ранее загруженных данных таблиц ПОКУПАТЕЛЬ и ДОГОВОР, то
при попытке установить параметр обеспечения целостности выдается сообщение,
показанное на рис. 3.53.
Рис. 3.53.
Сообщение о невозможности установить параметр целостности для связи
Каскадное обновление и удаление связанных записей
Если для выбранной связи обеспечивается поддержание целостности, можно задать
режим
каскадного
удаления связанных записей
и режим
каскадного
обновления
свя-
занных полей
. Такие параметры делают возможным в главной таблице, соответст-
венно, удаление записей и изменение значения в ключевом поле, т. к. при этих па-
раметрах система автоматически выполнит необходимые изменения в подчинен-
ных таблицах, обеспечив сохранение свойств целостности базы данных.
150
Do'stlaringiz bilan baham: |