Создание баз данных
Работа с запросами
Как нетрудно предположить, в PgAccess предусмотрены средства конструирования, редактирования и выполнения запросов. Щелкните на вкладке Queries – вы увидите список существующих запросов, определенных в базе данных. Пользователям Microsoft Access эта часть интерфейса программы покажется знакомой – визуальный конструктор запросов PostgreSQL очень похож на аналогичное средство Access.
Новый запрос создается щелчком на кнопке New, при этом на экране открывается окно Query Builder. Прежде чем переходить к конструированию запроса, введите его имя в поле Query name. Имя выбирается произвольно и никак не влияет на работу запроса. Оно нужно только для того, чтобы запрос отличался от других запросов в списке. На этой стадии также можно ввести комментарии к запросу.
Ручное построение запроса
После ввода имени можно либо ввести текст запроса вручную, либо воспользоваться визуальным конструктором для ускорения процесса. Если вы предпочитаете первый вариант, введите команду SELECT, которая будет использоваться для выборки данных, в большом многострочном поле под элементом Query name. При желании команду можно разбить на несколько строк.
Визуальное конструирование запроса
Чтобы создать запрос в визуальном конструкторе, щелкните на кнопке Visual Designer. Как упоминалось выше, по своему интерфейсу этот инструмент напоминает конструктор запросов Microsoft Access. Изначально область конструирования запроса пуста. Чтобы разместить в ней новую таблицу, введите имя таблицы в поле раскрывающегося списка Add table, где по умолчанию размещается курсор. Также можно раскрыть список существующих таблиц и выбрать таблицу там.
После того как в запрос включены все нужные таблицы, переходите к формированию связей между ними. Для этого следует перетащить мышью поле одной из таблиц на поле другой таблицы. Установленные связи отображаются в виде тонких линий, соединяющих таблицы. При перетаскивании объектов таблиц связи будут автоматически перемещаться в соответствии с заданным расположением.
Чтобы удалить таблицу из области конструирования запроса, щелкните на ее имени и нажмите клавишу Delete. Удаление связей выполняется аналогично – выделением связи и нажатием клавиши Delete.
Все связи между таблицами преобразуются в секции WHERE, определяющей условия логического объединения двух таблиц. Связи представляют условия, основанные на операторе =. Чтобы задать другое условие, отредактируйте команду SQL в окне Query Builder. Учтите, что при возвращении в режим визуального конструирования и последующем сохранении все модификации связей вернутся к условию равенства.
Чтобы выбрать поля, входящие в итоговый набор запроса, перетащите их в область результата (разделенная на ячейки область в нижней части экрана). В поле Criteria можно ввести условия, применяемые к результатам запроса. Чтобы просмотреть команду SQL, сгенерированную по итогам визуального конструирования, щелкните на кнопке Show SQL. Кнопка Execute SQL позволяет выполнить созданный запрос (с целью тестирования). Завершив построение запроса, щелкните на кнопке Save to query builder. Запрос сохраняется в таблице pga_queries.
Выполнение запроса
Чтобы просмотреть результаты выполнения запроса, перейдите на вкладку Queries, выберите нужный запрос в списке и щелкните на кнопке Open. На экране появляется окно, напоминающее окно редактирования таблицы, но доступное только для чтения. Поле Sort используется для сортировки записей по результатам выражения, а в поле Filter conditions вводится выражение для фильтрации записей.
Модификация запроса
Чтобы изменить существующий запрос, перейдите на вкладку Queries, выберите запрос в списке и щелкните на кнопке Design. На экране появляется окно Query Builder, в котором отображается имя запроса, сгенерированная команда SQL, а также все комментарии, введенные при исходном конструировании. Вы можете отредактировать код SQL вручную или воспользоваться визуальным конструктором. Кнопка Save query definition позволяет сохранить изменения в существующем запросе.
Создание функций
Чтобы создать в PgAccess новую функцию, перейдите на вкладку Functions и щелкните на кнопке New. В открывшемся окне вводится имя новой функции, список параметров (разделенный запятыми), язык, на котором написана функция (SQL, С, plpgsql и т.д.) и тип возвращаемого значения. Тело функции вводится в многострочном поле, занимающем большую часть экрана (или в отдельном файле, если это функция С). Завершив ввод, щелкните на кнопке Save.
Примечание
Вы можете просматривать определения существующих функций. Для этого следует выбрать нужную функцию в списке и щелкнуть на кнопке Open.
Мы вернемся к теме создания функций в следующей главе.