Внешняя база данных
Введение
Внешняя база данных используется для подключения уже существующей бизнес-базы данных к NocoBase, чтения таблиц данных, полей и представлений из внешней базы данных, чтобы эти таблицы данных можно было использовать в блоках страниц, правах доступа, рабочих процессах и API.
В отличие от основной базы данных, структура таблиц внешней базы данных поддерживается исходной системой или клиентом базы данных. NocoBase отвечает за чтение структуры таблиц и представлений и не изменяет фактическую структуру таблиц внешней базы данных.
Внешняя база данных поддерживает следующие версии баз данных и коммерческие версии:
KingbaseES поддерживает только режим совместимости с PostgreSQL, а OceanBase, ClickHouse и Doris — только режим совместимости с MySQL.
Сценарии использования внешней базы данных:
- Подключение базы данных существующей бизнес-системы (например, устаревших ERP, MES или WMS) и использование возможностей NocoBase для быстрого создания интерфейса управления, настройки прав доступа, рабочих процессов и отчётов без изменения структуры таблиц исходной базы данных.
- Дополнение существующей системы возможностями лёгких приложений, например согласованиями, исправлением данных, обработкой исключений и операционными дашбордами, без необходимости заменять исходную систему.
- Выполнение запросов только для чтения, статистического анализа или BI-визуализации существующей базы данных для снижения зависимости от страниц исходной бизнес-системы.
- Поэтапная миграция устаревшей системы: сначала подключение старой базы данных в NocoBase для продолжения работы, а затем постепенное размещение новых бизнес-данных в основной базе данных.
- Структура базы данных по-прежнему поддерживается DBA, скриптами миграции или исходной бизнес-системой, а NocoBase отвечает только за чтение структуры, настройку интерфейса и использование данных.
Внешняя база данных не является системной базой данных NocoBase. NocoBase не управляет резервным копированием, восстановлением, миграцией и структурой таблиц внешней базы данных — всё это по-прежнему необходимо выполнять во внешней базе данных.
Установка плагина
Внешние базы данных предоставляются соответствующими плагинами источников данных. После установки и активации плагина соответствующий тип базы данных можно выбрать в меню «Add new» раздела «Управление источниками данных».

Если в меню «Add new» нет нужного типа базы данных, обычно необходимо проверить:
- Установлен ли соответствующий плагин
- Активирован ли плагин
- Включает ли текущая коммерческая лицензия этот плагин
- Есть ли у текущего пользователя права на управление источниками данных
Инструкция по использованию
Добавление внешней базы данных
После активации плагина его можно выбрать и добавить в выпадающем меню Add new раздела управления источниками данных.

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

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

Настройка полей
Внешняя база данных автоматически считывает поля существующих таблиц данных и отображает их. Можно быстро просмотреть и настроить заголовок, тип данных (Field type) и тип интерфейса (Field interface), а также нажать кнопку «Редактировать» для изменения дополнительных параметров.

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

Подробнее см. в разделе Поля таблицы данных / Обзор.
Сопоставление типов полей
NocoBase автоматически сопоставляет типы полей внешней базы данных с соответствующими типами данных (Field type) и типами интерфейса (Field Interface).
- Тип данных (Field type): определяет вид, формат и структуру данных, которые могут храниться в поле;
- Тип интерфейса (Field interface): тип элемента управления, используемого для отображения и ввода значения поля в пользовательском интерфейсе.
Неподдерживаемые типы полей
Неподдерживаемые типы полей отображаются отдельно. Для их использования требуется адаптация.

Уникальный идентификатор записи
Таблица данных, используемая для отображения в блоке, должна иметь «уникальный идентификатор записи» (Record unique key). Уникальный идентификатор записи используется для поиска записи в блоке страницы; обычно выбирается первичный ключ или уникальное поле.
Для представлений, таблиц без первичного ключа или таблиц с составным первичным ключом необходимо вручную задать «Record unique key» в настройках таблицы данных. Если доступного уникального идентификатора нет, блок страницы может быть создан некорректно, а просмотр или редактирование записей может оказаться невозможным. Подробнее см. в разделе Обычная таблица / Редактирование конфигурации.



