ак, у нашій базі даних значення полів В«дата початку відпусткиВ» і В«дата закінчення відпусткиВ» є семантично пов'язаними: перша дата є меншою, ніж друга. У цьому випадку слід сформулювати обмеження цілісності в наступному вигляді: В«Для кожного об'єкта заданого класу між значеннями властивостей С1 і С2 повинно завжди виконуватися умова: С1 <С2В».
Важливим аспектом реалізації обмежень семантичної цілісності є те, що на значення властивості можуть накладатися одночасно кілька видів обмежень. Наприклад, значення властивості "вік" в таблиці В«МайстерВ» має обмеження по інтервалу (20-50 років), за форматом (тільки числове значення), також можливий вибір значення зі списку-інтервалу. br/>
1.3.2 Посилальна цілісність даних
Посилальна цілісність у реляційної базі даних - це узгодженість між пов'язаними таблицями. Посилальна цілісність звичайно підтримується шляхом комбінування первинного ключа і зовнішнього ключа. Для дотримання посилальної цілісності потрібно, щоб будь-яке поле в таблиці, оголошене зовнішнім ключем, могло містити тільки значення з поля первинного ключа батьківської таблиці. p align="justify"> Підтримання посилальної цілісності забезпечує семантичну адекватність сукупності взаємопов'язаних реляційних відносин відповідному фрагменту предметної області при виконанні транзакцій (видалення, редагування, додавання кортежів) в окремих реляційних відношеннях.
У практиці реалізації посилальної цілісності найбільш широко використовуються дві стратегії: стратегія обмеження (заборони) і стратегія каскадування, значно рідше - стратегія встановлення значень за замовчуванням, стратегія ігнорування та стратегія установки невизначеного значення (в NULL).
Суть стратегії обмеження полягає в тому, що накладається заборона на транзакції, виконання яких може спричинити за собою порушення посилальної цілісності. Слід зауважити, що дана стратегія є досить простий з точки зору її реалізації. У рамках її виконання належить лише перевірити наявність в дочірньому відношенні кортежів, пов'язаних з активним кортежем в батьківському відношенні. Під активним картежамі будемо розуміти такий картеж, над яким виконується транзакція. При виконанні такої транзакції, як видалення кортежу в основному відношенні, збережеться посилальна цілісність, якщо буде реалізовано наступне обмеження цілісності: В«При спробі видалення кортежу в реляційному відношенніВ« Майстер В»реалізовувати стратегію обмеження (заборони на видалення), за умови, що у породженому відношенні В«ПослугаВ» існують кортежі, безпосередньо пов'язані з видаляється В». Таким чином, при реалізації даної стратегії виконання операції видалення кортежу з основного відносини буде можливим, якщо у породженому відношенні не знайдеться кортежу, безпосередньо пов'язаного з видаляється (для даного випадку - якщо відсутні дані про послуги даного майстр...