МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Створення електронного словника з використанням баз даних
у середовищі візуального програмування Delphi.
ІНСТРУКЦІЯ
до лабораторної роботи № 6
з курсу
“Застосування засобів об’єктно-орієнтованого програмування в лінгвістичних задачах” спеціальності 07.030505 “Прикладна лінгвістика”.
ЗАТВЕРДЖЕНО
На засіданні кафедри “Системи
Автоматизованого проектування”
Протокол №___ від _________
Львів – 2006
Мета роботи: Створити програму, яка буде працювати з базою даних – словником у вигляді *.db. Полями кожного запису є: слово та його переклад. Необхідно реалізувати наступні операції: створення та видалення запису, збереження і зчитування з диску файлу записів, редагування та пошук необхідних даних, прогляд записів та навігацію по них.
Частина 1.
Теоретичні відомості
Організація баз даних
БД містить дані, що використовуються деякою прикладною інформаційною системою, наприклад, системами "Сирена" або "Експрес" продажу авіа- і залізничних квитків. Залежно від виду організації даних розрізняють такі основні моделі представлення даних в БД:
ієрархічну;
мережну;
реляційну;
об'єктно-орієнтовану.
В ієрархічній моделі дані представляються у вигляді деревовидної (ієрархічної) структури. Подібна організація даних зручна для роботи з ієрархічно впорядкованою інформацією, проте при оперуванні даними зі складними логічними зв'язками ієрархічна модель виявляється дуже громіздкою.
В мережній моделі дані організовуються у вигляді довільного графа. Недоліком мережної моделі є жорсткість структури і висока складність її організації.
Крім того, значним недоліком ієрархічної і мережної моделей є також те, що структура даних задається на етапі проектування БД і не може бути змінена при організації доступу до даних.
В об'єктно-орієнтованій моделі окремі записи бази даних представляються у вигляді об'єктів. Між записами бази даних і функціями їх обробки встановлюються взаємозв'язки за допомогою механізмів, подібних відповідним засобам в об'єктно-орієнтованих мовах програмування. Об'єктно-орієнтовані моделі поєднують особливості мережної і реляційної моделей і використовуються для створення великих БД зі складними структурами даних.
Реляційна модель отримала свою назву від англійського терміна relation (відношення) і була запропонована в 70-х роках співробітником фірми ІВМ Едгаром Коддом. Реляційна БД є сукупністю таблиць, зв'язаних відношеннями. Достоїнствами реляційної моделі даних є простота, гнучкість структури, зручність реалізації на комп'ютері, наявність теоретичного опису. Більшість сучасних БД для персональних комп'ютерів є реляційними. При подальшому викладі матеріалу мова піде саме про реляційні БД.
Інструментальні засоби
Для операцій з БД система Delphi пропонує такий набір інструментальних засобів.
Borland Database Engine (BDE) - процесор баз даних, який є набором динамічних бібліотек і драйверів, призначених для організації доступу до БД із Delphi-додатків. BDE є центральною ланкою при організації доступу до даних.
BDE Administrator - утиліта для настройки різних параметрів BDE.
Database Desktop — програма створення і редагування таблиць, SQL-запитів і запитів QBE.
SQL Explorer — Провідник БД, що дозволяє переглядати і редагувати БД і словники даних.
SQL Builder — програма візуального конструювання SQL-запитів.
SQL Monitor — програма відстежування порядку виконання SQL-запитів до віддалених БД.
Data Pump — програма для перенесення даних між БД.
InterBase Windows Interactive SQL (WISQL) — програма для управління віддаленими БД.
InterBase Server Manager — програма для управління віддаленим сервером.
SQL Links — драйвери для доступу до віддалених промислових СУБД таких, як Microsoft SQL Server або Oracle. До промислового серверу InterBase, який поставляється спільно з Delphi і є для неї рідним, доступ також можна організувати прямо через BDE, не використовуючи драйвер SQL Links.
Local InterBase Server —- локальна версія SQL-серверу Borland InterBase.
InterBase Server for Windows 95 — розрахована на багато користувачів версія SQL-серверу Borland InterBase.
Одні інструментальні засоби, наприклад, BDE Administrator і SQL Explorer, можна використовувати для роботи з локальними і віддаленими БД, інші, наприклад, Windows Interactive SQL - для роботи з віддаленими БД.
Компоненти
Розглянемо тепер компоненти, що використовуються для створення додатків БД. Окрім компонентів, Delphi також надає розробнику спеціальні об'єкти, наприклад, об'єкти типа TField. Як і інші управляючі елементи Delphi, пов'язані з БД компоненти діляться на візуальні і невізуальні.
Невізуальні компоненти призначені для організації доступу до даних, що містяться в таблицях. Вони є проміжною ланкою між даними таблиць БД і візуальними компонентами.
Візуальні компоненти використовуються для створення інтерфейсної частини додатку. З їх допомогою користувач може виконувати такі операції з таблицями БД, як перегляд або редагування даних. Візуальні компоненти також називають елементами, чутливими до даних.
Компоненти, що використовуються для роботи з БД, знаходяться на сторінках Data Access, Data Controls, Midas, Decision Cube, QReport і InterBase Палітри компонентів. Деякі компоненти призначені спеціально для роботи з віддаленими БД в архітектурі "клієнт-сервер".
Склад компонентів може настроюватися в діалоговому вікні Palette Properties (Властивості палітри), що викликається командою Properties (Властивості) контекстного меню Палітри компонентів. Ми наводимо склад Палітри компонентів, який отримується після установки Delphi.
На сторінці Data Access (мал. 1.1) знаходяться невізуальні компоненти, призначені для організації доступу до даних:
DataSource - джерело даних;
Table - набір даних, заснований на таблиці БД;
Query - набір даних, заснований на SQL-запиті;
StoredProc - виклик збереженої процедури серверу;
DataBase - з'єднання з БД;
Session - поточний сеанс роботи з БД;
BatchMove - виконання операцій над групою записів;
UpdateSQL - модифікація набору даних, заснованого на SQL-запиті;
NestedTable - вкладена таблиця;

