Возможности 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 |
1 |
|
|
|
2 |
|
|
|
3 |
|
|
|
Теперь можно всегда получить 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) предыдущий материал | следующий материал |