Base de données externe

Présentation

Les bases de données externes permettent d’intégrer à NocoBase des bases de données métier existantes, de lire leurs tables, champs et vues, et de rendre ces tables utilisables dans les blocs de page, les permissions, les workflows et les API.

Contrairement à la base de données principale, la structure des tables des bases de données externes est gérée par le système d’origine ou le client de base de données. NocoBase se charge de lire la structure des tables et les vues, sans modifier la structure réelle des tables de la base de données externe.

Les versions de bases de données et les éditions commerciales prises en charge sont les suivantes :

Base de donnéesVersions prises en chargeÉdition communautaireÉdition standardÉdition professionnelleÉdition entreprise
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
Conseil

KingbaseES prend uniquement en charge le mode de compatibilité PostgreSQL. OceanBase, ClickHouse et Doris prennent uniquement en charge le mode de compatibilité MySQL.

Les bases de données externes sont adaptées aux scénarios suivants :

  • Connecter la base de données d’un système métier existant, comme un ancien ERP, MES ou WMS, afin de profiter des fonctionnalités de NocoBase et de créer rapidement une interface de gestion, un contrôle des permissions, des workflows et des rapports, sans modifier la structure des tables de la base d’origine.
  • Ajouter des fonctionnalités applicatives légères à un système existant, comme des validations, la correction de données, la gestion des anomalies ou des tableaux de bord opérationnels, sans remplacer le système d’origine.
  • Effectuer des requêtes en lecture seule, des analyses statistiques ou des présentations BI sur une base de données existante, afin de réduire la dépendance aux interfaces du système métier d’origine.
  • Migrer progressivement un ancien système : connecter d’abord l’ancienne base à NocoBase pour continuer à l’utiliser, puis gérer progressivement les nouvelles données métier dans la base de données principale.
  • La structure de la base de données reste gérée par le DBA, les scripts de migration ou le système métier d’origine. NocoBase se charge uniquement de lire la structure, de configurer l’interface et d’utiliser les données.
Attention

Une base de données externe n’est pas la base de données système de NocoBase. NocoBase ne prend pas en charge la sauvegarde, la restauration, la migration ni la structure des tables de la base de données externe. Ces opérations doivent toujours être effectuées dans la base de données externe.

Installation du plugin

Les bases de données externes sont fournies par les plugins de source de données correspondants. Après avoir installé et activé le plugin, vous pouvez sélectionner le type de base de données correspondant dans le menu « Add new » de « Gestion des sources de données ».

Base de donnéesPlugin correspondantMode d’installation
MySQL@nocobase/plugin-data-source-external-mysqlUne licence commerciale est requise. Installez et activez le plugin avant de l’utiliser.
PostgreSQL@nocobase/plugin-data-source-external-postgresUne licence commerciale est requise. Installez et activez le plugin avant de l’utiliser.
MariaDB@nocobase/plugin-data-source-external-mariadbUne licence commerciale est requise. Installez et activez le plugin avant de l’utiliser.
KingbaseES@nocobase/plugin-data-source-kingbaseUne licence commerciale est requise. Installez et activez le plugin avant de l’utiliser.
OceanBase@nocobase/plugin-data-source-oceanbaseUne licence commerciale est requise. Installez et activez le plugin avant de l’utiliser.
MSSQL@nocobase/plugin-data-source-external-mssqlUne licence commerciale est requise. Installez et activez le plugin avant de l’utiliser.
Oracle@nocobase/plugin-data-source-external-oracleUne licence commerciale est requise. Installez et activez le plugin avant de l’utiliser.
ClickHouse@nocobase/plugin-data-source-external-clickhouseUne licence commerciale est requise. Installez et activez le plugin avant de l’utiliser.
Doris@nocobase/plugin-data-source-external-dorisUne licence commerciale est requise. Installez et activez le plugin avant de l’utiliser.

add_new_database

Si le type de base de données souhaité n’apparaît pas dans le menu « Add new », vérifiez généralement les points suivants :

  • Le plugin correspondant est-il déjà installé ?
  • Le plugin est-il déjà activé ?
  • La licence commerciale actuelle inclut-elle ce plugin ?
  • L’utilisateur actuel dispose-t-il des permissions de gestion des sources de données ?

Mode d’emploi

Ajouter une base de données externe

Après avoir activé le plugin, vous pouvez le sélectionner et l’ajouter dans le menu déroulant Add new de la gestion des sources de données.

20240507204316

Saisissez les informations de la base de données à connecter.

20240507204820

Synchronisation des tables

Une fois la connexion à la base de données externe établie, toutes les tables de la source de données sont directement lues. Les bases de données externes ne permettent pas d’ajouter directement des tables ni de modifier leur structure. Pour effectuer une modification, utilisez un client de base de données, puis cliquez sur le bouton « Actualiser » dans l’interface pour synchroniser les changements.

20240507204725

Configurer les champs

Les bases de données externes lisent automatiquement les champs des tables existantes et les affichent. Vous pouvez consulter et configurer rapidement le titre, le type de données (Field type) et le type d’interface utilisateur (Field interface) des champs. Vous pouvez également cliquer sur le bouton « Modifier » pour accéder à davantage de paramètres.

20240507210537

Comme les bases de données externes ne permettent pas de modifier la structure des tables, seuls les champs de relation sont proposés lors de l’ajout d’un champ. Les champs de relation ne sont pas de véritables champs ; ils servent à établir des connexions entre les tables.

20240507220140

Pour plus d’informations, consultez le chapitre Champs des tables de données / Présentation.

Correspondance des types de champs

NocoBase mappe automatiquement les types de champs des bases de données externes vers les types de données (Field type) et les types d’interface utilisateur (Field Interface) correspondants.

  • Type de données (Field type) : définit les types, formats et structures des données pouvant être stockées dans un champ ;
  • Type d’interface utilisateur (Field interface) : désigne le type de contrôle utilisé pour afficher et saisir les valeurs d’un champ dans l’interface utilisateur.
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---

Types de champs non pris en charge

Les types de champs non pris en charge sont affichés séparément. Ils ne peuvent être utilisés qu’après l’adaptation nécessaire par les développeurs.

20240507221854

Identifiant unique des enregistrements

Les tables de données utilisées pour afficher des blocs doivent disposer d’une « clé unique d’enregistrement » (Record unique key). Elle permet d’identifier un enregistrement dans un bloc de page ; il s’agit généralement de la clé primaire ou d’un champ unique.

Pour les vues, les tables sans clé primaire ou les tables à clé primaire composite, vous devez définir manuellement le « Record unique key » dans la configuration de la table de données. En l’absence d’un identifiant unique disponible, les blocs de page peuvent ne pas pouvoir être créés correctement, ni permettre la consultation ou la modification des enregistrements. Pour plus d’informations, consultez Base de données principale / Modifier une table de données.

edit_collection

edit_collection_configure