Чтобы обеспечить ссылочную целостность данных при работе со связями «один ко многим», можно использовать следующие подходы:
- Следить за корректностью значений внешнего ключа. studizba.com Внешний ключ дочерней таблицы должен содержать только те значения, которые уже имеются среди значений первичного ключа родительской таблицы. studizba.com
- Использовать стратегии поддержания ссылочной целостности. citforum.ru Некоторые из них:
- Restrict (Ограничить). citforum.ru Не разрешать выполнение операции, которая приводит к нарушению ссылочной целостности. citforum.ru
- CASCADE (Каскадировать). citforum.ru Разрешить выполнение требуемой операции, но внести необходимые поправки в других отношениях, чтобы не допустить нарушения ссылочной целостности и сохранить все имеющиеся связи. citforum.ru
- SET NULL (Установить в NULL). citforum.ru Все некорректные значения внешних ключей изменять на null-значения. citforum.ru
- SET DEFAULT (Установить по умолчанию). citforum.ru Все некорректные значения внешних ключей изменять на некоторое значение, принятое по умолчанию. citforum.ru
- Исключать появление «осиротевших» записей в дочерней таблице. sky.pro Для этого нужно убедиться в наличии корректной записи «родителя». sky.pro
Правила сохранения ссылочной целостности могут выбираться разработчиком в зависимости от предметной области разрабатываемой базы данных и возможностей СУБД. studizba.com