- •Кременчук 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. Контрольні питання
- •Перелік рекомендованої літератури
5 Контрольні питання
1. Дати визначення терміну "База даних".
2. Що означають скорочення СУБД і DBMS?
3. Які операції проводяться з базою даних в цілому?
4. Що є база даних СУБД InterBase/Firebird? Який розмір файлу з базою даних? От чого він залежить? Що міститься у файлі з базою даних?
5. Який рекомендується вибирати розмір сторінок бази даних?
6. Що треба зробити, аби в базі даних можна було зберігати символи російського алфавіту?
7. Назвати відмінності між першим і треті діалектами бази даних.
8. Які існують способи створення і видалення бази даних?
9. Як вказується шлях до файлу з базою даних, розташованою на видаленому комп'ютері?
10. Які стандартні розширення мають файли баз даних і сценаріїв?
11. Як за допомогою програми "IB Expert" підключитися до наявної бази даних, розташованої на локальному комп'ютері?
12. Яке ім'я і початковий пароль має адміністратор сервера Inter-Base/Firebird?
13. Які види коментарів можуть містити файли сценаріїв для виконання операцій з базою даних?
14. Скільки системних таблиць містить створена база даних? З яких символів вони починаються? Привести назви будь-яких 3-х системних таблиць.
15. Які правила оформлення тексту сценарію?
3.2 Лабораторна робота № 2
Тема роботи: Робота з доменами.
Мета роботи: Вивчити типи даних InterBase. Отримати навики використання програми "IB Expert" для виконання операцій з доменами. Вивчити SQL-оператори для роботи з доменами.
1 Теоретичні відомості
1.1 Типи даних InterBase
Поняття типів даних в реляційній моделі даних відповідає поняттю типа даних в мовах програмування. У сучасних реляційних БД допускається зберігання символьних, числових даних, спеціальних числових даних таких як "гроші", а також дат і часу.
У таблиці 2.1 приведені основні типи даних, використовувані в InterBase для полів таблиць, при описі доменів, для змінних усередині процедур, що зберігаються, і тригерів і для параметрів в процедурах і функціях користувача.
Домен – це опис безлічі допустимих значень поля таблиці. Опис домену показує типа даних (наприклад, число або рядок), довжину даних і інші обмеження (наприклад, вимога, аби перший символ був буквою або аби значення не перевищувало заданого числа). У InterBase домени використовуються лише в операторах створення і зміни структури таблиць.
Для створення доменів використовується команда CREATE DOMAIN, для зміни – ALTER DOMAIN, а для видалення – DROP DOMAIN.
Нижче приведений спрощений синтаксис оператора створення домену.
CREATE DOMAIN Імя_Домена [AS] <тип даних> [DEFAULT {Literal | NULL | USER}] [NOT NULL] [CHECK (Проверяємоє_Условіє)];
При описі синтаксису операторів квадратні дужки позначають необов'язковий елемент, фігурні дужки об'єднують групу елементів оператора в один | означає вибір однієї з декількох альтернатив. Елемент, розташований в кутових дужках повинен пояснюватися окремо.
Таблица 2.1 – Типи даних InterBase
Назва
|
Розмір
|
Діапазон/точность
|
Опис
|
SQL діалект 1 |
|||
INTEGER
|
32 біта
|
від –2 147 483 648 до 2 147 483 647 |
Довге ціле.
|
SMALLINT |
16 біт |
від –32 768 до 32 767 |
Коротке ціле. |
FLOAT
|
32 біта
|
від 3,4х10P–38P до 3,4х10P38P |
Число з одинарною точністю (точність 7 значущих цифр). |
DOUBLE PRECISION |
64 біта
|
від 1,7х10P-308P до 1,7х10P308P |
Число з подвійною точністю (точність 15 значущих цифр) |
DATE
|
64 біта
|
від 1 січня 100 року н.е. до 29 лютого 32768 року |
Дата. Включає інформацію про час. |
CHAR(n)
|
n сім-волів |
n = 1?32767
|
Рядок символів фіксованої довжини. |
VARCHAR(n)
|
n сім-волів |
n = 1?32767
|
Рядок символів змінної довжини.
|
BLOB
|
пере-менный
|
немає
|
Двійкові великі об'єкти, такі як графіка, текст, цифровий звук. Вміст визначається підтипом. |
SQL діалект 3 |
|||
BIGINT |
64 біта |
від -2P63P до 2P63P-1 |
Велике ціле. |
DATE
|
32 біта
|
від 1 січня 100 року н.е. до 29 лютого 32768 року |
Лише дата без інформації про час. |
TIME
|
32 біта
|
від 00:00 до 23:59:9999
|
Дані про час з точністю до десятитисячної частки секунди. |
TIMESTAMP |
64 біта |
|
Комбінація типів DATE і TIME. |
У наведеному прикладі необов'язковий елемент
[DEFAULT {Literal | NULL | USER}]
дозволяє задати значення стовпця за умовчанням з використанням однієї з трьох можливостей. Перша можливість, позначена як Literal, дозволяє задавати значення за умовчанням у вигляді текстових констант, чисел і дат. Друга можливість – вказати у визначенні стовпця DEFAULT NULL, що приведе до того, що в новостворюваних записах значення цього стовпця буде NULL. Третій спосіб – вказати при визначенні стовпця DEFAULT USER. Якщо в цьому випадку в таблицю буде вставлений рядок без вказівки значення цього поля, то в нього буде занесено ім'я поточного користувача.
Якщо необхідно, аби поле мало якесь не порожнє значення, до опису домену вносять NOT NULL.
Останній необов'язковий елемент в описі домену дозволяє змусити сервер перевіряти що заносяться в базу даних значення на виконання заданої умови.
Замість елементу <тип даних> повинно бути використано назву одну з типів даних InterBase (таблиця 2.1).
Фрагмент сценарію створення доменів:
/***************************************************
Домени
***************************************************/
CREATE DOMAIN ID INTEGER NOT NULL; -- ідентифікатор
CREATE DOMAIN Name VARCHAR(30) NOT NULL; -- ім'я
CREATE DOMAIN CurrentDate DATE DEFAULT 'TODAY' NOT NULL;
CREATE DOMAIN Percent INTEGER -- відсоток CHECK (VALUE >= 0 AND VALUE <= 100); -- текст без обмеження довжини:
CREATE DOMAIN MEMO BLOB SUB_TYPE TEXT SEGMENT SIZE 128;
Синтаксис оператора видалення домена:
DROP DOMAIN Імя_Домена;
Оператор зміни домену ALTER DOMAIN дозволяє змінити типа даних, ім'я домену, а також додати або видалити умову контролю даних. Аби змінити домен можна також внести зміни до системних таблиць.
