Четвер, 2024-04-18, 12:33
Все для ПК
Вітаю Вас Гість | RSS
Головна Каталог статей Реєстрація Вхід
Меню сайту

Категорії розділу
Delphi [2]
C++ Builder [1]
Macromedia Flash [0]

Міні-чат

Наше опитування
Скільки трафіку ви витрачаєте за місяць?
Всього відповідей: 52

WMR-бонус

Ви можете отримати WMR-бонус в розмірі 0,01-0,10 WMR на свій гаманець 1 раз на добу

Гаманець
Код Захисний код

Бонус представлений сервісом www.wmcasher.ru
при підтримці
Заробіток для всіх


Інтернет-магазин
Увага! Відкрився новий інтернет магазин у м. Снятин. Всі охочі, заходьте на сайт imarket.storeland.ru

Варто почитати

Головна » Статті » Програмування » Delphi

BORLAND DELPHI: Бази даних на DELPHI – BDE
omnia mea mecum porto.

bias

Все своє ношу з собою.

Біант



Проте існує цілий ряд доводів, проти використання bde:

ціна: клієнт-серверна версія borland delphi, що включає sql links, коштує більше 2000 дол. США, тоді як для будь-якого з серверів баз даних можна знайти рішення, яке буде швидшим, простішим і дешевшим;
розміри дистрибутива: використовуючи bde при розробці ви, фактично, додаєте 2 дискети до свого дистрибутива;
конфлікти: можливий конфлікт встановлюваного застосування з програмами, що вже встановленими на даному комп'ютері і використовують старішу або новішу версію bde;
продуктивність: по суті справи, bde -- проміжне програмне забезпечення, що, природно, негативно впливає на продуктивність додатку в цілому. Особливо незручно, коли bde використовується для доступу до джерел даних через інше проміжне ПО (наприклад, odbc);
доцільність: часто об'єм даних, які необхідно зберігати, невеликий і формат їх не має значення. У такому разі цілком досить зберігати ці дані в якійсь СУБД, мінімальною функціональністю, що володіє. До того ж бажано, щоб ця функціональність була реалізована у вигляді "рідного” delphi-компонента, ізбавляющего програміста від установки на машині кінцевого користувача якого б то не було додаткового "двигуна” баз даних.
Це завдання було настільки очевидним, затребуваним і привабливим, що з виходом перших версій borland delphi з'явилися і набори компонент, що відкривають доступ до джерел даних і таких, що працюють без участі bde. Тільки широко відомих наборів компонент такого роду на сьогоднішній день налічується більше 30 (табл. 1). Умовно їх можна розбити на групи за ознакою надання доступу до тих або інших джерел даних. Ось деякі з них.



Компоненти доступу до серверів баз даних



Серед наборів компонент, що надають доступ до серверів баз даних, таких як informix, ms sql server, db2, interbase, mysql, oracle і sybase, ваша увага може привернути компоненти zeosdbo. Перш за все це пов'язано з тим, що він розповсюджується безкоштовно. Але це не єдина його гідність. До складу zeosdbo входить декілька бібліотек.



Бібліотека zeos library включає цілий спектр компонентів: перш за все для швидкого доступу до sql серверів mysql, postgresql, microsoftsql, oracle і interbase, минувши посередництво bde/ado/odbc. Бібліотека включає:

низькорівневе api для доступу до клієнтських частин mysql, postgresql і interbase;
низькорівневе об'єктно-орієнтоване api для доступу до mysql, postgresql і interbase;
tzxxsqldatabase компоненти для надання з'єднання з базою даних;
tzxxsqltransact компоненти для управління транзакціями;
tzxxsqlquery компоненти для виконання sql-запросов, перегляду і редагування вмісту простих і складних запитів select;
tzxxsqltable компоненти для перегляду і редагування БД таблиць;
tzxxsqlmonitor компоненти для проглядання витікаючих запитів на sql-сервер;
tzupdatesql компоненти для роботи із запитами;
tzbatchsql для виконання sql-скриптов.
Бібліотека zeos controls - елементи zeos, що управляють, - включає наступні елементи:

