- •Кременчук 2010 Розповсюдження і тиражування без офіційного дозволу Кременчуцького університету економіки інформаційних технологій і управління та авторів заборонено.
- •1 Мета та завдання дисципліни
- •2 Методичні вказівки до виконання лабораторних робіт
- •3 Завдання до лабораторніх робіт
- •3.1 Лабораторна робота № 1
- •1 Теоретичні відомості
- •2 Хід роботи
- •2.1 Створення бази даних
- •2.3 Підключення до бази даних
- •2.4 Видалення бази даних
- •2.5 Отримання метаданих
- •2.2 Реєстрація бази даних
- •2.6 Резервне копіювання і відновлення
- •3 Завдання
- •4 Звіт про виконання роботи
- •5 Контрольні питання
- •3.2 Лабораторна робота № 2
- •1 Теоретичні відомості
- •1.1 Типи даних InterBase
- •2 Хід роботи
- •3 Завдання
- •4 Звіт про виконання роботи
- •5 Контрольні питання
- •3.3 Лабораторна робота № 3
- •1 Теоретичні відомості
- •1.1 Таблиці (Tables)
- •1.2 Індекси
- •2 Хід роботи
- •3 Завдання
- •4 Звіт про виконання роботи
- •5 Контрольні питання
- •3.4 Лабораторна робота № 4
- •1 Теоретичні відомості
- •1.2 Обмеження первинного ключа (Primary key)
- •1.2 Обмеження унікальності (Unique)
- •1.3 Обмеження зовнішнього ключа (Foreign keys)
- •1.4 Контрольні обмеження (Checks)
- •2 Хід роботи
- •3 Завдання
- •4 Звіт про виконання роботи
- •5 Контрольні питання
- •3.5 Лабораторна робота №5.
- •1 Теоретичні відомості
- •1.1 Генератори (Generators)
- •1.2 Бізнес-правила
- •1.3 Тригери (Triggers)
- •2. Хід роботи
- •3 Завдання
- •4 Звіт про виконання роботи
- •5 Контрольні питання
- •3.6 Лабораторна робота №6
- •1 Теоретичні відомості
- •1.1 Додавання нових даних
- •1.2 Видалення існуючих даних
- •1.3 Оновлення існуючих даних
- •2. Хід роботи
- •3. Завдання
- •4. Звіт про виконання роботи
- •5. Контрольні питання
- •3.7 Лабораторна робота №7
- •1 Теоретичні відомості
- •2. Хід роботи
- •3. Завдання
- •4. Звіт про виконання роботи
- •5. Контрольні питання
- •3.8 Лабораторна робота №8
- •1 Теоретичні відомості
- •1.1 Представлення (Views)
- •1.2 Представлення, що модифікуються
- •2 Хід роботи
- •3 Завдання
- •4 Звіт про виконання роботи
- •5 Контрольні питання
- •3.9 Лабораторна робота №9
- •1 Теоретичні відомості
- •1.1 Процедури, що зберігаються (Procedures)
- •1.2 Види процедур, що зберігаються, в InterBase
- •2 Хід роботи
- •3 Завдання
- •4. Звіт про виконання роботи
- •5. Контрольні питання
- •3.10 Лабораторна робота №10
- •1 Теоретичні відомості
- •2 Компоненти доступу до даних
- •3 Хід роботи
- •4. Звіт про виконання роботи
- •5. Контрольні питання
- •3.11 Лабораторна робота №11
- •1 Теоретичні відомості
- •1.2 Компонент tibsql
- •2. Порядок виконання
- •3. Звіт про виконання роботи
- •4. Контрольні питання
- •Перелік рекомендованої літератури
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 – Вікно з прикладом створення обмеження унікальності
