Externe Datenbanken

Einführung

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

Im Gegensatz zur Hauptdatenbank wird die Tabellenstruktur einer externen Datenbank vom ursprünglichen System oder Datenbank-Client verwaltet. NocoBase liest die Tabellenstruktur und Ansichten aus, ändert jedoch nicht die tatsächliche Tabellenstruktur der externen Datenbank.

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

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
ClickHouseSiehe die Beschreibung des entsprechenden Plugins
DorisSiehe die Beschreibung des entsprechenden Plugins
Hinweis

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

Geeignete Einsatzszenarien für externe Datenbanken:

  • Anbindung der Datenbank eines bestehenden 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.
  • Ergänzung eines bestehenden Systems um schlanke Anwendungsmöglichkeiten wie Genehmigungen, Datenkorrekturen, Ausnahmebehandlungen oder operative Dashboards, ohne das ursprüngliche System ersetzen zu müssen.
  • Nur-Lese-Abfragen, statistische Analysen oder BI-Darstellungen für eine bestehende Datenbank, um die Abhängigkeit von den Seiten des ursprünglichen Geschäftssystems zu verringern.
  • Stufenweise Migration älterer Systeme: Zunächst wird die alte Datenbank in NocoBase eingebunden und weiterverwendet; neue Geschäftsdaten werden nach und nach 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 Benutzeroberfläche und verwendet die Daten.
Achtung

Eine externe Datenbank ist keine Systemdatenbank von NocoBase. NocoBase übernimmt weder die Sicherung, Wiederherstellung und Migration der externen Datenbank noch deren Tabellenstruktur. Diese Aufgaben müssen weiterhin in der externen Datenbank durchgeführt werden.

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-mysqlErfordert eine kommerzielle Lizenz. Nach der Installation und Aktivierung des Plugins kann es verwendet werden.
PostgreSQL@nocobase/plugin-data-source-external-postgresErfordert eine kommerzielle Lizenz. Nach der Installation und Aktivierung des Plugins kann es verwendet werden.
MariaDB@nocobase/plugin-data-source-external-mariadbErfordert eine kommerzielle Lizenz. Nach der Installation und Aktivierung des Plugins kann es verwendet werden.
KingbaseES@nocobase/plugin-data-source-kingbaseErfordert eine kommerzielle Lizenz. Nach der Installation und Aktivierung des Plugins kann es verwendet werden.
OceanBase@nocobase/plugin-data-source-oceanbaseErfordert eine kommerzielle Lizenz. Nach der Installation und Aktivierung des Plugins kann es verwendet werden.
MSSQL@nocobase/plugin-data-source-external-mssqlErfordert eine kommerzielle Lizenz. Nach der Installation und Aktivierung des Plugins kann es verwendet werden.
Oracle@nocobase/plugin-data-source-external-oracleErfordert eine kommerzielle Lizenz. Nach der Installation und Aktivierung des Plugins kann es verwendet werden.
ClickHouse@nocobase/plugin-data-source-external-clickhouseErfordert eine kommerzielle Lizenz. Nach der Installation und Aktivierung des Plugins kann es verwendet werden.
Doris@nocobase/plugin-data-source-external-dorisErfordert eine kommerzielle Lizenz. 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 das Plugin umfasst
  • Ob der aktuelle Benutzer über die Berechtigung zur Verwaltung von Datenquellen verfügt

Verwendung

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

Datentabellen synchronisieren

Nach dem Herstellen der Verbindung mit der 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 Benutzeroberflä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) können schnell angezeigt und konfiguriert werden. Über die Schaltfläche „Bearbeiten“ können außerdem weitere Einstellungen geändert werden.

20240507210537

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

20240507220140

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

Feldtypen zuordnen

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 einer entsprechenden Anpassung verwendet werden.

20240507221854

Eindeutige Datensatzkennung

Eine als Block angezeigte Datentabelle muss über eine „eindeutige Datensatzkennung“ (Record unique key) verfügen. Sie dient dazu, einen Datensatz in einem Seitenblock zu identifizieren. In der Regel werden dafür der Primärschlüssel oder ein eindeutiges Feld ausgewählt.

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 keine geeignete eindeutige Kennung vorhanden ist, können Seitenblöcke möglicherweise nicht korrekt erstellt werden und Datensätze lassen sich eventuell nicht anzeigen oder bearbeiten. Weitere Informationen finden Sie unter Normale Tabellen / Bearbeitungskonfiguration.

edit_collection

edit_collection_configure