оректність даних та їх несуперечливість в будь-який момент часу. Підтримка цілісності бази даних може розглядатися як захист даних від невірних змін або руйнування (це питання не відноситься до незаконних змін і руйнувань, які є проблемою безпеки).
Виділяють три групи правил цілісності [4, 5]:
- цілісність по сутностей. Об'єкту або сутності реального світу в реляційних базах даних відповідають кортежі відносин. Вимога полягає в тому, що будь-який кортеж будь-якого відношення відрізнити від будь-якого іншого кортежу цього відношення, тобто іншими словами, будь-яке відношення має володіти первинним ключем. Ця вимога автоматично задовольняється, якщо в системі не порушуються базові властивості відносин. Первинний ключ - це мінімальний набір атрибутів, за значеннями яких можна однозначно знайти необхідний екземпляр сутності;
- цілісність по посиланнях. База даних не повинна містити неузгоджених значень зовнішніх ключів. Правило стверджує, що якщо В посилається на А, тоді А має існувати. Кажуть, що ставлення, в якому визначено зовнішній ключ, посилається на відповідне ставлення, в якому такий же атрибут є первинним ключем. Вимога цілісності по посиланнях, або вимога зовнішнього ключа полягає в тому, що для кожного значення зовнішнього ключа, що з'являється в посилається відношенні, у таблиці, на яку веде посилання, повинен знайтися кортеж з таким же значенням первинного ключа, або значення зовнішнього ключа повинно бути невизначеним (тобто ні на що не вказувати);
- цілісність, обумовлена ??користувачем. У користувача (або у розробника) бази даних повинна бути можливість визначити, які операції повинні бути заборонені, а які дозволені, чи потрібні для дозволених операцій компенсуючі, і якщо так, то які (тобто можливість каскадного видалення).
У розробляється структурі БД враховані основні правила цілісності. Кожна сутність ідентифікується унікальним ключем, і розроблена система зовнішніх ключів. База даних не містить неузгоджених значень зовнішніх ключів, тобто при роботі з записами відбувається каскадне оновлення пов'язаних полів і каскадне видалення пов'язаних записів.
Цілісність, обумовлена ??користувачем, підтримується обмеженнями в таблицях бази даних на введення невід'ємних значень, а також забезпеченням вибору значень зовнішніх ключів зі списків без дозволу варіанти введення неприпустимого значення.
Нормалізація - процес перевірки та реорганізації сутностей і атрибутів, тобто розбиття таблиці на дві або більше, що володіють кращими властивостями при включенні, зміну і видалення даних. Остаточна мета нормалізації зводиться до отримання такого проекту БД, в якому кожен факт з'являється лише в одному місці, тобто виключена надмірність інформації. Це робиться не стільки з метою економії пам'яті, скільки для виключення можливої ??суперечливості збережених даних. Нормалізація дозволяє бути впевненим, що кожен атрибут визначений для своєї сутності, значно скоротити обсяг пам'яті для зберігання інформації та усунути аномалії в організації зберігання даних. Процес нормалізації зводиться до послідовного приведення структури даних до нормальних формам - формалізованим вимогам до організації даних.
Сутність знаходиться в 1-й нормальній формі, коли всі атрибути містять атомарні значення. Серед атрибутів не повинно зустріча...