Базы данных — одни из самых популярных источников информации в аналитических проектах. Loginom поддерживает работу с различными СУБД. В статье рассмотрены все этапы работы с ними: подключение, импорт и экспорт.
Наиболее простой вариант работы с данными в Loginom — использование файлов. Их применение обладает существенными достоинствами: минимум настроек, отсутствие необходимости в дополнительном ПО и прочие. Однако есть и недостатки, такие как: ограниченный функционал механизмов импорта/экспорта, отсутствие многопользовательского доступа, проблемы с обеспечением безопасности.
Если возможностей файлов недостаточно, то следует использовать базы данных. Они позволяют одновременно работать большому количеству пользователей, предлагают развитые механизмы разграничения прав доступа, имеют механизмы обеспечения целостности и прочее.
В Loginom поддерживаются следующие базы данных:
Кроме того, поддерживается работа с источниками посредством ODBC.
Работа с базами данных в Loginom требует дополнительных действий, связанных с предварительной настройкой подключения. Этот механизм позволяет многократно использовать однажды сконфигурированное подключение в пакете при импорте и экспорте, что довольно удобно.
Рассмотрим работу с базами данных в Loginom на примере подключения к PostgreSQL — популярной свободной СУБД, имеющей реализацию под множество операционных систем.
Сначала необходимо создать подключение, содержащее все необходимые настройки для соединения с источником данных, такие как пароль/логин, расположение базы и параметры.
Для создания подключения к PostgreSQL необходимо:
Перечисленные шаги наглядно показаны на видео:
Частая ошибка при настройке подключения — не указывать конкретную базу данных после хоста и номера порта. Так Loginom не сможет работать, т.к. неизвестно к какой именно БД пользователь хочет подключиться.
Обычно в компаниях используется небольшое количество баз данных, с которыми работает много пользователей. Поэтому желательно произвести настройку подключения один раз и далее ее переиспользовать, а не выполнять эту операцию для каждого нового сотрудника.
Для этого можно создать пакет без сценариев, состоящий только из настроенных подключений. В нем задать для подключений модификатор доступа «Открытый» и разместить пакет в доступном для всех месте, например, в общей папке в файловом хранилище.
Тогда при необходимости работать с базами данных, пользователь подключает пакет со всеми настроенными источниками и использует подключения в сценарии.
После настройки подключения данные из базы можно импортировать. Для этого требуется:
Для переноса Подключения в сценарий необходимо его выделить, кликнуть правой кнопки мыши и выбрать один из двух способов:
Перенос подключения в сценарий
В первом случае в сценарий переносится подключение, параметры которого нельзя изменить. Соединение с базой будет осуществляться с теми настройками, что были произведены при создании подключения.
Однако может потребоваться изменить параметры. Например, задать другое имя пользователя или пароль. В этом случае необходимо в сценарий добавить узел, а не ссылку на подключение. Далее в мастере настройки можно изменить параметры, заданные при создании подключения.
В мастере импорта можно выбрать вариант: получить таблицу или выполнить SQL-запрос. Если подключение будет активировано, то пользователь увидит таблицы/представления Базы данных. В случае если подключение не активировано, его можно активировать в мастере импорта в поле Подключение.
При импорте из таблицы можно извлечь все поля либо выбрать конкретные.
Примечание: Логика вариантов «Выбрать все поля *» и отметить галочками все поля немного отличается:
- В первом случае, если в таблицу будет добавлены или удалены поля, импорт отработает корректно. Будут импортированы все существующие колонки.
- Во втором случае при изменении структуры таблицы могут быть проблемы. Например, новые поля не попадут в выборку, или программа выдаст ошибку, что отсутствует поле, если какое-то ранее существующее поле будет из исходной таблицы удалено.
Таким образом, в первом случае будут импортированы все имеющиеся в таблице поля, а во втором — все отмеченные поля.
Для импорта можно также использовать SQL-запрос. В мастер встроены механизмы помощи при написании запроса. Например, при нажатии CTRL+Пробел выпадет список доступных функций, полей и т.п.
При написании запросов можно использовать переменные. Они передаются через входной порт переменных, а вставить их можно, используя «:name» в качестве параметра (тогда будет учитываться тип переменной) или макроподстановку «%name%».
Использовать параметры, заданные при помощи «:», можно только в секции WHERE. В отличие от них, при использовании макроподстановки переменные вставляются в запрос в виде строки. Например, так можно вставить в SQL-запрос название таблицы или любой другой фрагмент, вплоть до того, что можно передать полностью сформированный текст запроса.
Макроподстановка предоставляет больше гибкости, но требует более осторожного использования, т.к. проще допустить ошибку. Подробнее в справке.
Настроенное подключение используется не только для импорта, но и для экспорта данных. Для экспорта в БД необходимо:
При экспорте данных задается вариант экспорта:
Если данных много, то рекомендуется выполнять фиксацию (commit) после добавления определенного числа строк. Количество строк, после которых производится фиксация, задается параметром «Периодичность фиксации транзакции (строк)». Если параметр равен нулю, то фиксация производится после загрузки всех данных.
В Loginom при работе с БД есть возможность создания таблицы. Пользователю не требуется использовать стороннее ПО для создания таблицы и полей, но у него должны быть права на выполнение данной операции в базе.
Для создания таблицы при экспорте данных требуется:
Импорт и экспорт из БД наглядно показаны в видео:
Loginom предоставляет удобные механизмы работы с базами данных:
Безопасность доступа обеспечивается средствами СУБД, которые располагают развитыми механизмами разграничения прав.
Подробнее о подключении, импорте и экспорте Баз данных в ВК Видео:
Другие материалы по теме:
Работа с переменными в Loginom
Очистка данных с помощью обработчика «Дубликаты и противоречия»