Стратегії забезпечення посилальної цілісності
„ Висячі” кортежі, тобто такі, зовнішній ключ яких посилається на неіснуючий власний ключ, потенційно можуть утворюватись при:
- Додаванні кортежів у відношення зовнішнього ключа;
- Зміни значень як власного, так і зовнішнього ключів;
- Видалення кортежів власного ключа.
Існують 3 стратегії забезпечення посилальної цілісності, тобто запобігання утворенню висячих посилань зовнішнього ключа.
- По замовчанню – заборона таких операцій, які порушують цілісність.
- Стратегія каскадної модифікації передбачає видалення або оновлення висячих кортежів відношення, яке містить зовнішній ключ, у відповідності зі змінами у відношенні власного ключа.
- Видалення кортежів власного ключа тягне видалення відповідних кортежів зовнішнього ключа. В команді CREATE TABLE позначається
ON DELETE CASCADE
- Зміна значень власного ключа тягне таку ж зміну значень зовнішнього ключа. В команді CREATE TABLE позначається
ON UPDATE CASCADE
- Стратегія set-null передбачає присвоєння NULL компонентам зовнішнього ключа кожного з висячих кортежів. Відповідні речення в команді CREATE TABLE:
ON DELETE SET NULL
ON UPDATE SET NULL
Приклад 14.3. Розглянемо оголошення відношення студій, яке містить зовнішній ключ, що посилається на відношення президентів (містить власний ключ).
Рис.14.9. Приклад оголошення стратегій забезпечення посилальної цілісності
Відповідно до рис.14.7 передбачаються дії:
- Якщо президента звільнено, студія тимчасово працює без президента (рядок 5).
- Якщо у президента змінився номер, він автоматично змінюється у відношенні Studio (рядок 6).