Thu, 17 May  |   Login English version  |  OS2.Ru  
В начало
Об OS/2
Новости
Публикации
DevCenter
База данных
Каталог ресурсов
Биржа труда
TeamDB
Форумы и общение
Опросы и конкурсы
Russian Team OS/2
На первую страницу OS2.Ru
 Вокруг OS/2 |  Программы и технологии |  Аппаратура |  Разработчикам |  Мастерская
Поиск по: Добавить закладку OS2.Ru в панель Netscape 6/Mozilla
OS2.Ru > Articles > Dev > Pub > Db > Dbexpert
2000-07-22
Сергей Посохов
(версия для печати)

Работа с базами данных: DBExpert

Возможности DBExpert

DBExpert позволяет разрабатывать приложения для работы с базами данных с использованием языка запросов SQL. С помощью DBExpert вы сможете получить доступ к системам управления базами данных (СУБД) DB2 и Oracle, работающим на вашей машине или в сети, а также к таблицам DBase IV, расположенным на жестких дисках.

DBExpert позволит вам:

  • просматривать данные в таблицах
  • сделать оконную оболочку (формы) для доступа к данным
  • строить запросы для выбора значений
  • получать документы для печати (отчеты)

Оболочка дополняется с помощью языка Rexx - к каждому полю ввода, кнопке и т. д. можно прикручивать обработчики событий, которые вызываются при изменении поля ввода, нажатии на кнопку и т. д. Используя Rexx вы сможете разработать оболочку любой сложности.

DBExpert просто установить и настроить, он требует мало памяти, ему не нужен быстрый процессор, и главное - за него не нужно платить :-)  просто скачайте его с  www.sundialsystems.com или с beit.fcn.ru и работайте в свое удовольствие!

Установка DBExpert

Установка DBExpert не займет у вас много времени - вам надо запустить Setup.exe, после этого файлы будут переписаны в каталог "C:\DBExpert". Перезагрузка не требуется - все просто.

Сложности начнутся, если вам вдруг захочется поставить его в другой каталог, например, в "D:\DBExpert". В этом случае вы не сможете запустить пример, потому что в нем задан путь "C:\". Можно попробовать изменить его с помощью Hiew, но...

Также вам необходимо установить какой-нибудь принтер в OS/2, хотя бы "IBMNull", иначе построитель отчетов вас не поймет.

После установки вы увидите на рабочем столе папку со значками DBExpert. Запускайте его.

Подготовка DBExpert к работе с DB2

Если вы работаете с СУБД DB2 и хотели бы подключиться к ней с помощью DBExpert, вам необходимо "привязать" его к вашим базам данных. Для этого используется Client Configuration Assistant - приложение, которое входит в состав DB2.Вам надо вызвать его, выбрать в списке базу данных, нажать на кнопочку "bind", и подсунуть ему файлик с расширением "bnd", который лежит в каталоге DBExpert. После этого DB2 будет "узнавать" его и вы сможете работать с ее таблицами.

Снаружи и внутри

После запуска вам будет предложено создать пустую базу данных или открыть пример. Вы увидите окно базы данных, которое должно содержать (а в примере - уже содержит) списки доступных таблиц, построенных запросов и так далее. Вы можете менять их, создавать новые или удалять:

[ окно базы данных ]
Окно базы данных
(330x300, 5.5 КБайт)

А внутри DBExpert обработка данных выполняется так:
 

Представление данных:
формы и отчеты
<-
Выбор данных:
таблицы и запросы
<-
Источники данных:
DBase IV, DB2, Oracle

Как правило, пользователь работает с оконной оболочкой. Он может просмотреть и исправить данные, печатать отчеты и так далее. Также он может просмотреть содержимое таблицы и сделать запрос, например, получить значения сразу из нескольких таблиц. Для доступа к источникам данных  используются переходники, так называемые драйверы ODBC, так что оболочка, с которой работает пользователь, не зависит от источников данных.

Понятия "таблица в DBExpert" и "таблица DBase IV и DB2" - не одно и то же. Первое - всего лишь представление ваших данных, второе - их источник. Источники данных могут быть различными, а представление их всегда одно.

Работа с таблицами.

Таблицы позволяют связать данные и упорядочить их. Предположим, вы хотите сделать записную книжку, в которой будут имена и телефоны ваших знакомых. Для этого надо сделать таблицу:
 


Имя
Телефон
e-mail
     
     
     

Теперь можно всегда получить e-mail зная имя. Строки можно расположить по возрастанию, значение "номер строки" можно будет использовать в других таблицах и т. д.