tzparser компонент для аналізу формул;
tzfinddialog і tzfilterdialog діалоги для пошуку і фільтрації;
tzdbgrid, покращувана версія стандартного компоненту з пошуком і фільтром;
tzdbhexedit компонент для редагування двійкових даних;
tzdbimage компонент для відображення зображень у форматі bmp, jpeg і gif.
У дану бібліотеку входять і утиліти для роботи з сервером mysql - interactive mysql і postgresql сервером - interactive postgresql. Ці програмні продукти дозволяють створювати і відладжувати sql-запросы, переглядати і редагувати отримані таблиці, а також blob-поля.



zeos database explorer - інструмент, що володіє всіма перевагами interactive mysql і interactive postgresql і що підтримує interbase sql і microsoft sql. Дозволяє адмініструвати всі доступні бази даних за допомогою зручного інтерфейсу. Одна з додаткових переваг - наявність засобів резервної архівації і відновлення бази даних.



Бібліотека класів для програмування на c++ для linux, що продовжує традиції бібліотек класів delphi vcl і java, містить абстрактні класи, класи для роботи зі всілякими списками, класи для роботи з базами даних, потоками, рядками, мережевими протоколами tcp/ip і так далі



Компоненти доступу до стандартних джерел даних



Серед наборів компонент, що надають доступ до стандартних джерел даних (xbase, paradox, access) можна виділити gm components. На даний момент на сайті фірми-розробника цього набору для ознайомлення доступні інсталяції для версій borland delphi 3,4,5. Всі вони є повнофункціональними, проте час роботи додатку, що використовує ці компоненти, обмежений 15 хвилинами. Процес інсталяції автоматизований і достатньо простий, після запуску інтегрованого середовища розробника borland delphi 5 з'являються 3 нових закладки - gm, gm db і gm dao, компоненти gm ado додаються на існуючу закладку ado.



На закладці gm розміщуються компоненти, що відносяться, здебільшого, до розробки інтерфейсу додатку: індикатор процесу, кнопка, селектор кольору, селектор стилю кисті, меню і так далі Багато хто з них є вдосконаленими нащадками стандартних компонент delphi і, здається, особливої цінності для розробника не представляють, оскільки існує маса безкоштовних компонент з схожою функціональністю.


Цікавішою виглядає закладка gmdb, на якій розміщені такі компоненти доступу до даним як:

db mediaplayer, що має стандартний вид windows mediaplayer;
db datagrid з індикацією проіндексованих і ключових полів;
компоненти gmdbedit, gmdbimage, gmdbmemo, gmdbrichedit, що є спадкоємцями компонент delphi з розширеною функціональністю.
На закладці ado розміщуються компоненти, що відкривають доступ до даним ole-db провайдерів, що здійснюється без використання bde.


І, нарешті, на закладці dao розміщуються чотири компоненти, що забезпечують доступ до файлів баз даних, що зберігаються у форматі ms access, а також до даним за допомогою odbc.



Для побудови нескладного додатку borland delphi, що використовує для зберігання даних базу у форматі ms access, досить виконати декілька простих кроків.

Створити файл бази даних з використанням, наприклад ms access 2000, в якому побудувати таблицю, вказати ключові поля і створити індекси.



Створити новий проект в інтегрованому середовищі розробника borland delphi і розмістити на нім:

