Работа с базами данных в Loginom

Базы данных — одни из самых популярных источников информации в аналитических проектах. Loginom поддерживает работу с различными СУБД. В статье рассмотрены все этапы работы с ними: подключение, импорт и экспорт.

Наиболее простой вариант работы с данными в Loginom — использование файлов. Их применение обладает существенными достоинствами: минимум настроек, отсутствие необходимости в дополнительном ПО и прочие. Однако есть и недостатки, такие как: ограниченный функционал механизмов импорта/экспорта, отсутствие многопользовательского доступа, проблемы с обеспечением безопасности.

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

В Loginom поддерживаются следующие базы данных:

Кроме того, поддерживается работа с источниками посредством ODBC.

Работа с базами данных в Loginom требует дополнительных действий, связанных с предварительной настройкой подключения. Этот механизм позволяет многократно использовать однажды сконфигурированное подключение в пакете при импорте и экспорте, что довольно удобно.

Рассмотрим работу с базами данных в Loginom на примере подключения к PostgreSQL — популярной свободной СУБД, имеющей реализацию под множество операционных систем.

Подключение

Сначала необходимо создать подключение, содержащее все необходимые настройки для соединения с источником данных, такие как пароль/логин, расположение базы и параметры.

Для создания подключения к PostgreSQL необходимо:

  1. Перейти в раздел Подключения.
  2. Перенести компонент PostgreSQL в рабочую область (двойным щелчком или перетаскиванием).
  3. Ввести в строку подключения хост сервера, порт TCP и имя БД, разделив всё двоеточиями (пример: 10.200.1.193:5432:test_db).
  4. Ввести логин и пароль пользователя базы данных.
  5. Протестировать подключение и при отсутствии проблем сохранить.

Перечисленные шаги наглядно показаны на видео:

Частая ошибка при настройке подключения — не указывать конкретную базу данных после хоста и номера порта. Так Loginom не сможет работать, т.к. неизвестно к какой именно БД пользователь хочет подключиться.

Переиспользование подключения

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

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

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

Импорт данных

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

  1. Перейти в Сценарий.
  2. На панели Подключения выбрать настроенное ранее подключение и перенести в область построения сценария.
  3. Выбрать в разделе импорт компонент База данных и перенести в область построения сценария.
  4. Соединить порты подключения узлов PostgreSQL и База данных.

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

  1. Добавить ссылку на подключение;
  2. Добавить узел подключения.

Перенос подключения в сценарий

В первом случае в сценарий переносится подключение, параметры которого нельзя изменить. Соединение с базой будет осуществляться с теми настройками, что были произведены при создании подключения.

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

В мастере импорта можно выбрать вариант: получить таблицу или выполнить SQL-запрос. Если подключение будет активировано, то пользователь увидит таблицы/представления Базы данных. В случае если подключение не активировано, его можно активировать в мастере импорта в поле Подключение.

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

Примечание: Логика вариантов «Выбрать все поля *» и отметить галочками все поля немного отличается:

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

Таким образом, в первом случае будут импортированы все имеющиеся в таблице поля, а во втором — все отмеченные поля.

 

Импорт при помощи SQL-запроса

Для импорта можно также использовать SQL-запрос. В мастер встроены механизмы помощи при написании запроса. Например, при нажатии CTRL+Пробел выпадет список доступных функций, полей и т.п.

При написании запросов можно использовать переменные. Они передаются через входной порт переменных, а вставить их можно, используя «:name» в качестве параметра (тогда будет учитываться тип переменной) или макроподстановку «%name%».

Использовать параметры, заданные при помощи «:» можно только в секции WHERE. В отличие от них, при использовании макроподстановки переменные вставляются в запрос в виде строки. Например, так можно вставить в SQL-запрос название таблицы или любой другой фрагмент, вплоть до того, что можно передать полностью сформированный текст запроса.

Макроподстановка предоставляет больше гибкости, но требует более осторожного использования, т.к. проще допустить ошибку. Подробнее в справке.

Экспорт данных

Настроенное подключение используется не только для импорта, но и для экспорта данных. Для экспорта в БД необходимо:

  1. Перенести из раздела Экспорт компонент База данных в сценарий.
  2. Соединить узлы подключения PostgreSQL и экспорта в БД.
  3. Подключить к узлу экспорта Базы данных набор данных, которые нужно экспортировать.
  4. Зайти в настройки узла экспорта Базы данных.
  5. В настройках экспорта в базу данных выбрать имя таблицы или создать новую.
  6. Выбрать тип экспорта.
  7. Указать соответствие исходных столбцов полям таблицы и сохранить.

При экспорте данных задается вариант экспорта:

  • Дополнить таблицу данными. В этом случае строки из таблицы-источника будут добавлены к выбранной таблице БД.
  • Очистить таблицу и заполнить данными. Таблица БД будет полностью очищена и затем наполнена строками экспортируемой таблицы.
  • Удалить записи по ключевым полям. Дает возможность на следующем этапе Настройка соответствия между столбцами выбрать ключевое поле, по которому будет происходить удаление записей из таблицы БД, экспорт в данном случае фактически не производится.
  • Удалить записи по ключевым полям и дополнить таблицу данными. Это сочетание пункта Удалить записи по ключевым полям с последующим выполнением действия Дополнить таблицу данными.
  • Обновить существующие записи в таблице. Позволяет выбрать ключевое поле, по которому будет происходить обновление записей, т.е. изменяться будут только те записи, для которых совпадут ключевые поля, указанные на следующем шаге мастера.

Если данных много, то рекомендуется выполнять фиксацию (commit) после добавления определенного числа строк. Количество строк, после которых производится фиксация, задается параметром «Периодичность фиксации транзакции (строк)». Если параметр равен нулю, то фиксация производится после загрузки всех данных.

Создание таблицы в БД при экспорте

В Loginom при работе с БД есть возможность создания таблицы. Пользователю не требуется использовать стороннее ПО для создания таблицы и полей, но у него должны быть права на выполнение данной операции в базе.

Для создания таблицы при экспорте данных требуется:

  1. Зайти в настройки узла экспорта Базы данных.
  2. Выбрать «Создать таблицу».
  3. Ввести имя таблицы.
  4. Можно изменить имена, тип и размер поля, либо добавить новое.
  5. Нажать «Создать таблицу».

Импорт и экспорт из БД наглядно показаны в видео:

Заключение

Loginom предоставляет удобные механизмы работы с базами данных:

  • поддержка популярных СУБД, включая ODBC-источники;
  • настройка и переиспользование подключений;
  • импорт таблиц, с возможностью формирования SQL-запросов;
  • несколько вариантов экспорта данных.

Безопасность доступа обеспечивается средствами СУБД, которые располагают развитыми механизмами разграничения прав.

Подробнее о подключении, импорте и экспорте Баз данных на YouTube:

Другие материалы по теме:

Работа с переменными в Loginom

Очистка данных с помощью обработчика «Дубликаты и противоречия»

Курс Loginom Skills «Работа в Loginom. Продвинутый уровень»

#loginom

Смотрите также