повинно видаватись відповідне діагностичне повідомлення про заборону виконання такої модифікації.
6. Перевірка на унікальність. Цю перевірку виконують здебільшого для ключових атрибутів, що визначені як первинні ключі. Ці ключі не повинні мати порожніх значень. Перевіряючи на унікальність, переглядають усі записи, які є у файлі, і виконують контроль на обіг ключів. Якщо збіг виявлено, про це повідомляють користувачеві, і відповідний атрибут не може бути введений у файл. Розглянуте обмеження стосується не лише нових атрибутів, які вперше заносяться у файл, його потрібно враховувати і при внесенні змін у нього.
Розглянуте обмеження стосується не лише окремого атрибута, а й об'єкта в цілому, тому що первинний ключ є ідентифікатором певного об'єкта. Тому це обмеження щодо об'єкта називається обмеженням його цілісності.
7. Обмеження на значення атрибута. Обмеження цілісності може стосуватись не лише унікальності значень ключових атрибутів; воно може накладатись на будь-який атрибут запису чи певної їх сукупності. Так, при занесенні даних у поле «оклад» величина окладу не може бути меншою від установленого в законодавчому порядку мінімального розміру заробітної плати.
8. Встановлення значення за замовчуванням. Часто одне і те саме значення атрибута може повторюватись кілька разів у різних записах. З метою зменшення помилок під час введення даних та економії часу на цю роботу значення таких атрибутів можна встановлювати за замовчуванням. Наприклад, при внесенні даних про студентів, які поступили на перший курс, у тих, хто проживає в гуртожитку, збігається адреса проживання. А тому, щоб кожного разу не вводити одну і ту саму інформацію, значення цього поля доцільно встановлювати за замовчуванням. Воно повинно заноситись автоматично в тому разі, якщо оператор при введенні залишає його порожнім. Можливість встановлення значення за замовчуванням мають деякі системи, наприклад СУБД PARADOX.
9. Обмеження на обов'язкове введення значень. Деякі поля бази даних при внесенні даних не можна пропускати, тобто вони не можуть бути порожніми. Тому на них повинно накладатись таке обмеження, яке б не дозволяло пропускати поля, що підлягають обов'язковому заповненню. До полів, які підлягають обов'язковому заповненню, належать, наприклад, ключові поля.
Обмеження цілісності, які повинні накладатись на реляційні відношення. 1. Агрегатне обмеження. Прикладом обмеження, що стосується реляційного відношення в цілому, може бути обмеження, яке накладається при створенні файла коефіцієнтів трудової участі (КТУ). Він використовується при розподілі відрядної бригадної заробітної плати між членами бригади: сума КТУ для членів однієї бригади повинна дорівнювати одиниці. Розглянуте в цьому прикладі обмеження цілісності іноді називається агрегатним обмеженням. Підтримка агрегатних обмежень пов'язана з досить великими труднощами порівняно з підтримкою обмеження на значення окремого атрибута, контроль за виконанням якого полягає лише в перевірці нового значення. Контроль за виконанням агрегатного обмеження пов'язаний з доступом до файла, переглядом його записів та виконанням певних обчислень.
2. Обмеження на недопустимість, циклів. Для деяких реляційних відношень можна виконувати перевірку на недопустимість циклів. Характерним файлом для такої перевірки є «Склад виробу», при створенні якого необхідно виконувати перевірку того, щоб вузол не входив сам у себе.
Усі розглянуті обмеження стосуються атрибутів одного файла та файлів у цілому. Є обмеження, які накладаються на зв'язки між файлами, і ці обмеження стосуються кількох зв'язаних між собою файлів. Розглянемо обмеження, які можуть накладатися на зв'язки та на зв'язані між собою відношення.
1. Обмеження посилкової цілісності. Це обмеження полягає у відповідності між первинними та вторинними ключами файлів бази даних. Пояснимо це на прикладі. Якщо в базі даних є файл, який відображує зв'язок між деталями та верстатами, то код деталей в ньому повинен мати відповідні коди в довіднику деталей, а код верстата відповідні коди в довіднику верстатів. Це обмеження ще .іноді називається обмеженням цілісності зв'язку.
2. Обмеження на існування. Різновидом розглянутого обмеження цілісності зв'язку є обмеження на існування: для того щоб запис існував у деякому файлі, необхідно, щоб він був пов'язаний з деяким записом в іншому файлі. Наприклад, при формуванні файла відвантаження продукції замовникові в запису обов'язково проставляють код замовника, код продукції та її кількість, яка підлягає відвантаженню. Цей запис буде мати право на існування в базі даних лише після перевірки та виконання ряду обмежень. По-перше, перевіряють, чи є відповідне замовлення зазначеного замовника на задану продукцію у файлі замовлень. Після виконання цього обмеження перевіряють, чи є необхідна кількість потрібної продукції у файлі залишків продукції на складі, і нарешті, перевіряють наявність відповідного коду замовника у файлі-довіднику замовників. Лише після виконання всіх цих обмежень уведений запис буде записаний у бази даних.
3. Усунення логічних протиріч. При виконанні обмежень на зв'язані між собою файли в деяких випадках також можна виконувати перевірку на відсутність логічних протиріч між атрибутами цих файлів. Так, при формуванні файла плану запуску деталей по цеху кількість деталей, що запускаються у виробництво, не повинна перевищувати плану випуску деталей по цеху у відповідному файлі.
Вимог збереження цілісності бази даних особливо важливо дотримуватися, вносячи зміни до файлів бази даних. Деякі СУБД мають засоби, за допомогою яких при описуванні даних зв'язків між файлами можна задавати ознаку каскадного оновлення і каскадного вилучення даних. У цьому разі цілісність бази даних при внесенні в неї змін забезпечується автоматично.
За моментом здійснення контролю за виконанням обмежень цілісності бази даних є обмеження, що їх перевіряють одразу, й ті, які можна відкласти на певний період.