Skip to main content
Практика завдань

Що таке referential actions в SQL?

Що таке referential actions в SQL?

Огляд

Referential actions в SQL визначають, як система повинна реагувати на зміни в таблицях, які мають зв'язки між собою. Це важливий аспект для підтримки цілісності даних у реляційних базах даних.

Приклад таблиць

sql
-+-+-+-+--+ | id | user_id | item | +--+-+--+ SELECT usr.username, p.item FROM users usr JOIN purchases p ON usr.id = p.user_id ORDER BY usr.username;

Типи referential actions

RESTRICT

Якщо на рядок з users посилається хоча б один рядок з orders, ми не зможемо видалити. Єдиний спосіб видалити такий запис - це спочатку видалити дані з orders, а тільки після того referential integrity дозволить видалити користувача.

CASCADE

Найбільш небезпечне правило, оскільки воно означає, що при видаленні рядка з таблиці users будуть видалені всі рядки з orders, які посилаються на користувача.

SET NULL

При видаленні користувача з таблиці users всім orders, які на нього посилаються, буде записано NULL в foreign key (user_id).

Застосування правил

Всі ті самі правила застосовуються і для UPDATE-операції, але так як це використовується доволі рідко, на інтервʼю вас будуть запитувати саме про DELETE.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.

Дочитали статтю?
Практика завдань