Base de datos externa

Introducción

La base de datos externa permite conectar bases de datos empresariales existentes a NocoBase, leer sus tablas de datos, campos y vistas, y utilizar estas tablas en bloques de página, permisos, flujos de trabajo y API.

A diferencia de la base de datos principal, la estructura de las tablas de la base de datos externa es mantenida por el sistema original o el cliente de la base de datos. NocoBase se encarga de leer la estructura de las tablas y las vistas, pero no modifica la estructura real de las tablas de la base de datos externa.

Las versiones de bases de datos y las ediciones comerciales compatibles con las bases de datos externas son las siguientes:

Base de datosVersiones compatiblesEdición comunitariaEdición estándarEdición profesionalEdición empresarial
MySQL>= 5.7
PostgreSQL>= 9.5
MariaDB>= 10.3
MSSQL2014-2019
KingbaseES>=V9
OceanBase>=4.3
Oracle>= 11g
ClickHouse>= 20.2
Doris>= 2.1.0
Nota

KingbaseES solo admite el modo compatible con PostgreSQL; OceanBase, ClickHouse y Doris solo admiten el modo compatible con MySQL.

Escenarios aplicables de las bases de datos externas:

  • Conectar las bases de datos de sistemas empresariales existentes, como ERP, MES o WMS antiguos, y aprovechar las capacidades de NocoBase para crear rápidamente interfaces de gestión, controles de permisos, flujos de trabajo e informes sin modificar la estructura de las tablas de la base de datos original.
  • Añadir capacidades de aplicaciones ligeras a sistemas existentes, como aprobaciones, corrección de datos, gestión de excepciones y paneles operativos, sin necesidad de sustituir el sistema original.
  • Realizar consultas de solo lectura, análisis estadísticos o presentaciones de BI sobre bases de datos existentes para reducir la dependencia de las páginas del sistema empresarial original.
  • Migrar sistemas históricos por fases: conectar primero la base de datos antigua a NocoBase para seguir utilizándola y, posteriormente, mantener los datos de los nuevos negocios en la base de datos principal.
  • La estructura de la base de datos sigue siendo mantenida por el DBA, los scripts de migración o el sistema empresarial original; NocoBase solo se encarga de leer la estructura, configurar la interfaz y utilizar los datos.
Atención

La base de datos externa no es la base de datos del sistema de NocoBase. NocoBase no se encarga de las copias de seguridad, restauraciones, migraciones ni de la estructura de las tablas de la base de datos externa. Estas tareas deben seguir realizándose en la base de datos externa.

Instalación del plugin

Las bases de datos externas son proporcionadas por los plugins de las fuentes de datos correspondientes. Después de instalar y activar el plugin, puedes seleccionar el tipo de base de datos correspondiente en el menú «Add new» de «Gestión de fuentes de datos».

Base de datosPlugin correspondienteMétodo de instalación
MySQL@nocobase/plugin-data-source-external-mysqlSe requiere una licencia comercial. Instala y activa el plugin para utilizarlo.
PostgreSQL@nocobase/plugin-data-source-external-postgresSe requiere una licencia comercial. Instala y activa el plugin para utilizarlo.
MariaDB@nocobase/plugin-data-source-external-mariadbSe requiere una licencia comercial. Instala y activa el plugin para utilizarlo.
KingbaseES@nocobase/plugin-data-source-kingbaseSe requiere una licencia comercial. Instala y activa el plugin para utilizarlo.
OceanBase@nocobase/plugin-data-source-oceanbaseSe requiere una licencia comercial. Instala y activa el plugin para utilizarlo.
MSSQL@nocobase/plugin-data-source-external-mssqlSe requiere una licencia comercial. Instala y activa el plugin para utilizarlo.
Oracle@nocobase/plugin-data-source-external-oracleSe requiere una licencia comercial. Instala y activa el plugin para utilizarlo.
ClickHouse@nocobase/plugin-data-source-external-clickhouseSe requiere una licencia comercial. Instala y activa el plugin para utilizarlo.
Doris@nocobase/plugin-data-source-external-dorisSe requiere una licencia comercial. Instala y activa el plugin para utilizarlo.

add_new_database

Si el tipo de base de datos de destino no aparece en el menú «Add new», normalmente debes comprobar primero:

  • Si el plugin correspondiente ya está instalado
  • Si el plugin ya está activado
  • Si la licencia comercial actual incluye este plugin
  • Si el usuario actual tiene permisos para gestionar las fuentes de datos

Instrucciones de uso

Añadir una base de datos externa

