Externe Datenbank

Einführung

Mit externen Datenbanken können bereits vorhandene Geschäftsdatenbanken an NocoBase angebunden werden. NocoBase liest Tabellen, Felder und Ansichten aus der externen Datenbank aus, sodass diese Datentabellen in Seitenblöcken, Berechtigungen, Workflows und APIs verwendet werden können.

Im Gegensatz zur Hauptdatenbank werden die Tabellenstrukturen externer Datenbanken vom ursprünglichen System oder Datenbank-Client verwaltet. NocoBase liest die Tabellenstrukturen und Ansichten aus, ändert jedoch nicht die tatsächlichen Tabellenstrukturen der externen Datenbank.

Die von externen Datenbanken unterstützten Datenbankversionen und Editionen sind:

DatenbankUnterstützte VersionCommunity EditionStandard EditionProfessional EditionEnterprise Edition
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
Hinweis

KingbaseES unterstützt nur den PostgreSQL-Kompatibilitätsmodus. OceanBase, ClickHouse und Doris unterstützen nur den MySQL-Kompatibilitätsmodus.

Typische Einsatzszenarien für externe Datenbanken:

  • Verbindung mit der Datenbank eines vorhandenen Geschäftssystems (z. B. eines älteren ERP-, MES- oder WMS-Systems), um mit den Funktionen von NocoBase schnell Verwaltungsoberflächen, Berechtigungskontrollen, Workflows und Berichte zu erstellen, ohne die Tabellenstruktur der ursprünglichen Datenbank zu ändern.
  • Erweiterung eines vorhandenen Systems um schlanke Anwendungsfunktionen wie Genehmigungen, Datenkorrekturen, Ausnahmebehandlung oder operative Dashboards, ohne das ursprüngliche System ersetzen zu müssen.
  • Nur-Lese-Abfragen, statistische Analysen oder BI-Darstellungen für vorhandene Datenbanken, um die Abhängigkeit von den Oberflächen des ursprünglichen Geschäftssystems zu verringern.
  • Schrittweise Migration älterer Systeme: Zunächst wird die alte Datenbank in NocoBase eingebunden und weiterverwendet, anschließend werden neue Geschäftsdaten schrittweise in der Hauptdatenbank verwaltet.
  • Die Datenbankstruktur wird weiterhin von DBAs, Migrationsskripten oder dem ursprünglichen Geschäftssystem verwaltet. NocoBase liest lediglich die Struktur aus, konfiguriert die Oberfläche und verwendet die Daten.
Achtung

Eine externe Datenbank ist keine Systemdatenbank von NocoBase. NocoBase übernimmt weder Sicherung, Wiederherstellung und Migration der externen Datenbank noch deren Tabellenstruktur. Dies muss weiterhin in der externen Datenbank erfolgen.

Plugin-Installation

Externe Datenbanken werden durch die entsprechenden Datenquellen-Plugins bereitgestellt. Nach der Installation und Aktivierung eines Plugins kann der entsprechende Datenbanktyp im Menü „Add new“ unter „Datenquellenverwaltung“ ausgewählt werden.

DatenbankZugehöriges PluginInstallationsmethode
MySQL@nocobase/plugin-data-source-external-mysqlEine kommerzielle Lizenz ist erforderlich. Nach der Installation und Aktivierung des Plugins kann es verwendet werden.
PostgreSQL@nocobase/plugin-data-source-external-postgresEine kommerzielle Lizenz ist erforderlich. Nach der Installation und Aktivierung des Plugins kann es verwendet werden.
MariaDB@nocobase/plugin-data-source-external-mariadbEine kommerzielle Lizenz ist erforderlich. Nach der Installation und Aktivierung des Plugins kann es verwendet werden.
KingbaseES@nocobase/plugin-data-source-kingbaseEine kommerzielle Lizenz ist erforderlich. Nach der Installation und Aktivierung des Plugins kann es verwendet werden.
OceanBase@nocobase/plugin-data-source-oceanbaseEine kommerzielle Lizenz ist erforderlich. Nach der Installation und Aktivierung des Plugins kann es verwendet werden.
MSSQL@nocobase/plugin-data-source-external-mssqlEine kommerzielle Lizenz ist erforderlich. Nach der Installation und Aktivierung des Plugins kann es verwendet werden.
Oracle@nocobase/plugin-data-source-external-oracleEine kommerzielle Lizenz ist erforderlich. Nach der Installation und Aktivierung des Plugins kann es verwendet werden.
ClickHouse@nocobase/plugin-data-source-external-clickhouseEine kommerzielle Lizenz ist erforderlich. Nach der Installation und Aktivierung des Plugins kann es verwendet werden.
Doris@nocobase/plugin-data-source-external-dorisEine kommerzielle Lizenz ist erforderlich. Nach der Installation und Aktivierung des Plugins kann es verwendet werden.

