- •Кременчук 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. Контрольні питання
- •Перелік рекомендованої літератури
3.3 Лабораторна робота № 3
Тема роботи: Робота з таблицями.
Мета роботи: Вивчити способи створення, зміни і видалення таблиць. Отримати навики використання додатка "IB Expert" для створення, видалення і зміни структури таблиць. Вивчити SQL-оператори для роботи з таблицями і індексами.
1 Теоретичні відомості
1.1 Таблиці (Tables)
InterBase – реляційна СУБД, тому всі дані в InterBase зберігаються у вигляді двовимірних таблиць з рядками і стовпцями. Рядки називаються кортежами або записами, а стовпці – доменами або полями.
Основні обмеження, яким повинні задовольняти таблиці:
1. Кожен стовпець в таблиці має унікальне ім'я.
2. Всі дані в стовпці мають бути одного типа.
3. Порядок рядків і стовпців в таблиці не має значення.
4. У таблиці не може бути двох однакових рядків.
Частина мови SQL, яка управляє метаданими, називається Data Definition Language (DDL). До DDL відносяться оператори для визначення будь-яких даних об'єктів, що містяться в базі, у тому числі і таблиць. Оператори, що визначають структуру таблиць в InterBase, відповідають стандарту SQL, і тому без змін працюватимуть і в багатьох інших СУБД.
Для створення таблиць використовується оператор "CREATE TABLE", який наводить до створення порожньої таблиці без рядків. При створенні таблиць задається ім'я таблиці, опис набору стовпців з їх іменами, типами і розмірами, а також обмеження на інформацію, що зберігається в таблиці. Максимальна довжина назв таблиць, полів і обмежень – 31 символ. Імена таблиць в межах бази даних мають бути унікальні.
Кожен стовпець в таблиці повинен мати ім'я, унікальне в межах таблиці, а також або типа даних, або вираження для обчислення значення стовпця, або заслання на домен.
Спрощений синтаксис оператора створення таблиці:
CREATE TABLE Імя_Таблиці(
<опис колонки> [,
<опис колонки> | <обмеження> ...] );
У цьому операторові елемент <обмеження> означає обмеження, яке задається на рівні таблиці без одночасного опису колонки.
<опис колонки> = Колонка {
<тип даних>
| COMPUTED [BY] (<обчислюване вираження>)
| І’мя_Домену
}
[DEFAULT {Literal | NULL | USER}]
[NOT NULL] [<обмеження поля>];
Тут елемент <обчислюване вираження> означає вираження, яке обчислюватиметься кожного разу при необхідності повернути значення цього обчислюваного поля. Елемент <обмеження поля> означає обмеження, яке задається при одночасному визначенні поля (функціонально повністю аналогічно варіанту опису обмеження окремим рядком при створенні таблиці). Останні елементи були описані в попередній лабораторній роботі.
Приклад створення таблиці "Чоловік" (домени ID і Name описані в попередній лабораторній роботі):
CREATE TABLE Person(
Pr_ID ID -- номер людини
Pr_LastName Name -- прізвище
Pr_FirstName Name -- ім'я
Pr_Patronymic CHAR(30) -- по батькові
Pr_FIO COMPUTED BY ( -- прізвище і ініціали
Pr_LastName || ' ' || SUBSTRING(Pr_FirstName FROM 1 FOR 1)|| '.' ||
SUBSTRING(Pr_Patronymic FROM 1 FOR 1)|| '.') );
Перші три поля задано з використанням доменів, тип поля Pr_Patronymic заданий безпосередньо при створенні таблиці, а поле Pr_FIO є обчислюваним.
У цьому операторі || означає операцію конкатенацію (з'єднання) рядків, SUBSTRING() – функція, що повертає підрядок (у наведеному прикладі – першу букву полів "Pr_FirstName" і "Pr_Patronymic").
Якщо при описі поля не використовувати домен, то Firebird все одно створює домен спеціально для цього поля. Ім'я таких доменів складається з символів "RDB$" і порядкового номера. З такими системними доменами можна виконувати такі ж операції, як і із звичайними доменами.
Для видалення таблиці використовується оператор DROP TABLE.
DROP TABLE Person; -- Приклад видалення таблиці
Оператор ALTER TABLE призначений для зміни структури таблиці замість її видалення і повторного створення. З його допомогою можна змінювати назви полів, додавати нові і видаляти наявні поля, а також додавати і видаляти обмеження.
Приклади операторів ALTER TABLE:
-- додавання поля "День народження":
ALTER TABLE Person ADD Birthday DATE;
-- видалення поля "По батькові":
ALTER TABLE Person DROP Pr_Patronymic;
-- перейменування поля "День народження":
ALTER TABLE Person ALTER COLUMN Birthday TO Pr_Birthday;
Якщо потрібно змінити типа поля, наприклад, збільшити число символів, що зберігаються в полі, то необхідно змінювати домен цього поля оператором ALTER DOMAIN або виконати зміни в системних таблицях.