компонент daodatabase1, встановивши властивість daolibrary рівним dldao36 у разі використання файлу бази даних ms access 2000, у властивості databasefile вказати ім'я файлу бази даних, властивість active встановити рівним true;
компонент daorecordset1, встановивши властивість daodatabase рівним daodatabase1, властивість tablename (ім'я таблиці) рівним main, властивість index рівним fio, властивість active встановити рівним true, а також в редакторові полів якого (відкрити його можна, клацнувши правою кнопкою миші на компоненті і вибравши fields editor) можна додати поля таблиці і встановити їм властивість title (заголовок);
компонент datasource1, встановивши властивість dataset рівним daorecordset1;
компонент dbnavigator1, встановивши його властивість datasource рівним datasource1;
компонент gmdbdatagrid1, встановивши його властивість datasource рівним datasource1;
Єдиним, але істотним недоліком shareware-версии даної бібліотеки компонентів, є обмеження роботи додатку п'ятнадцятьма хвилинами, після закінчення яких воно закривається без збереження не записаних даних, про що, втім, користувача чесно попереджають перед кожним запуском програми.

dbisam: давайте познайомимося.



До наборів компонент, що надають доступ до даним, що зберігаються тільки у власному форматі, відноситься dbisam.



На сьогоднішній день остання випущена версія elevate software dbisam призначена для використання як з borland delphi 5, так і для borland c++ builder 5. До складу цього пакету входить три утиліти - dbisam database system utility, dbisam bde database transfer utility, а також customer support transfer utility. Крім того, після інсталяції цього продукту, на палітрі компонентів borland delphi з'являться дві нові закладки - dbisam і dbisam utilities - всього з дев'ятьма компонентами, яких цілком достатньо для побудови додатку, що взаємодіє з базою даних. До речі, процес інсталяції повністю автоматизований і не викличе ніяких труднощів, якщо ви володієте хоч би мінімальними знаннями англійської мови і досвідом роботи з windows.



. і попрацюємо разом: dbisam database system utility



Ідеологія створення файлу бази даних за допомогою пакету dbisam здасться вам дуже знайомій. Тільки замість використання borland database desktop нам пропонується скористатися dbisam database system utility -- утилітою для створення файлів баз даних dbisam. Якщо ви добре знайомі з borland database desktop, то особливих складнощів з використанням його альтернативи у вас виникнути не повинно.



За допомогою меню "File-new table” (альтернатива - перша кнопка на панелі інструментів) відкриємо вікно "New table”, вид якого представлений на мал. 9 (переклад доданий автором статті), і створимо просту базу даних, що містить три поля: поле npp для автоматичної нумерації записів, поле fio для запису прізвища, імені і по батькові, а також поле address - для запису адреси.



Звернете увагу на наступні особливості, підтримувані на етапі створення БД:

підтримка номера версії і опису для файлу БД;
шифрування і установка пароля;
можливість використання російської, української і білоруської мов для заповнення БД (разом з традиційними англійським, німецьким і так далі);
установка параметрів головного (первинного) індексу: установка порядку сортування, чутливості до регістра, стискування;
підтримка цілого спектру типів даних: string, blob, memo, fmtmemo, typedbinary, date, time, timestamp, boolean, smallint, word, integer, autoinc, float, currency, bcd, bytes;
підтримка вторинних індексів;
імпортування структури іншою БД (кнопка "Borrow structure.”).
Створимо для нашої БД два вторинні індекси для полів fio і address.



Для вторинних індексів також можна задати ряд параметрів:

зворотний порядок сортування ("desc”);
нечутливість до регістра ("case-ins”);
підтримка унікальності запису ("unique”);
компресію (стискування) індексу ("compression”).
Після натиснення на кнопку "save” БД зберігається на диску - процес створення завершений. Необхідно відзначити той факт, що файл БД (в даному випадку test.dat) має розширення .dat, а індекси, blob-поля і так далі, зберігаються в однойменних файлах, але з іншими розширеннями (тут - test.idx). Про це необхідно пам'ятати при перенесенні додатки на інший ПК.



Окрім створення власне БД, dbisam database system utility надає цілий ряд додаткових функцій і утиліт, які при роботі з БД забезпечують:

створення і використання sql-запросов (меню "file-new sql query”);
повноцінну роботу з БД як в ексклюзивному режимі, так і при роботі в мережі (меню "File-open table exclusive” і "file-open table shared”);
реструктуризацію (меню "utilities-restructure”), оптимізацію (меню "utilities-optimize”) і відновлення файлу БД (меню "utilities => repair”);
очищення (меню "utilities => empty”), копіювання щ(меню "utilities => сміттю”), перейменування (меню "utilities => rename”) і видалення БД (меню "utilities => delete”);
отримання інформації об версії файлу БД і можливість оновлення до поточної версії.
Небагато про реверс-інженерії



Є ще один дуже цікавий інструмент, що ховається в меню "utilities” під скромною назвою "Reverse engineer”. Цей інструмент генерує код на sql-92, object pascal для delphi або c++ для borland c++ builder (по вибору), що створює структуру вибраної бази даних dbisam.


Окрім вибору мови, на якій генеруватиметься код, надається можливість включення в нього додаткової коди, що додає існуючі дані в новостворювану таблицю БД (пункт "include code to add existing data”) .



dbisam bde database transfer utility



За допомогою цього застосування можна здійснити перенесення БД, розробленої для використання через bde, в систему dbisam.


Джерело даних можна вибирати як за допомогою існуючого псевдоніма bde ("select source alias”), так і за допомогою дерева каталогів ("select source directory”). У вікні вибору таблиць для перенесення ("select tables to transfer”) можна вибрати як один, так і декілька файлів баз даних для перенесення. Після вибору каталога призначення ("select destination directory”), залишається натиснути кнопку "Почати перенесення” ("begin transfer.”), і додаток здійснить перенесення. Дуже схоже на декілька видозмінений data pump, чи не так?



Приклад програмного інтерфейсу



Для того, щоб почати роботу з вже існуючою БД (у нашому випадку test.dat), досить створити нескладний інтерфейс за допомогою borland delphi.



У простому випадку для цього необхідно виконати ряд стандартних операцій.

Запустимо інтегроване середовище розробника borland delphi 5 і створимо нове застосування ("file-new application”).
Помістимо на форму компонент dbisamdatabase1, встановимо його властивість directory рівним каталогу, в якому знаходиться файл бази даних test.dat. Потім розмістимо на формі компонент dbisamtable1 і привласнимо його властивості databasename значення "test”, властивості tablename привласнимо значення "Test.dat”, властивості active – true. Потім натиснемо на компоненті правою кнопкою миші і виберемо "Редактор Полів” ("fields editor”), в якому знову натиснемо праву кнопку миші і виберемо "Додати всі поля” ("add all fields”). Після чого кожному з трьох полів, що з'явилися в редакторові, встановимо відповідне значення властивості displaylabel (наприклад, "№ п/п”, "Ф.І.О.”, "Адреса”). І, нарешті, перейдемо на закладку data access і розмістимо на головній формі додатку компонент datasource1, встановивши його властивість dataset рівним dbisamtable1.
Справа залишилася за двома візуальними компонентами - навігатором БД і сіткою БД. Перейдемо на закладку data controls і розмістимо на формі компонент dbnavigator1, встановимо його властивість datasource рівним datasource1, властивість align рівним altop. Із закладки dbisam utilities візьмемо компонент dbisamdbgrid1, встановимо його властивість datasource рівним datasource1, властивість align рівним alclient.
Все, що залишилося зробити, - відкомпілювати проект. Після компіляції не важко відмітити, що розмір exe-файла проекту займає близько 1 МБ, що приблизно на 400 КБ більше, ніж зазвичай в подібному випадку з bde. Цілком помірна плата за таку функціональність, чи не так?



Підведемо підсумки



На сьогоднішній день ринок альтернатив borland database engine багатий і різноманітний, і при необхідності можна достатньо легко знайти бібліотеку компонент, що володіє необхідною саме вам функціональністю, з невисокою ціною або навіть freeware. Проте, особливо у разі використання таких бібліотек в крупних проектах, необхідно звернути увагу не тільки на ціну і заявлену функціональність. Наявність серйозної документації до такого роду програмного забезпечення, можливість отримати початкові коди, оперативна технічна підтримка, тривалість існування фірми-розробника на цьому ринку, її плани на майбутнє – все це також серйозні, а може бути і вирішальні, чинники для ухвалення остаточного рішення. Головне -- щоб в результаті ваші очікування щодо вибраного програмного продукту виправдалися. А рішення у будь-якому випадку залишається за вами.



При написанні статті використовувалися матеріали з веб-сайтів відповідних фірм-виробників, а також з оглядових сайтів

Джерело: http://www.cpp.com.ua
Категорія: Delphi | Додав: Адмін (2010-03-20)
Переглядів: 4599 | Коментарі: 1 | Теги: програмування, програмирование, delphi | Рейтинг: 5.0/1
Всього коментарів: 1
1 nana  
0
Нашёл сайт-где бесплатно люди делятся своими ключами к файлообменникам!!!
Вот ссылка на тот сайт: http://skdl.ru/chat.php КОГДА появляются Ключи в СЕТИ ТО ТЬЛЬКО ЗДЕСЬ "ВСЕГДА СВЕЖИЕ КЛЮЧИ"

Ім`я *:
Email *:
Код *:
Годинник

Вхід

Пошук

Статистика

Онлайн всього: 1
Гостей: 1
Користувачів: 0

Сьогодні сайт відвідали:

Друзі сайту
www.rbdut.at.ua

 Сайт Попельниківської школи.

 Сайт села Джурів

Борцівський спортивний клуб Ластівка

[Довідник] для вчителів

Все для uCoz. ProuCoz.com

Всё для Windows

Лучшие Саундтрэки

Лучшие Саундтрэки

Портал компьютерных игр

Кнопка сайту
Сайт

Код кнопки:


Ми вконтакті

Copyright: Oleksandr Ferbey © 2024