Después de activar el plugin, puedes seleccionarlo y añadirlo desde el menú desplegable «Add new» de la gestión de fuentes de datos.

20240507204316

Introduce la información de la base de datos que deseas conectar.

20240507204820

Sincronización de tablas de datos

Después de establecer la conexión con la base de datos externa, se leerán directamente todas las tablas de datos de la fuente de datos. Las bases de datos externas no permiten añadir tablas de datos ni modificar directamente la estructura de las tablas. Si necesitas realizar modificaciones, hazlo mediante un cliente de base de datos y, posteriormente, haz clic en el botón «Actualizar» de la interfaz para sincronizarlas.

20240507204725

Configurar campos

La base de datos externa leerá automáticamente los campos de las tablas de datos existentes y los mostrará. Puedes consultar y configurar rápidamente el título, el tipo de datos (Field type) y el tipo de interfaz de usuario (Field interface) de los campos. También puedes hacer clic en el botón «Editar» para modificar más opciones.

20240507210537

Como las bases de datos externas no permiten modificar la estructura de las tablas, al añadir campos solo están disponibles los campos de relación. Los campos de relación no son campos reales, sino que se utilizan para establecer conexiones entre tablas.

20240507220140

Para obtener más información, consulta el capítulo Campos de tablas de datos / Descripción general.

Asignación de tipos de campos

NocoBase asigna automáticamente los tipos de campos de las bases de datos externas a los tipos de datos correspondientes (Field type) y a los tipos de interfaz de usuario (Field Interface).

  • Tipo de datos (Field type): se utiliza para definir los tipos, formatos y estructuras de datos que puede almacenar un campo;
  • Tipo de interfaz de usuario (Field interface): se refiere al tipo de control utilizado para mostrar e introducir valores de campo en la interfaz de usuario.
PostgreSQLMySQL/MariaDBTipo de datos de NocoBaseTipo de interfaz de NocoBase
BOOLEANBOOLEAN
TINYINT(1)
booleancheckbox
switch
SMALLINT
INTEGER
SERIAL
SMALLSERIAL
TINYINT
SMALLINT
MEDIUMINT
INTEGER
integer
boolean
sort
integer
sort
checkbox
switch
select
radioGroup
BIGINT
BIGSERIAL
BIGINTbigInt
sort
integer
sort
checkbox
switch
select
radioGroup
unixTimestamp
createdAt
updatedAt
REALFLOATfloatnumber
percent
DOUBLE PRECISIONDOUBLE PRECISIONdoublenumber
percent
DECIMAL
NUMERIC
DECIMALdecimalnumber
percent
currency
VARCHAR
CHAR
VARCHAR
CHAR
string
password
uuid
nanoid
input
email
phone
password
color
icon
select
radioGroup
uuid
nanoid
TEXTTEXT
TINYTEXT
MEDIUMTEXT
LONGTEXT
text
json
textarea
markdown
vditor
richText
url
json
UUID-uuiduuid
JSON
JSONB
JSONjsonjson
TIMESTAMPDATETIME
TIMESTAMP
datedate
time
createdAt
updatedAt
DATEDATEdateOnlydatetime
TIMETIMEtimetime
-YEARdatetime
CIRCELcirclejson
circle
PATH
GEOMETRY(LINESTRING)
LINESTRINGlineStringJson
lineString
POINT
GEOMETRY(POINT)
POINTpointjson
point
POLYGON
GEOMETRY(POLYGON)
POLYGONpolygonjson
polygon
GEOMETRYGEOMETRY--
BLOBBLOBblob-
ARRAY-arraymultipleSelect
checkboxGroup
BITBIT--
SETSETsetmultipleSelect
checkboxGroup
RANGE---

Tipos de campos no compatibles

Los tipos de campos no compatibles se mostrarán por separado. Estos campos solo podrán utilizarse después de adaptar el desarrollo.

20240507221854

Identificador único del registro

Las tablas de datos utilizadas para mostrar bloques deben tener una «clave única del registro» (Record unique key). La clave única del registro se utiliza para localizar un registro en los bloques de página; normalmente se selecciona la clave primaria o un campo único.

En el caso de vistas, tablas sin clave primaria o tablas con claves primarias compuestas, debes configurar manualmente «Record unique key» en la configuración de la tabla de datos. Si no existe un identificador único disponible, es posible que los bloques de página no puedan crearse correctamente o que no puedan visualizarse ni editarse los registros. Para obtener más información, consulta Base de datos principal / Editar tabla de datos.

edit_collection

edit_collection_configure