ому, що допускається виконання необхідної транзакції і при цьому вносяться відповідні зміни до тих відносинах, які пов'язані з поточному (з тим, в який в даний момент проводиться транзакція). Зміни у відносинах, пов'язаних з поточному реалізуються з метою не допустити порушення посилальної цілісності і зберегти при цьому всі наявні зв'язки. Найчастіше зміна починається в батьківському відношенні і каскадно виконується у породженому відношенні. Слід зауважити, що останнє може в свою чергу виступати як материнського для будь-яких інших відносин. У зв'язку з цим може виникнути необхідність відповідних змінах (транзакцій) і в цих відносинах. Якщо при цьому будь-яка з каскадних операцій (будь-якого рівня) не може бути виконана, то необхідно відмовитися від первинної операції і повернути базу даних в початковий стан. Це найскладніша стратегія, але вона хороша тим, що при цьому не порушується зв'язок між кортежами батьківського та дочірнього відносин. p align="justify"> Стратегія установки невизначеного значення допускає виконання необхідної операції, при цьому всі виникаючі некоректні значення зовнішніх ключів повинні бути змінені на null-значення. Ця стратегія має два недоліки. По-перше, для неї потрібно допустити використання null-значень. По-друге, кортежі дочірнього відносини втрачають всякий зв'язок з кортежами батьківського ставлення. Установити, з яким кортежем батьківського ставлення були пов'язані змінені кортежі дочірнього відносини, після виконання операції вже не можна. На практиці така стратегія використовується вкрай рідко. p align="justify"> Як було зазначено раніше, в деяких випадках для підтримки посилальної цілісності використовується стратегія установки за замовчуванням. У рамках даної стратегії дозволяється виконання необхідної операції, але всі виникаючі некоректні значення зовнішніх ключів при цьому змінюються на деяке значення, яке прийняте за замовчуванням. Гідність цієї стратегії в порівнянні з попередньої в тому, що вона дозволяє не користуватися null-значень. Недоліки полягають у наступному. По-перше, в батьківських му відношенні повинен бути якийсь кортеж, потенційний ключ якого прийнятий як значення за замовчуванням для зовнішніх ключів. В якості такого "кортежу за замовчуванням" зазвичай приймають спеціальний кортеж, заповнений нульовими значеннями (Не null-значеннями!). Цей кортеж не можна видаляти з батьківського ставлення, і в цьому кортежі не можна змінювати значення потенційного ключа. Таким чином, не всі кортежі батьківського відносини стають рівнозначними, тому доводиться докладати додаткових зусиль для відстеження цієї неравнозначности. Це плата за відмову від використання null-значень. По-друге, як і в попередньому випадку, кортежі дочірнього відносини втрачають всякий зв'язок з кортежами батьківського ставлення. Установити, з яким кортежем батьківського ставлення були пов'язані змінені кортежі дочірнього відносини, після виконання операції вже не можна. p ...