Здавалка
Главная | Обратная связь

Класифікація обмежень цілісності. Обмеження цілісності у реляційних БД



Всі правила, чи обмеження цілісності, поділяють на кілька груп за різними ознаками, зокрема:

- за способами реалізації

- за часом перевірки

- за областю дії

- за джерелом.

За способами реалізації розрізняють декларативну і процедурну підтримку обмежень цілісності.

Декларативна підтримка обмежень цілісності полягає у визначенні обмежень засобами мови визначення даних (DDL - Data Definition Language). Декларативні обмеження цілісності можна використовувати при створенні і модифікації таблиць засобами мови DDL чи у вигляді окремих тверджень (ASSERTION).

Процедурна підтримка обмежень цілісності полягає у використанні тригерів і збережених процедур.

За часом перевірки виділяють обмеження, що негайно перевіряються та обмеження з відкладеною перевіркою.

Обмеження з негайною перевіркою перевіряються безпосередньо в момент виконання операції, що може порушити обмеження. Якщо обмеження порушується, то операція відкидається. Транзакція, усередині якої відбулося таке порушення твердження цілісності, відкочується.

Обмеження з відкладеною перевіркою перевіряється в момент фіксації транзакції оператором COMMIT WORK. Усередині транзакції обмеження може не виконуватися. Якщо в момент фіксації транзакції виявляється порушення обмеження з відкладеною перевіркою, то транзакція відкочується.

За областю дії розрізняють:

- обмеження цілісності домену;

- обмеження цілісності атрибуту;

- обмеження цілісності кортежу:

- обмеження цілісності відношення;

- обмеження цілісності бази даних.

Обмеження цілісності домену являють собою обмеження, що накладаються тільки на допустимі значення домену. Обмеження домену мають бути частиною визначення домену Наприклад, обмеженням домену "Вік співробітника" може бути умова "Вік співробітника не менш 18 і не більш 65". Обмеження домену самі по собі не перевіряються. Якщо на певному домені заснований атрибут, то обмеження відповідного домену стає обмеженням цього атрибуту.

Обмеження цілісності відношення - обмеження, що накладаються тільки на допустимі значення окремого відношення, і не є обмеженням цілісності кортежу. Вимога, що обмеження стосується окремого відношення, означає, що для його перевірки не потрібно інформації про інші відношення (у тому числі про посилання по зовнішньому ключу на кортежі цього ж відношення).

До моменту перевірки обмеження відношення повинні бути перевірені обмеження цілісності кортежів цього відношення. Обмеження відношення може бути як обмеженням, що негайно перевіряється, так і обмеженнямзвідкладеною перевіркою.

Обмеження цілісності сутності, що задається потенційним ключем відношення, є обмеженням відношення, тому що для його перевірки необхідно мати інформацію про всі кортежі відношення (більш точно, про всі зайняті у даний момент значення потенційного ключа). Обмеження відношення, що є обмеженням потенційного ключа є обмеженням, що негайно перевіряється.

Обмеження цілісності, обумовлене вимогою, що деяка таблиця повинна бути не порожня, є обмеженнями відношення.

Обмеження цілісності, обумовлені наявністю функціональних, багатозначних залежностей і залежностей з'єднання, є обмеженнями відношення.

Обмеження, визначене наявністю функціональної залежності атрибутів, є обмеженням, що негайно перевіряється. Обмеження, визначені багатозначною залежністю чи залежністю з'єднання, є обмеженнями з відкладеною перевіркою, оскільки вимагають, щоб кортежі вставлялися і видалялися цілими групами. Це неможливо, якщо виконувати перевірку після кожної одиночної вставки чи видалення кортежу.

Обмеження цілісності бази даних - обмеження, що накладаються на значення двох чи більше зв'язаних між собою відношень (у тому числі відношення може бути зв'язане саме із собою). До моменту перевірки обмеження бази даних повинні бути перевірені обмеження цілісності відношень.

Обмеження цілісності посилань, що задається зовнішнім ключем відношення, є обмеженням БД. Обмеження, що зв'язує дані, розміщені в різних таблицях, є обмеженням БД.

Обмеження бази даних може бути як обмеженням, що негайно перевіряється, так і обмеженням звідкладеною перевіркою. Обмеження відношення, що є обмеженням зовнішнього ключа, може бути як обмеженням, що негайно перевіряється, так і відкладеним обмеженням.

Серед обмежень цілісності даних у реляційних БД виділяють:

- обмеження обов'язковості даних;

- обмеження для доменів полів;

- корпоративні обмеження;

- цілісність сутностей;

- посилальну цілісність.

Обов'язкові дані - деякі поля завжди повинні містити одне з допустимих значень, іншими словами, ці поля не можуть мати порожнього значення.

Обмеження для доменів полів -кожне поле має свій домен, що є набором його допустимих значень.

Корпоративні обмеження цілісності -додаткові правила підтримка цілісності даних, визначані користувачами, прийняті на підприємстві чи адміністраторами баз даних. Обмеження підприємства називаються бізнес-правилами.

Цілісність сутностей -забезпечується обмеженням первинного ключа, цілісність посилань – обмеженнями зовнішнього ключа.







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.