Visual Query Builder (VQB) является
визуальным средством для
построения запросов, базирующихся
на SQL. С помощью этого средства
можно строить комплексные запросы,
обладая некоторыми знаниями SQL или
не имея таких знаний вовсе. Запросы
строятся шаг за шагом путем
последовательного добавления
выражений, таблиц, полей и
отношений, пока не получится
требуемый результат.
Visual Query Builder можно вызвать, выбирая
компонент TQuery и нажимая правую
кнопку мыши, после чего появляется
контекстное меню, из которого
следует выбрать опцию Query Builder.
Примечание. Visual Query Builder входит в
комплект поставки не всех версий
Borland C++ Builder либо может быть не
установлен. В этом случае в
контекстном меню может не быть
соответствующей опции.
После выбора Query Builder на экране
появится диалоговая панель Databases,
позволяющая выбрать БД и
осуществить соединение с ней (рис.
1).
Рис. 1. Выбор псевдонима
базы данных
После соединения с базой данных
на экран выводится окно Visual Query Builder
и диалоговая панель для выбора
таблиц, используемых в запросе (рис.
2).
Рис.2. После соединения с
БД появляется окно Visual Query Builder и
диалоговая панель Add Table.
Панель инструментов Visual Query Builder
позволяет выбирать операции,
которые можно выполнить при
создании, тестировании и просмотре
текста запроса. Таблица 8.1
описывает назначения кнопок на
панели инструментов Visual Query Builder:
Таблица 1. Панель
инструментов Visual Query Builder
Кнопка |
Назначение |
|
New |
Создает новый запрос. |
|
Open |
Открывает файл
запроса. |
|
Save As |
Сохраняет запрос в
файле. |
|
Options |
Помещает на экране
диалоговую панель Options,
позволяющую установить
различные опции запроса. |
|
Table |
Помещает на экран
диалоговую панель Add Table,
позволяющую вносить таблицы в
оператор SQL. |
|
Expression |
Помещает на экран
диалоговую панель Expression,
позволяющую создавать
вычисляемые поля, допустимые с
точки зрения языка SQL. |
|
SQL |
Выводит окно с
текстом сгенерированного
SQL-запроса. |
|
Run |
Выполняет
сгенерированный запрос и
выводит на экран результаты. |
|
OK |
Устанавливает
свойство SQL компонента TQuery
равным сгенерированному
запросу и закрывает Visual Query
Builder. |
|
Cancel |
Отменяет присвоение
свойства SQL компонента TQuery и
закрывает Visual Query Builder. |
|
Help |
Выводит на экран
оперативную помощь для Visual Query
Builder. |
Диалоговая панель Add Table (рис. 2)
появляется при открытии Visual Query Builder
или при выборе соответствующей
кнопки диалоговой панели. Она
позволяет вносить в запрос таблицы,
выводя список всех таблиц в текущей
БД. Если отметить опцию Include System Tables,
для построения запроса будут
доступны системные таблицы данной
БД.
Рис. 3. В рабочем
пространстве окна Visual Query Builder
появится таблица, выбранная из
списка
Для внесения одной или более
таблиц в запрос следует выполнить
следующее:
- Если диалоговая панель Add Table не
присутствует на экране,
щелкнуть кнопкой Table на панели
инструментов, чтобы вывести ее
на экран.
- Выбрать имя таблицы из списка
таблиц в диалоговой панели и
щелкнуть на кнопке Add. Описание
структуры выбранной таблицы
появится в верхней части окна
окна Visual Query Builder.
- Повторить п.2, пока все
требуемые таблицы не будут
внесены в запрос, и затем
нажать кнопку Close.
Чтобы внести колонку одной из
таблиц в запрос, нужно выбрать имя
колонки и затем перетащить эту
колонку и поместить ее на таблицу в
нижней части окна, либо дважды
щелкнуть на имени колонки. Для
выбора всех полей таблицы следует
перетащить в нижнюю часть окна
значок * , находящийся над списком
полей таблицы.
Рис. 4. Создание
комбинированного запроса
Чтобы скомбинировать информацию
из нескольких таблиц, нужно
определить, как будут соединяться
разные таблицы. С помощью Visual Query
Builder можно определить колонки,
имена которых служат для связи
таблиц. С этой целью нужно выбрать
имя колонки, по которой
осуществляется межтабличная связь,
в одной из связываемых таблиц,
нажать левую клавишу мыши и
переместить курсор (он изменит
форму) на имя соответствующей
колонки другой таблицы. В
результате в рабочем пространстве
запроса образуется линия,
связывающая колонки этих двух
таблиц (рис. 8.7).
Можно просмотреть или
отредактировать критерий
соединения таблиц, два раза щелкнув
на линии, показывающей это
соединение в верхней части окна Visual
Query Builder. При этом появляется
диалоговый блок Join (рис.5):
Рис. 5. Выбор критерия
соединения таблиц
Чтобы определить критерий отбора
для запроса, нужно использовать
строку Criteria таблицы в нижней части
окна Visual Query Builder.
Строка Criteria допускает любые
выражения запроса, являющиеся
допустимыми с точки зрения
предложения WHERE оператора SQL (табл.
2).
Таблица 2. Допустимые
выражения в предложении WHERE
SQL-запроса
Выражение |
Описание |
= |
Равно |
> |
Больше, чем |
< |
Меньше, чем |
!= |
Не равно |
like |
Строка символов в
сравнении с образцом. |
Between |
Не меньше, чем
начальное значение и не больше,
чем конечное. |
In |
Содержится в списке |
Выражения, введенные в строку
Criteria, являются условиями AND.
Например, если имеется таблица с
колонкой Name и требуется найти
каждый элемент в этой колонке,
начинающийся с буквы С, следует
ввести в строку Criteria Name LIKE'C%'.
Результат эквивалентен внесению AND
Name LIKE 'C%'в предложение WHERE оператора
SQL.
Условия OR вводятся как выражения
в строку OR (ниже строки Criteria).
Можно отсортировать результаты в
восходящем (ascending) или нисходящем
(descending) порядке для выбранной
колонки. Чтобы определить порядок
сортировки для колонки, следует
поместить указатель мыши на
колонке около строки Sort , щелкнуть
правой кнопкой мыши и выбрать Ascending
или Descending из контекстного меню.
Можно сгруппировать результаты
запроса, используя строку Option.
Если для какой-либо колонки нужно
определить опции представления
данных в запросе, следует поместить
курсор на колонке около строки Option,
щелкнуть правой кнопкой мыши, чтобы
вывести на экран контекстное меню
Option и выбрать нужную опцию.
Рис. 6. Выбор опции для
колонки
Можно определить условия для
результатов группировки, используя
строку Group Condition, что эквивалентно
внесению выражения с предложением
HAVING в SQL-операторе SELECT, использующем
предложение GROUP BY.
Visual Query Builder позволяет определить
выражения как часть запроса.
Выражения представляют собой
операции вычислений на основе
числовых значений, строковые
операции и т.д.
Чтобы создать вычисляемое поле,
следует щелкнуть кнопкой Expression на
панели инструментов. Появится
диалоговая панель Expression ( см. рис. 7).
Рис. 7. Вызов диалоговой
панели Expression .
Диалоговая панель Expression
позволяет использовать в запросах
арифметические операции умножения,
деления, сложения, вычитания, имена
колонок и составные выражения,
такие как avg, count, min, max и sum. Можно
редактировать вручную или строить
выражения, используя блок
редактора Expression.
Рис. 8. Диалоговая панель
Options
Диалоговая панель Options (рис. 8)
используется для того, чтобы
определить опции для оператора SQL.
Можно, например, удалить
повторяющиеся записи (Remove Duplicate
Records), использовав предложение DISTINCT
оператора SQL. Чтобы вызвать
диалоговую панель Options, нужно
щелкнуть кнопкой Options на панели
инструментов.
Можно выполнить запрос,
сгенерированный Visual Query Builder.
Результаты запроса отобразятся на
экране в диалоговой панели Result Window
(окно результатов). Это окно
позволяет убедиться, что колонки
запроса, критерий выбора, критерии
группировки и сортировки были
определены корректно. Чтобы
выполнить запрос, нужно щелкнуть
кнопкой Run на панели инструментов.
Появится окно Result Window, подобное
представленному на рис. 8.
Рис. 9. Результаты
запроса отобразятся на экране в Result
Window
Можно проверить текст запроса,
просматривая окно SQL Statement, для чего
следует щелкнуть на кнопке SQL на
панели инструментов. Это окно
показывает сгенерированный
оператор SQL. При добавлении или
изменении колонок запроса,
критерия отбора, критерия
группировки или сортировки
содержимое окна SQL Statement
редактируется автоматически (рис.
10).
Рис. 10. Сгенерированный
оператор SQL в окне SQL Statement.
Для завершения работы Visual Query Builder
следует нажать кнопку с зеленой
галочкой на инструментальной
панели. После этого свойству SQL
компонента TQuery, для которого был
активизирован Visual Query Builder, будет
присвоен сгенерированный текст
SQL-запроса.
|