Banco de dados externo

Introdução

O banco de dados externo é usado para conectar bancos de dados empresariais existentes ao NocoBase, ler tabelas, campos e visualizações do banco de dados externo e permitir que essas tabelas sejam usadas em blocos de página, permissões, fluxos de trabalho e APIs.

Diferentemente do banco de dados principal, a estrutura das tabelas do banco de dados externo é mantida pelo sistema original ou pelo cliente do banco de dados. O NocoBase é responsável por ler a estrutura das tabelas e as visualizações, sem modificar a estrutura real das tabelas do banco de dados externo.

As versões de banco de dados e as edições comerciais compatíveis com bancos de dados externos são:

Banco de dadosVersões compatíveisEdição CommunityEdição StandardEdição ProfessionalEdição Enterprise
MySQL>= 5.7
PostgreSQL>= 9.5
MariaDB>= 10.3
MSSQL2014-2019
KingbaseES>=V9
OceanBase>=4.3
Oracle>= 11g
ClickHouseConsulte a documentação do plugin correspondente
DorisConsulte a documentação do plugin correspondente
Dica

O KingbaseES oferece suporte apenas ao modo de compatibilidade com PostgreSQL; OceanBase, ClickHouse e Doris oferecem suporte apenas ao modo de compatibilidade com MySQL.

Cenários aplicáveis para bancos de dados externos:

  • Conectar o banco de dados de sistemas empresariais existentes, como ERP, MES ou WMS antigos, e aproveitar os recursos do NocoBase para criar rapidamente interfaces de gerenciamento, controle de permissões, fluxos de trabalho e relatórios, sem alterar a estrutura das tabelas do banco de dados original.
  • Adicionar recursos de aplicativos leves a sistemas existentes, como aprovação, correção de dados, tratamento de exceções e painéis operacionais, sem substituir o sistema original.
  • Realizar consultas somente leitura, análises estatísticas ou exibições de BI em bancos de dados existentes, reduzindo a dependência das páginas do sistema empresarial original.
  • Migrar sistemas antigos por etapas: primeiro conectar o banco de dados antigo ao NocoBase e continuar usando-o; depois, manter gradualmente os novos dados empresariais no banco de dados principal.
  • A estrutura do banco de dados continua sendo mantida pelo DBA, por scripts de migração ou pelo sistema empresarial original. O NocoBase é responsável apenas por ler a estrutura, configurar a interface e usar os dados.
Atenção

O banco de dados externo não é o banco de dados do sistema NocoBase. O NocoBase não assume o backup, a restauração, a migração nem a estrutura das tabelas do banco de dados externo. Essas operações ainda precisam ser realizadas no banco de dados externo.

Instalação do plugin

Os bancos de dados externos são fornecidos pelos plugins de fonte de dados correspondentes. Depois de instalar e ativar o plugin, será possível selecionar o tipo de banco de dados correspondente no menu «Add new» de «Gerenciamento de fontes de dados».

Banco de dadosPlugin correspondenteMétodo de instalação
MySQL@nocobase/plugin-data-source-external-mysqlRequer uma licença comercial. Use após instalar e ativar o plugin.
PostgreSQL@nocobase/plugin-data-source-external-postgresRequer uma licença comercial. Use após instalar e ativar o plugin.
MariaDB@nocobase/plugin-data-source-external-mariadbRequer uma licença comercial. Use após instalar e ativar o plugin.
KingbaseES@nocobase/plugin-data-source-kingbaseRequer uma licença comercial. Use após instalar e ativar o plugin.
OceanBase@nocobase/plugin-data-source-oceanbaseRequer uma licença comercial. Use após instalar e ativar o plugin.
MSSQL@nocobase/plugin-data-source-external-mssqlRequer uma licença comercial. Use após instalar e ativar o plugin.
Oracle@nocobase/plugin-data-source-external-oracleRequer uma licença comercial. Use após instalar e ativar o plugin.
ClickHouse@nocobase/plugin-data-source-external-clickhouseRequer uma licença comercial. Use após instalar e ativar o plugin.
Doris@nocobase/plugin-data-source-external-dorisRequer uma licença comercial. Use após instalar e ativar o plugin.

add_new_database

Se o tipo de banco de dados desejado não estiver no menu «Add new», normalmente é necessário verificar primeiro:

  • Se o plugin correspondente já foi instalado
  • Se o plugin foi ativado
  • Se a licença comercial atual inclui esse plugin
  • Se o usuário atual tem permissão para gerenciar fontes de dados

Instruções de uso

Adicionar um banco de dados externo

Depois de ativar o plugin, será possível selecionar e adicionar o banco de dados no menu suspenso «Add new» do gerenciamento de fontes de dados.

20240507204316

Preencha as informações do banco de dados ao qual deseja se conectar.

20240507204820

Sincronização de tabelas

Depois que a conexão com o banco de dados externo for estabelecida, todas as tabelas de dados da fonte de dados serão lidas diretamente. O banco de dados externo não oferece suporte à adição direta de tabelas nem à modificação da estrutura das tabelas. Se for necessário fazer alterações, use um cliente de banco de dados e clique no botão «Atualizar» na interface para sincronizar.

20240507204725

Configurar campos

O banco de dados externo lê automaticamente os campos das tabelas existentes e os exibe. É possível visualizar e configurar rapidamente o título, o tipo de dados (Field type) e o tipo de interface (Field interface) dos campos. Também é possível clicar no botão «Editar» para modificar mais configurações.

20240507210537

Como o banco de dados externo não oferece suporte à modificação da estrutura das tabelas, ao adicionar campos, o único tipo disponível é o campo de relacionamento. Os campos de relacionamento não são campos reais; eles são usados para estabelecer conexões entre tabelas.

20240507220140

Para obter mais informações, consulte o capítulo Campos da tabela de dados / Visão geral.

Mapeamento de tipos de campos

O NocoBase mapeia automaticamente os tipos de campos do banco de dados externo para os tipos de dados correspondentes (Field type) e tipos de interface (Field Interface).

  • Tipo de dados (Field type): usado para definir os tipos, formatos e estruturas dos dados que o campo pode armazenar;
  • Tipo de interface (Field interface): refere-se ao tipo de controle usado na interface do usuário para exibir e inserir valores de campos.
PostgreSQLMySQL/MariaDBNocoBase Data TypeNocoBase Interface Type
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 não compatíveis

Os tipos de campos não compatíveis serão exibidos separadamente. Esses campos só poderão ser usados depois que forem adaptados no desenvolvimento.

20240507221854

Identificador exclusivo do registro

As tabelas de dados usadas para exibição em blocos precisam ter uma «chave exclusiva do registro» (Record unique key). O identificador exclusivo do registro é usado para localizar um registro em um bloco de página. Normalmente, escolhe-se a chave primária ou um campo exclusivo.

Para visualizações, tabelas sem chave primária ou tabelas com chave primária composta, é necessário definir manualmente a «Record unique key» na configuração da tabela de dados. Quando não há um identificador exclusivo disponível, os blocos de página podem não conseguir criar blocos, visualizar ou editar registros corretamente. Para obter mais informações, consulte Tabela comum / Editar configuração.

edit_collection

edit_collection_configure