Справочник от Автор24
Найди эксперта для помощи в учебе
Найти эксперта
+2

Контроль целостности связей

Среди всех видов связей наиболее часто используется связь 1:М.

Частным случаем связи 1:М можно считать связь 1:1, когда одна запись вспомогательной таблицы соответствует одной записи главной таблицы.

«Зеркальным отображением» связи 1:М является, по сути, связь М:1. Слабым видом связи или даже отсутствием связи является связь М:М.

В дальнейшем будем рассматривать связь 1:М.

Т.к. при образовании связи 1:М одной записи главной таблицы (главной, родительской записи) ставится в соответствие несколько записей дополнительной (дополнительных, подчиненных записей), тогда будет иметь место схема (рисунок 1).

Связь 1:М двух таблиц

Контроль целостности связей заключается в анализе содержимого двух таблиц, в результате которого определяется, соответствуют ли они следующим правилам:

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

Рассмотрим действие контроля целостности при выполнении операций над данными в таблицах.

Над данными таблиц могут выполняться 3 основные операции:

  • ввода новых записей,
  • изменения записей,
  • удаления записей.

Ввод новых записей

Замечание 1

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

«Контроль целостности связей» 👇
Помощь эксперта по теме работы
Найти эксперта
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ

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

Изменение записей

Модификация значений полей связанных записей, которые не относятся к полям связи, должна происходить обычным образом.

Рассмотрим механизм модификации полей связи.

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

Другими словами дополнительная запись может получить нового родителя, но не должна без него остаться.

При редактировании поля связи основной таблицы необходимо придерживаться одного из таких правил:

  • выполнять редактирование записи, которая не имеет подчиненных записей. Если подчиненные записи имеются, то выполнять блокирование изменения полей связи;
  • модификацию в полях связи основной записи необходимо сразу же передавать во все поля связи существующих записей дополнительной таблицы (так называемое каскадное обновление).

Удаление записей

При удалении записей связанных таблиц удаление записей дополнительной таблицы должно выполняться практически без всякого контроля.

При удалении записей основной таблицы необходимо обеспечить выполнение одного из таких правил:

  • возможно удаление записи, не имеющей подчиненных записей;
  • выполнять блокирование (запретить) удаления записи в случае, если есть подчиненные записи, или обеспечить ее удаление вместе со всеми подчиненными записями (так называемое каскадное удаление).
Дата написания статьи: 01.08.2016
Найди решение своей задачи среди 1 000 000 ответов
Крупнейшая русскоязычная библиотека студенческих решенных задач
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot