Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ по ОБД ИТП 2 сем.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
6 Мб
Скачать
☆

1.2 Обмеження первинного ключа (Primary key)

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

Первинні ключі виконують наступні функції:

1. Вони служать засобом розрізнення окремих записів.

2. Використовуються в посилальній цілісності.

3. При створенні первинного ключа автоматично створюється індекс, тому вони прискорюють пошук і сортування.

Зазвичай первинні ключі рекомендується створювати для всіх таблиць. Всі поля первинного ключа мають бути оголошені NOT NULL.

Приклад завдання обмеження первинного ключа:

ALTER TABLE Customer

ADD CONSTRAINT PK_Customer PRIMARY KEY (Cust_No);

1.2 Обмеження унікальності (Unique)

Використовуються для гарантії унікальності одного або декількох полів запису. Єдина відмінність від обмеження первинного ключа – можливість завдання для таблиці декілька таких обмежень.

Приклад завдання обмеження унікальності:

ALTER TABLE Employee

ADD CONSTRAINT Unique_Phone UNIQUE (Phone);

1.3 Обмеження зовнішнього ключа (Foreign keys)

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

При визначенні зовнішнього ключа автоматично генерується індекс.

Приклад завдання обмеження зовнішнього ключа:

ALTER TABLE Book ADD CONSTRAINT FK_Book

FOREIGN KEY (B_PubNo) REFERENCES Publisher (B_NO);

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

1.4 Контрольні обмеження (Checks)

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

При використанні контрольних обмежень слід пам'ятати, що складні і дуже великі умови перевірки можуть значно уповільнити операції вставки і оновлення записів.

Приклад контрольного обмеження, яке гарантує, що значення поля "Num" матиме значення від 0 до 4:

ALTER TABLE Property

ADD CONSTRAINT Check_Invalid_Number

CHECK (Num >= 0 AND Num <= 4);

Контрольні обмеження реалізовані за допомогою системних тригерів.

2 Хід роботи

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

Для створення обмежень за допомогою програми "IB Expert" в діалоговому режимі необхідно виконати наступні дії:

1. Підключитися до бази даних.

2. Відкрити вікно з таблицею, в яку додаватимуться обмеження (рис. 4.1).

3. Перейти на вкладку "Constraints". На цій вкладці є чотири додаткові вкладки для перегляду і редагування обмежень всіх чотирьох типів.

Рисунок 4.1 – Вікно перегляду і редагування обмежень

4. Аби створити нове обмеження треба перейти на потрібну вкладку і натискувати клавішу [Insert]. В результаті в сітку з переліком наявних обмежень буде доданий рядок з новим обмеженням.

5. Після завдання бажаних значень в новому рядку необхідно натискувати кнопку [Compile] (Ctrl+F9), яка приведе до автоматичного створення оператора створення обмеження і його виконання.

На рис. 4.2 показаний результат створення обмеження унікальності для таблиці "Чоловік".

Рисунок 4.2 – Вікно з прикладом створення обмеження унікальності