Для создания новой таблицы в DBExpert с источником данных для нее надо нажать на кнопочку "New" в окне базы данных. Вы увидите окно, в котором можно задать поля (столбики) будущей таблицы, ключи для упорядочения данных, указать каким должен быть источник:


 
Задание полей таблицы
(620x400, 8 КБайт)
Задание ключей
(620x400, 9 КБайт)
Задание источника
(620x400, 7.5 КБайт)

При первом создании таблицы DBExpert создает источник данных для нее, а при изменении - меняет его свойства, так что таблицу можно сразу начать использовать:


Заполнение таблицы
(620x400, 6 КБайт)

Также вы можете создать в DBExpert таблицу для работы с существующим источником. Для этого надо выбрать в меню "File" строку "Attach table", а затем указать источник данных:


Выбор источника для присоединения таблицы
(350x190, 3 КБайта)

При работе с DBase IV вам потребуется задать имя файла на диске, а при работе с DB2 - название базы данных и таблицы в ней, вот так:
 

Выбор базы данных
(350x190, 3 КБайта)
Выбор таблицы
(350x190, 4.5 КБайта)

После этого вы можете открыть таблицу и посмотреть ее содержимое. Исправлять данные можно если у вас есть необходимые права доступа.

Для изменения существующей таблицы надо нажать на кнопочку "Design" в окне базы данных. Можно менять поля и набор ключей, а также перенести данные в другой источник - будьте осторожны :-)

Для удаления таблицы надо нажать на кнопочку "Delete" на клавиатуре.

Формы

Формы предназначены для того, чтобы отобразить данные в удобном для пользователя виде. Это - оконная оболочка для базы данных, которая позволяет сосредоточиться на решении ежедневных задач. Примеры форм вы можете найти где угодно - поиск на страничке OS2.ru это тоже форма. 

В DBExpert формы могут содержать:

  • надписи, линии, прямоугольники
  • нажимаемые и выбираемые кнопки и рамки для них
  • поля ввода, связанные с полями таблиц
  • списки, значения в которых связаны с таблицами
  • графики

Часто при выборе значения в списке, нажатии на кнопку, переходе от одного поля ввода к другому и т. д. требуется выполнять какие-то действия. Для этого пишутся обработчики событий на языке Rexx. Использование этого языка позволяет расширить возможности DBExpert-а и разработать настоящее приложение для OS/2.

Для начала можно сделать простую форму, которая позволит работать с записной книжкой. Пусть таблица уже сделана, можно вызвать список форм и ткнуть в кнопочку "New". Появится окно для выбора таблицы:


Выбор таблицы для формы
(350x190, 3.5 КБайта)

После этого создается простая форма:
 

Окно построителя
(620x400, 12.5 КБайт)
Окно формы - записная книжка
(375x210, 4 КБайта)

В окне построителя можно задать внешний вид записной книжки,добавить новые поля ввода, задать обработчики событий и так далее - и сразу же посмотреть, как все это работает.

Если форма должна быть напечатана, ее можно превратить в отчет, выбрав строку "Save as Report" в меню "File".

Запросы

Запросы в DBExpert, как и таблицы, позволяют обратиться к источникам данных, но, в отличие от таблиц, они позволяют задать условия для выбора значений.

Пусть у вас есть таблица с продажами, в которой записаны дни и число продаж, а также города и все остальное (похожая таблица есть в примере к DB2) и вы хотите выбрать данные за последний год. Тогда вам надо послать СУБД примерно такой запрос на языке SQL, который очень похож на английский: 

select
    *
from
    sales
where
    sales.sales_date >= началоГода()
and
    sales.sales_date < конецГода()

При выполнении этого запроса сначала происходит вызов методов "началоГода" и "конецГода", которые были сделаны разработчиком, и в последние строки запроса подставляются значения, которые они возвращают. Затем происходит выбор данных в соответствии с этими значениями. Вы можете один раз написать запрос и выполнять его много раз, получая тот набор данных, который вам требуется.

Создание и изменение запросов в DBExpert выполняется так же, как и создание и изменение таблиц - нажимайте на кнопочки "New" и "Design" и вперед. Запросы надо создавать только тогда, когда у вас уже есть таблицы и они содержат какие-то данные - например, если вы подключили таблицу с продажами от DB2. Можно попробовать построить запрос "сколько было продаж в городе Квебеке в Канаде", тем более что большая куча мусора (именно так и выглядят большинство баз данных) для этого примера уже есть  - IBM постаралась :-)