Мал. 1.1. Сторінка Data Access
На сторінці Data Controls (мал. 1.2) знаходяться візуальні компоненти, призначені для управління даними:
DBGrid - сітка (таблиця);
DBNavigator - навігаційний інтерфейс;
DBText - напис;
DBEdit - однорядковий редактор;
DBMemo - багаторядковий редактор;
DBImage - графічний образ;
DBListBox - простий список;
DBComboBox - комбінований список;
DBCheckBox - незалежний перемикач;
DBRadioGroup - група залежних перемикачів;
DBLookupListBox - простий список, формований по полю іншого набору даних;
DBLookupComboBox - комбінований список, формований по полю іншого набору даних;
DBRichEdit - повнофункціональний тестовий редактор;
DBCtrlGrid - модифікована сітка;
DBChart - діаграма;

Мал. 1.2. Сторінка Data Controls
На сторінці Decision Cube (мал. 1.3) знаходяться компоненти, призначені для побудови систем ухвалення рішень:
DecisionCube - куб багатовимірних даних;
DecisionQuery - набір, що містить багатовимірні дані;
DecisionSource - джерело багатовимірних даних;
DecisionPivot - двовимірна проекція багатовимірних даних;
DecisionGrid - сітка для табличного представлення багатовимірних даних;
DecisionGraph - графічне представлення багатовимірних даних.

Мал. 1.3. Сторінка Decision Cube
На сторінці QReport (мал. 1.4) знаходяться компоненти (в основному візуальні), призначені для побудови звітів:
QuickRep - звіт;
QRSubDetail - смуга звіту для таблиць, зв'язаних відношенням "головний-підлеглий ";
QRStringsBand - рядкова смуга звіту;
QRBand - смуга звіту;
QRChiidBand - дочірня смуга звіту;
QRGroup - група;
QRLabel - напис;
QRDBText - текстове поле набору даних;
QRExpr - вираз;
QRSysData - системна інформація;
QRMemo - багаторядковий текст;
QRExprMemo - багаторядковий вираз;
QRRichText - форматований текст;
QRDBRichText - форматований текст поля набору даних;
QRShape - геометрична фігура;
QRImage - графічний образ;
QRDBImage - графічний образ поля набору даних;
QRCompositeReport - складовий звіт;
QRPreview - вікно проглядання звіту;
QRTextFilter - текстовий фільтр;
QRCSVFilter - CSV-фільтр;
QRHTMLFilter - HTNL-фільтр;
QRChart - діаграма.

Мал. 1.4. Сторінка QReport
На сторінці InterBase (мал. 1.5) знаходяться компоненти, призначені для роботи з сервером InterBase:
IBTable - набір даних Table;
IBQuery - набір даних Query;
IBStoredProc - виклик збереженої процедури серверу InterBase;
IBDatabase - з'єднання з БД;
IBTransaction - транзакція;
IBUpdateSQL - модифікація набору даних, заснованого на SQL-запиті;
IBDataSet - джерело даних;
IBSQL - виконання SQL-запиту;
IBDatabaselnfo - інформація про БД;
IBSQLMonitor - монітор виконання SQL-запитів;
IBEvents - подія серверу.

Мал. 1.5. Сторінка InterBase
Багато компонентів цієї сторінки є аналогами відповідних компонентів сторінки Data Access і відрізняються тільки тим, що призначені для роботи саме з сервером InterBase. Компоненти сторінки Data Access є більш універсальними і дозволяють створю