Базис
р
базы
Михаил МАСЫК
В качестве базовой IDE выберем Delphi. А почему, собственно, Delphi? — спросите вы. Чем не угодил
C++ или Visual Basic? Во-первых, почему-то именно Delphi, по всенародному признанию, является
«базовой» средой разработки, в то время как VB идеально подходит для Microsoft-технологий, а C++ —
для системного программирования. Ну, а во-вторых, Паскаль я знаю значительно лучше, чем С или
Бейсик, соответственно, и объяснить смогу быстрее и понятнее.
Продолжение, начало см
. в МК, №21, 26 (296, 301)
Технологии доступа
К
ок мы уже отмечоли в предыдущ ей статье, л ю б о е при-
лож ение б оз донных имеет в своем составе или исполь-
зует внешний мехонизм для доступа к данным, который
заним ается рутинной роботой , как-то: поиск и у стан ов-
ление связи с б озо й данных, поиск и открытие таблиц, чте-
ние служ ебной инф орм оции и м ногое-м ногое другое.
Для доступа к б а зо м донных из Delphi есть четыре осн о в-
ных решения. Во-первых, через фирменный м еханизм Б о р -
ланда
BDE (Borland Database Engine).
Э т о т с п ос о б Borlond
довольно долго реком ендовала для р а з-
работки приложений б а з донных. П ри
использовании B D E р о зр о б о тч и к а не
волную т проблем ы с переносим остью ,
версиями О С , типом используемой СУБД.
Результат платы за универсальность —
довольно медленной р а б о та с б озо й и
необходим ость устоновки B D E но кли-
ентской м аш ине, о это окол о 15 М б.
С е й ч о с Б о р л ан д о ткозол ось от этого
м ехонизм а в пользу
dbExpress,
который
рассм отривается ниже.
С а м о соб о й разум еется, M icrosoft
тож е р а зр о б о то л о свой м ехонизм д о с -
тупа к донным —
Microsoft ActiveX D a -
ta Objects (ADO ),
основанны й но в о з-
м ож ностях
СОМ
(если быть б ол е е точ-
ным — но интерф ейсах
OLE DL
?). Э т о
технология обе спечи вает единый с п о -
с о б д оступо к источникам донных, будь
то б о за данных, Excel-таблицо или тек-
стовый файл. П ри этом вом тож е не
придется беспокоиться ни зо тип бозы донных, ни зо допол-
нительное програм м ное обеспечение (оно идет в составе
О С ). Н е только я, н о и, наверное, сом Гейтс не зноет, п о -
чем у A D O , которая так кр осиво выглядит в документации,
«не пош ла» © . Л и чно м ое имхо: настраивать эти интерф ей-
сы — это как устанавливать 95-й Виндовз на нестондортную
о п п о р о тур у © .
Есть ещ е один вари ант о т B orland — уже упом инавш ийся
мехонизм
dbExpress.
Э т о технология бозируется на н аб о р е
драйверов, которы е реолизованы в виде динамически под-
ключаемых библиотек. Для получения донных из бозы исполь-
зуются исключительно запросы SQ L. П ри этом отсутствует
кэш ирование данных на стор оне клиента (вош его прилож е-
ния). Результат — ограничение возм ож ностей нош его при ло-
жения, ноприм ер: добавл ени е или изменение донных пр ои з-
водится только через запросы SQ L. Д онная технология иде-
ально подходит для создония небольш их настольных прило-
жений, которы е р а б о та ю т с небольш ими бозом и данных.
Ноконец, последний м ехонизм доступо к данным —
Inter-
base Express (IBX).
Реализованны й на API
Interbase,
он иде-
ольно подходит для раб оты с lnterbose-бозом и, совм ещ оя в
себе удобства B D E и неприхотливость dbExpress. Его глав-
ный недостаток — поддержко только Interbase — нос волно-
вать пока что не должен, так что но этом вари анте мы и ос-
тоновимся. Вдобовок, он ещ е и бесплатный — и дож е в ис-
ходных кодох, если мне помять не изменяет.
Данных мне, данных!.
.
В основе л ю б ого приложения б а з донных леж от н оборы
данных, которы е мы получили из базы для п р осм отр о и/или
редоктировония. Кождый н а б о р данных по сути представля-
ет соб ой результат выполнения S Q L -зопроса, о значит —
табли цу (о РБД ещ е помните?). В Delphi р е ал и зо ван о м н о -
ж ество н о б о р о в донных для каждой из технологий доступа
но о сн ове о б щ е го потом ка — клосса
TDataSet.
Для о т о б р а -
жения полученных данны х есть н о б о р
ком понент но вкподке
DataControls,
ко-
тор ы е являются точными копиями своих
V C L-собратьев из вкладок
Standort
или
Additional,
с той лишь разницей, что они
могут автомотически зополняться нуж-
ными зночениями из н о б о р о донных. Н у
о связывоет эту «сладкую парочку» тр е -
тий тип ком понент —
TDataSource.
То-
ким о бр озом , н о ш о схем а приложения
из первой статьи приним ает следующ ий
вид, кок на
рисунке 1.
С одним ком понентом T D a to So u rce
принято связывать несколько ком понент
отображ ения донных через их свойст-
во
D a ta S o u rc e .
Чем удобен такой под-
ход, ток это тем, что, изменяя свойство
одного только TD otoSource, мы у п р а в -
ляем ср озу всеми ком понентам и о т о -
браж ения донных. К ром е того, T D o to -
Source оргонизует передачу данных из
н о б о р о донных в ком поненты о т о б р а -
жения, синхронизируя их текущ ее зночение с текущ ими зн о -
чениями полей.
Н о оставим пока в покое визуальные ком поненты и воз-
вратимся к доступу к нош ей базе.
А он, кок ни странно, тож е организуется три ад ой ком по-
нентов (до, м ноговото триод, м не тож е так кажется © ) со
строницы
палитры компонентов
Interbose. П ервы й из них —
это TIBDatabase. О н используется для соединения с б озой
данных и для упровления свойствам и и пором етрам и соеди-
нения. У ком понента есть собственный редактор, который
очень похож на ре доктор создония б озы донных в IB Expert'e.
Ток что «нокликоть» в нем соединение с нош ей б озо й не с о -
ставит труда. Вторым будет ком понент н а б о р а донных. Все-
го в каждой из рассм отренны х технологий доступо их кок м и-
нимум дво. Во-первых, это T Q u e ry или его ближ ойш ий род -
ственник, ну о во-вторых, ТТаЫе и иже с ним. С пом ощ ью
первого ком понента вы м ожете получить в свое распоряж е-
ние н о б о р донных — результат исполнения S Q L -зопросо; вто-
рой служит для получения ср о зу всей таблицы. Хочу преду-
предить: использование ТТаЫе,
TIBTable
и им подобны х не
приветствуется увож ою щ им и себя прогромм истоми. Э т о сви-
детельство плохого знония SQ L, скудности ф онтозии и чрез-
м ерной лени (во всем, что касается оптим изации их прогром м
программ исты не то что не ленивы — они сверхактивны и
№ 29/304 19 июля-26 июля 2004
предыдущая страница 42 Мой Компьютер 2004 29 читать онлайн следующая страница 44 Мой Компьютер 2004 29 читать онлайн Домой Выключить/включить текст