add_new_database

Wenn der gewünschte Datenbanktyp nicht im Menü „Add new“ angezeigt wird, sollte zunächst Folgendes überprüft werden:

  • Ob das entsprechende Plugin bereits installiert ist
  • Ob das Plugin bereits aktiviert ist
  • Ob die aktuelle kommerzielle Lizenz dieses Plugin umfasst
  • Ob der aktuelle Benutzer über die Berechtigung zur Datenquellenverwaltung verfügt

Anleitung

Externe Datenbank hinzufügen

Nach der Aktivierung des Plugins kann die Datenbank im Dropdown-Menü „Add new“ der Datenquellenverwaltung ausgewählt und hinzugefügt werden.

20240507204316

Geben Sie die Informationen der anzubindenden Datenbank ein.

20240507204820

Datentabellensynchronisierung

Nach dem Herstellen der Verbindung mit einer externen Datenbank werden alle Datentabellen der Datenquelle direkt ausgelesen. Das direkte Hinzufügen von Datentabellen oder Ändern der Tabellenstruktur wird von externen Datenbanken nicht unterstützt. Änderungen können über einen Datenbank-Client vorgenommen und anschließend durch Klicken auf die Schaltfläche „Aktualisieren“ in der Oberfläche synchronisiert werden.

20240507204725

Felder konfigurieren

Externe Datenbanken lesen die Felder vorhandener Datentabellen automatisch aus und zeigen sie an. Titel, Datentyp (Field type) und UI-Typ (Field interface) der Felder können schnell angezeigt und konfiguriert werden. Über die Schaltfläche „Bearbeiten“ können weitere Einstellungen geändert werden.

20240507210537

Da externe Datenbanken keine Änderung der Tabellenstruktur unterstützen, kann beim Hinzufügen von Feldern nur der Typ „Beziehungsfeld“ ausgewählt werden. Beziehungsfelder sind keine tatsächlichen Felder, sondern dienen dazu, Verbindungen zwischen Tabellen herzustellen.

20240507220140

Weitere Informationen finden Sie im Abschnitt Felder von Datentabellen / Übersicht.

Feldtypzuordnung

NocoBase ordnet den Feldtypen externer Datenbanken automatisch die entsprechenden Datentypen (Field type) und UI-Typen (Field Interface) zu.

  • Datentyp (Field type): definiert die Art, das Format und die Struktur der Daten, die ein Feld speichern kann;
  • UI-Typ (Field interface): bezeichnet den Steuerelementtyp, der in der Benutzeroberfläche zur Anzeige und Eingabe von Feldwerten verwendet wird.
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---

Nicht unterstützte Feldtypen

Nicht unterstützte Feldtypen werden separat angezeigt. Diese Felder können erst nach entsprechender Entwicklungsanpassung verwendet werden.

20240507221854

Eindeutiger Datensatzschlüssel

Datentabellen, die als Blöcke angezeigt werden sollen, benötigen einen „eindeutigen Datensatzschlüssel“ (Record unique key). Der eindeutige Datensatzschlüssel dient dazu, einen Datensatz in einem Seitenblock zu identifizieren. In der Regel wird dafür der Primärschlüssel oder ein eindeutiges Feld verwendet.

Bei Ansichten, Tabellen ohne Primärschlüssel oder Tabellen mit zusammengesetztem Primärschlüssel muss „Record unique key“ in der Konfiguration der Datentabelle manuell festgelegt werden. Wenn kein geeigneter eindeutiger Schlüssel vorhanden ist, können Seitenblöcke möglicherweise nicht korrekt erstellt oder Datensätze nicht angezeigt beziehungsweise bearbeitet werden. Weitere Informationen finden Sie unter Hauptdatenbank / Datentabelle bearbeiten.

edit_collection

edit_collection_configure