
- •Лабораторна робота № 1 Тема роботи: Реєстрація та створення баз даних в InterBase.
- •1. Керуюча консоль InterBase.
- •2. Реєстрація бази даних в InterBase.
- •3. Створення бази даних в InterBase.
- •Контрольні запитання
- •Лабораторна робота № 2 Тема роботи: Створення таблиць в базах даних в InterBase.
- •1. Типи даних InterBase.
- •2. Створення таблиці.
- •Контрольні запитання
- •Лабораторна робота № 3 Тема роботи: Введення обмежень в базах даних в InterBase.
- •1. Види обмежень в базі даних.
- •2. Первинний і унікальний ключі.
- •3. Зовнішні ключі.
- •4. Обмеження check
- •5. Вилучення обмежень.
- •Контрольні запитання
- •Лабораторна робота № 4 Тема роботи: Використання генераторів ключів в базах даних в InterBase.
- •Створення генераторів.
- •2. Індекси.
- •Контрольні запитання
- •Лабораторна робота № 5 Тема роботи: Використання тригерів в базах даних в InterBase.
- •Означення тригера.
- •Приклад тригера.
- •3. Контекстні змінні.
- •Контрольні запитання
- •Лабораторна робота № 6 Тема роботи: Безпека в InterBase.
- •1. Користувачі.
- •3. Права.
- •4. Роздача прав.
- •5. Організація користувачі у групи за допомогою ролей.
- •6. Анулювання прав.
- •Контрольні запитання
- •Практична робота № 1 Тема роботи: Використання компоненту Database.
- •З’єднання з сервером
- •Контрольні запитання
- •Практична робота № 2 Тема роботи: Використання головної та підлеглої таблиць InterBase засобами Borland Delphi.
- •Контрольні запитання
- •Практична робота № 3 Тема роботи: Використання механізму транзакцій компонента Database.
- •Керування транзакціями.
- •Контрольні запитання
- •Практична робота № 4 Тема роботи: Використання компонент InterBase Express для підключення до сервера.
- •1. Сервер баз даних InterBase і компоненти InterBase Express
- •2. Механізм доступу до даних InterBase Express
- •3. Компонент tibDatabase.
- •Контрольні запитання
- •Практична робота № 5 Тема роботи: Виконання запитів за допомогою компонента tibDataSet.
- •Вибірка даних з таблиці.
- •2. Редагування даних за допомогою візуальних компонентів.
- •3. Програмне редагування даних.
- •Контрольні запитання
- •Практична робота № 6 Тема роботи: Виконання механізму Master-detail в компонентах tibDataSet.
- •Механізм master-detail.
- •Контрольні запитання
- •Література
3. Компонент tibDatabase.
Оскільки для доступу до бази даних компонентам InterBase Express не потрібна BDE, то для створення з’єднання використовується всього одна властивість DatabaseName. В ній необхідно вказати повний шлях (включаючи ім’я сервера) до вибраного файла БД з розширенням gdb. При клацанні на кнопці властивості в Інспекторі об’єктів для цього можна скористатися стандартним діалогом вибору файла.
Компонент має власний редактор (викликається контекстним меню), який дозволяє задати значення основних властивостей, що забезпечують з’єднання з базою даних (User Name, Password, SQLRole, Character Set). Зокрема, необхідно вказати шлях до бази даних. Він включає в себе ім’я сервера і локальний шлях до бази даних на сервері. У випадку, коли сервер локальний, досить вказати лише шлях до бази даних.
В компоненті TIBDatabase відсутні засоби керування транзакціями, які винесені до окремого компоненту TIBTransaction. Властивість DefaultTransaction дозволяє задати транзакцію за замовчуванням. Змінюючи значення цієї властивості, можна в одному з’єднанні працювати з декількома транзакціями.
Довільна дія з базою даних відбувається у рамках тієї чи іншої транзакції. Робота з InterBase базується на явному керуванні транзакціями.
Компонент TIBTransaction інкапсулює засоби керування транзакцією для з’єднання з сервером InterBase.
Один компонент транзакції може працювати з декількома базами даних одночасно. Для цього використовується властивість DefaultTransaction відповідних компонентів з’єднання TIBDatabase.
Основною є властивість Params, в якій можна вказати рівень ізоляції транзакції. Один з чорирьох рівнів ізоляції можна вибрати за допомогою редактора компонента, який викликається з контекстного меню. Для більшості випадків рекомендується використовувати режим Read Commited, який дозволяє запитам в одній транзакції “бачити” зміни зроблені в контексті інших транзакцій.
TIBTransaction посилається на компонент бази даних за допомогою властивості DefaultDataBase. Якщо також вказати властивість DefaultTransaction у TIBDatabase, то в подальшому довільні компоненти, що посилаються на базу даних, будуть автоматично “підхоплювати” і вказану транзакцію.
З А В Д А Н Н Я
Створіть новий проект.
Розмістіть на формі компоненти, необхідні для підключення до бази даних Sales.
Проведіть всі необхідні налаштування цих компонентів.
Оформіть звіт по роботі.
Контрольні запитання
Що виконує компонент TIBDatabase і TIBTransaction?
Які властивості компонента TIBDatabase Ви знаєте?
Що виконує компонент TIBDatabase?
Практична робота № 5 Тема роботи: Виконання запитів за допомогою компонента tibDataSet.
Мета роботи: Навчити створювати запити та редагувати дані в таблиці допомогою компонента TIBDataSet.
ОСНОВНІ ТЕОРЕТИЧНІ ВІДОМОСТІ
Вибірка даних з таблиці.
Спеціалісти вважають, що компоненти TIBTable та TIBQuery використовувати недоцільно, оскільки вони призначені в основному для сумісності з компонентами BDE. Для роботи з наборами даних радять використовувати компонент TIBDataSet. Помістимо на форму такі компоненти: IBTransaction1:TIBTransaction; IBDatabase1:TIBDatabase1; IBDataSet1:TIBDataSet;
DataSourse1: TDataSourse1; DBGrid1:TDBGrid, DBNavigator1:TDBNavigator.
Налаштуємо компоненти IBTransaction1 і IBDatabase1 на з’єднання з базою даних Employee.gdb, які містится в каталозі Program Files\Common Files\Borland Shared\Data. У IBDataSet1 необхідно задати властивості DataBase та Transaction, у DataSourse1задати DataSourse1.DataSet рівним IBDataSet1, а у DBGrid1.Data-Sourse рівним DataSourse1. У компоненті IBDataSet1 властивість BufferChunks встановимо рівною 10000, щоб буфер мів вмістити весь набір даних.
Тепер необхідно вказати той запит, який ми хочемо виконати у властивості SelectSQL компонента IBDataSet1: SELECT * FROM EMPLOYEE;
Для того, щоб виконати цей запит під час виконання програми необхідно створити такий обробник події OnFormCreate:
procedure TForm1.FormCreate(Sender: TObject);
begin
IBDatabase1.Connected:=True; IBDataSet1.Active:=True;
end;