Ограничение внешнего ключа в MS SQL и ссылочные действия

Ограничение внешнего ключа в MS SQL (Microsoft SQL Server) — это правило, которое обеспечивает целостность данных путем обеспечения ссылочной целостности между таблицами. Он используется для обеспечения согласованности и точности связей между таблицами.

Вот несколько методов, связанных с ограничениями внешнего ключа в MS SQL:

  1. Создание ограничения внешнего ключа:

    • Использование оператора ALTER TABLE. Вы можете добавить ограничение внешнего ключа к существующей таблице, используя оператор ALTER TABLE с предложением ADD CONSTRAINT.
    • Использование оператора CREATE TABLE: вы можете определить ограничение внешнего ключа при создании новой таблицы с помощью предложения REFERENCES.
  2. Определение ссылочных действий:

    • НА КАСКАДНОМ УДАЛЕНИИ: это действие автоматически удаляет все строки в дочерней таблице при удалении соответствующей строки в родительской таблице.
    • ПРИ КАСКАДНОМ ОБНОВЛЕНИИ: это действие автоматически обновляет все значения внешнего ключа в дочерней таблице при обновлении соответствующего ключа в родительской таблице.
    • ON DELETE SET NULL: это действие устанавливает для значений внешнего ключа в дочерней таблице значение NULL при удалении соответствующей строки в родительской таблице.
    • ON UPDATE SET NULL: это действие устанавливает для значений внешнего ключа в дочерней таблице значение NULL при обновлении соответствующего ключа в родительской таблице.
  3. Отключение и включение ограничений внешнего ключа:

    • ALTER TABLE…NOCHECK: этот оператор временно отключает ограничение внешнего ключа, позволяя выполнять действия, которые в противном случае нарушили бы ограничение.
    • ALTER TABLE…CHECK: этот оператор включает ограничение внешнего ключа после его отключения.
  4. Удаление ограничения внешнего ключа:

    • Использование оператора ALTER TABLE: вы можете удалить ограничение внешнего ключа из существующей таблицы, используя оператор ALTER TABLE с предложением DROP CONSTRAINT.