Реалізація бази даних

Відзначимо, що для перевірки роботи розглянута база даних спочатку реалізована і тестована з використанням СУБД Access. Інтерфейс користувача БД виконаний із застосуванням меню (рис. 15.3). Такий підхід дозволив не тільки відпрацювати основні положення роботи користувача з БД, а й уніфікувати алгоритм програми за допомогою системи використовуваних далі шаблонів.

Разом з тим СУБД Access стикається, як зазначалося раніше, з серйозними проблемами створення мережевого варіанту (розподіленої БД), що визначається технічним завданням. У силу цього подальший виклад стосується СУБД InterBase в середовищі Delphi.

Інтерфейс користувача, реалізований в СУБД Access

Рис. 15.3. Інтерфейс користувача, реалізований в СУБД Access

Система реалізації режиму клієнт-сервер

Рис. 15.4. Система реалізації режиму клієнт-сервер

Система реалізації БД в режимі клієнт-сервер показана на рис. 15.4.

У режимі клієнт-сервер виділяються два варіанти; локальний (сервер і клієнт розташовані на одному комп'ютері) і віддалений (сервер і клієнт - на різних комп'ютерах).

Розглянемо послідовно названі варіанти, при цьому в локальному варіанті процедуру фрагментації опустимо.

Локальний варіант режиму клієнт-сервер

Режим клієнт-сервер може бути побудований за допомогою:

  • 1) прямих запитів до сервера (через компонент Query);
  • 2) запитів через збережені процедури, "розташовані" на сервері.

Перший спосіб докладно описаний в [19]. Для нього характерна висока обчислювальна навантаження клієнтів, в силу чого такий спосіб зручніше назвати квазірежімом клієнт-сервер.

Більш грамотним - для реалізації алгоритму додатки - є другий спосіб з використанням для збережених процедур вкладеного мови SQL. Розглянемо його більш докладно.

СУБД InterBase "працює" з вкладеним мовою SQL. У той же час запити з клієнтського застосування здійснюються за допомогою інтерфейсного SQL через компонент TQuery і мови програмування Object Pascal (можливо через формований SQL- запит).

Неважко бачити, що серед типів даних немає лічильника (автоінкремент - в СУБД Paradox). Його замінює спеціальна програма, що отримала назву генератор. Генератор зазвичай пов'язують з SQL- оператором або тригером, рідше - з збереженої процедурою.

Не передбачено у InterBase і напівавтоматичне завдання умов на значення, посилальної цілісності, як це має місце в СУБД Paradox, Умови на значення і обмеження визначаються обмеженнями CONSTRAINTS, що задаються в неявному (без зазначення імені) або явному (із зазначенням імені) видах.

Для реалізації інших процедур використовують додаткові програми, звані тригерами. Вони "працюють" з подіями Before * (до), After * (після) будь-яких змін в таблицях. Генератори, збережені процедури, тригери пишуться на вкладеному мові програмування SQL.

А. ВЛАСНЕ БД. У побудові БД на сервері раніше виділяється формування аліаса і структури БД, заповнення таблиць даними.

Аліас. Виберемо як імені аліаса priem_s. У СУБД InterBase всі об'єкти поміщаються в один файл. У зв'язку з цим спочатку слід створити файл БД (з ім'ям priems) за допомогою утиліти WISQL. Її запуск здійснюється через елемент Interbase 4.2 / W1SQL головного меню Windows.

У головному меню WISQL виберемо File / Create Database і у вікні Create Database встановимо локальний варіант InterBase (Local Engine), ім'я користувача (шлях, наприклад, D: studentChcrt_clpriems.gdb) і пароль (за замовчуванням - masterkey) системного адміністратора для локального сервера InterBase.

Для надійної "русифікації" у вікні Database Options слід вказати DEFAULT CHARACTER SET WIN 1251.

Натискання кнопки OK призводить до запам'ятовування файлу БД.

Завдання імені БД можливо і програмно - за допомогою script- файлів, описаних пізніше.

Тепер можна - для формування аліаса - звернутися до утиліти BDE Administrator. В її головному меню через Object / New виберемо у вікні New Database Alias як ім'я драйвера INTRBASE (INTERBASE!). Замінимо його на priem s. У правому вікні в рядку SERVERNAME вкажемо шлях до створеному файлу. У рядку USERNAME задамо ім'я SYSDBA. Клацнемо правою кнопкою миші на імені аліаса в лівому вікні і виберемо елемент меню Apply і зафіксуємо створений алиас. Натиснемо "+" зліва від імені аліаса і у вікні введемо пароль masterkey.

Помстимося, що ім'я користувача та пароль є засобами зашиті БД і при роботі InterBase будуть часто запитуватися. На час налагодження БД такий запит можна заблокувати.

Створення аліаса закінчено.

Його можна використовувати безпосередньо в компоненті Query однойменної ланцюжка доступу до БД. Однак переважно - для поліпшення процесу управління БД - перед об'єктом Query в головний формі Delphi вставити компонент Database (зазвичай один для бази даних). У ньому в якості властивості AliasName встановимо priern_s, а в якості властивості DataBase Name - priem_ss. Тепер аліасом для компонент Query стане priem_ss.

 
< Попер   ЗМІСТ   Наст >