Прежде всего DBExpert спросит, какие таблицы надо использовать:


Выбор таблицы для запроса
(620x400, 9 КБайт)

После того, как была выбрана таблица, можно начать строить запрос:


Окно построителя запросов
(620x400, 8 КБайт)

В верхней части окна построителя показаны выбранные таблицы, в нижней - столбики запроса, который должен быть получен. Поля таблиц можно переносить вниз с помощью правой кнопки мыши, задавая столбики запроса:
 

Запрос о продажах в городе Квебеке
(620x400, 8 КБайт)
Запрос о продажах на языке SQL
(375x210, 10 КБайт)

Продажи требуется сложить, распределив их по городам, поэтому для полей "город" и "число продаж" были заданы действия "group by" и "sum". Чтобы выбирать данные только для Квебека, для поля "город" было задано условие "Que%". Когда запрос был выполнен, получилось вот что:
 

Просмотр запроса в DBExpert
(620x400, 5 КБайт)
Просмотр запроса в DB2
(650x450, 11 КБайт)

Точно так же можно получать запросы из нескольких таблиц, выполняя для их полей действие "join". Такой запрос есть в примере к DBExpert.

Запросы, приводящие к изменению или удалению данных выполнять нельзя. Для этого надо использовать язык Rexx или работать с DB2 Control Center.

Отчеты

Очень часто базы данных используются для уменьшения бумажной работы - чтобы не заполнять бланки, пользователь заносит данные в формы и смотрит, что получилось, как в предыдущих примерах. Однако печатать документы иногда все-таки требуется. Для этого и сделаны отчеты.

Отчет устроен следующим образом:
 

Общий заголовок (Form header)
Заголовок страницы (Page header)
Строки отчета (Details)
Подпись для страницы (Page footer)
Завершающая часть (Form footer)

Как правило, отчеты содержат данные, полученные с помощью запросов - пользователь задает условия для выбора значений и получает документ. Можно создать отчет, в котором будут отражены продажи в городе Квебеке.

Для создания отчета надо нажать на кнопочку "New" и выбрать таблицу или запрос. После этого отчет можно подправить, просмотреть и распечатать:
 

Построитель отчетов
(620x400, 16 КБайт)
Просмотр отчета
(620x400, 6 КБайт)

При печати можно выбрать принтер, задать отступы от края страницы и так далее.

Rexx

Оболочка для базы данных, разработанная с помощью DBExpert, может быть расширена с помощью языка Rexx, хорошо знакомого всем, кто работает с OS/2. DBExpert использует Classic Rexx, встроенный в OS/2, так что все возможности этого языка будут доступны и при работе с базами данных. Кроме обычных методов Rexx-a разработчик получает также методы для:

  • выполнения действий с числами - например, |x| и xy
  • преобразования данных - время в число, число в строку и т. д.
  • поиска значений в таблицах без использования запросов
  • подсчета значений - min/max, среднее
  • управления формами - команды "сохранить запись", "перейти к следующей" и т. д.
  • открытия и закрытия окон, выбора полей ввода, задания значений в них
  • чтения и записи данных в виде текстовых файлов
Трудно поверить, что кто-то пользуется всеми этими возможностями! Но это так :-)

Обсудить материал (число отзывов:0)
предыдущий материал  |  следующий материал


 Вокруг OS/2 |  Программы и технологии |  Аппаратура |  Разработчикам |  Мастерская


Новости
15/08: GoldenCode выпустит Java 1.4 для OS/2
14/06: Fix #16 rus / Warp4
30/05: Перерыв в работе OS2.Ru
Все новости..

В каталоге
Дерево каталога
Новые поступления

Публикации
Боремся с зависанием PM и зомби - WatchCat + HardKill
(Samorukov Alex , 2001-10-11)

DSync - куда может быть проще?
(Okounkov Konstantin, 2001-09-28)

WarpGoGo: переводим музыку в MP3
(Okounkov Konstantin, 2001-09-26)

Все материалы

Решения
Tips & tricks

Активные опросы
Используете ли Вы OS2.Ru tab в Netscape ?

Все опросы
Первая страница  |   Об OS/2  |   Новости  |   Публикации  |   База данных  |   Каталог ресурсов  |   Биржа труда  |   TeamDB  |   Форумы общения  |   Опросы и голосования  |   OS2.Ru DevCenter
Дизайн, оформление © 1996-2000 Copyright WebTeam. Использование материалов OS2.Ru без согласия авторов и координаторов запрещено
Powered by OS/2