- •Кременчук 2010 Розповсюдження і тиражування без офіційного дозволу Кременчуцького університету економіки інформаційних технологій і управління та авторів заборонено.
- •1 Мета та завдання дисципліни
- •2 Методичні вказівки до виконання лабораторних робіт
- •3 Завдання до лабораторніх робіт
- •3.1 Лабораторна робота № 1
- •1 Теоретичні відомості
- •2 Хід роботи
- •2.1 Створення бази даних
- •2.2 Реєстрація бази даних
- •2.3 Підключення до бази даних
- •2.4 Видалення бази даних
- •2.5 Отримання метаданих
- •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. Контрольні питання
- •Перелік рекомендованої літератури
4. Звіт про виконання роботи
Звіт повинен містити опис і результати роботи, що представляються в наступній послідовності:
1. Опис структури бази даних.
2. Опис компонентів, що були використані при розробці додатку.
3. Код основних модулів додатку
5. Контрольні питання
1. Принципи роботи базами даних в Delphi.
2. Робота з компонентом TIBDatabase.
3. Робота з компонентом TiBTransaction.
4. Робота з компонентом TiBDataSet
5. Робота з компонентом TIBQuery
6. Робота з компонентом TIBSQL
7. Робота з компонентом TiBDatabaseinfo
8. Робота з компонентом TIBSQLMonitor
9. Робота з компонентом TIBTable
10. Способи з'єднання з базою даних.
3.11 Лабораторна робота №11
Тема роботи: Робота з процедурами InterBase, що зберігаються. Використання компонента TIBSQL для виконання параметричних запитів. Механізм майстер-деталь.
Мета роботи: Вивчити принципи роботи з процедурами InterBase, що зберігаються. Отримати навики виконання параметричних запитів та використання механізму майстер-деталь.
1 Теоретичні відомості
1.1 Компонент TIBStoredProc
Компонент процедури, що зберігається, призначений для визначення процедури, установки її параметрів, виконання процедури і повернення результатів в компонент. Залежно від вибраної технології доступу до даних, кожен компонент процедури, що зберігається, має власний спосіб з'єднання з сервером. Після підключення до джерела даних ім'я процедури, що зберігається, можна вибрати із списку властивості property StoredProcName: String; Після цього властивість property Params: TParams; призначена для зберігання параметрів процедури, автоматично заповнюється. Для процедур, що зберігаються, важливе ділення параметрів на вхідні і вихідні. Перші містять вхідні дані, а другі передають результати виконання процедури. Загальне число параметрів повертає властивість property ParamCount: Word; Для підготовки процедури, що зберігається, використовується метод procedure Prepare; або властивість property Prepared: Boolean; яке повинне набути значення True. Метод procedure UnPrepare; або властивість Prepared := False виконують зворотну дію. Крім того, перевірка значення властивості Prepared дозволяє встановити, чи здійснювалася підготовка процедури до виконання чи ні. Після виконання процедури, що зберігається, вихідний порядок дотримання параметрів в списку Params може змінитися. Тому для доступу до конкретного параметра рекомендується використовувати метод function ParamByName(const Value: String): TParam; Якщо процедура, що зберігається, повертає набір даних, компонент можна відкривати методом procedure Open; або властивістю property Active: Boolean; Інакше для виконання процедури використовується метод procedure ExecProc; і після цього вихідні параметри набудуть обчислених значень.
1.2 Компонент tibsql
Компонент TIBSQL призначений для швидкого виконання запитів SQL, тому не забезпечує зв'язку з компонентами представлення даних (властивості і методи описані в таблиці нижче).
Компонент, являється мінімальною надбудовою над InterBase API. На відміну від IBTable, IBQuery і IBDataSet він не буферизує вибрані записи – для доступу до поточного запису існує лише властивість Current (власне, IBSQL не є спадкоємцем DataSet).
Призначений для виконання операторів Insert/update/delete, execute procedure, або select для перебору записів, що не буферизує (наприклад при імпорті/експорті даних або при масовій обробці записів на клієнті).
Для забезпечення швидкості виконання запиту з компонента видалені всі додаткові механізми, обслуговуючі набір даних. Фактично компонент TIBSQL не має відношення до звичайних компонентів доступу до даних, його безпосереднім предком є клас iСomponent, а не TDataSet. Тому він лише передає через компонент з'єднання TIBDatabase запит серверу і отримує назад результат виконання запиту.
Для підвищення швидкості компонент не забезпечує повноцінної навігації по набору даних. Переміщення по набору даних можливо лише в прямому напрямі (однонаправлений курсор).
.
Таблиця 11.1 – Властивості і методи компонента TIBSQL
Оголошення |
Опис |
Властивості |
|
property Bof: Boolean;
|
Значення True говорить про те, що курсор знаходиться на початку набору даних |
property Database: TiBDatabase; |
Визначає компонент з'єднання з базою даних |
property Eof : Boolean;
|
Значення True говорить про те, що курсор знаходиться в кінці набору даних |
property Fieldlndex: [FieldName: String]: Integer; |
Список порядкових номерів полів по їх іменах |
property Active: Boolean; |
Дозволяє визначити, чи відкритий набір даних |
property Prepared: Boolean; |
Значення True повідомляє про те, що запит готовий до виконання |
property RecordCount: Integer; |
Повертає число записів набору даних |
property RowsAf fected: Integer; |
Повертає число записів, оброблених запитом |
property SQL: TStrings; |
Містить текст запиту |
property Transaction: TIBTransaction; |
Вказує на компонент транзакції |
Методи |
|
procedure Close; |
Закриває набір даних |
procedure ExecQuery; |
Виконує запит |
procedure Prepare; |
Готує запит до виконання |
Текст запиту задається звичайною для всіх компонентів запитів властивістю SQL.
Механізм майстер-деталь часто використовується для роботи з базами даних, оскільки саме він дозволяє легко зв'язувати дані з різних таблиць, отриманих в результаті нормалізації.
