Цілісність бази даних
Термін цілісність використовується для опису коректності та несуперечності збережених в БД даних.
Цілісність сутностей обмежує набір значень первинних ключів базових відносин: кортеж не може бути записаний в БД до тих пір, поки значення його ключових атрибутів не будуть повністю визначені. Тобто ніякої ключовий атрибут будь-якого кортежу відносини не може містити відсутнього значення, що позначається визначником NULL.
Дане правило стосується тільки первинного ключа. Якщо відносно присутні інші потенційні ключі, то їм дозволяється повністю або частково приймати значення NULL
При побудові відносин для зв'язування рядків однієї таблиці з рядками іншої таблиці застосовують зовнішні ключі.
Правило посилальної цілісності вимагає, щоб кожне певне (НЕ NULL) значення атрибута зовнішнього ключа існувало також в відношенні, для якого даний атрибут є первинним ключем.
БД включає два взаємопов'язаних відносини:
SES (Ном_зач_кніжкі, Предмет, Дата. Оцінка)
При видаленні запису, содержащeй відомості про студента з відносини stud, щодо ses з'являться записи, не пов'язані ні з одним студентом - відбувається порушення цілісності бази даних.
Підтримка посилальної цілісності також вимагає, щоб система запобігала будь-які спроби створити кортеж щодо SES, що містить відомості про здачу сесії студентом з атрибутом Ном_зач_кн до тих пір, поки в відношенні STUD не буде створена кортеж, який містить відомості про це студента. З іншого боку ставлення stud може містити кортежі з відомостями про студентів, які ще не здали сесію.
Як правило, визначення умови цілісності даних здійснюється при встановленні взаємозв'язку між головним і підлеглим відносинами:
Можливі наступні стратегії:
1. Заборона. Відповідно до даної стратегії, накладається заборона на всі зміни первинного ключа, якщо існують посилаються на нього зовнішні ключі.
2. Каскадні зміни. При зміні або видаленні значень полів первинного ключа в головному (батьківському) щодо автоматично здійснюється каскадне зміна або видалення всіх відповідних значень в підпорядкованому (дочірньому) відношенні.
Правило посилальної цілісності діє тільки в одному напрямку. Можна скільки завгодно оновлювати або видаляти значення зовнішнього ключа в підпорядкованому відношенні, аби вони посилалися на існуючі значення первинного ключа.
Зв'язування таблиць реляційної бази даних
При проектуванні реальних БД інформацію зазвичай розміщують в декількох таблицях. Зв'язування даних різних таблиць один з одним здійснюється за допомогою значень атрибутів. У реляційних СУБД для вказівки зв'язків таблиць роблять операцію їх зв'язування.
Багато СУБД при зв'язуванні таблиць автоматично виконують контроль цілісності вводяться в базу даних відповідно до встановлених зв'язками. В кінцевому підсумку це підвищує вірогідність інформації, що зберігається в БД інформації.
Між двома таблицями в загальному випадку можуть встановлюватися наступні зв'язку.