Zurück zum Blog

Entity-Hierarchien in RDataCore verstehen

Einführung

Eine der leistungsstärksten Funktionen von RDataCore ist der flexible Ansatz zur Organisation von Entitäten in hierarchischen Strukturen. Anders als traditionelle Systeme, die explizite Ordner-Entitäten erfordern, verwendet RDataCore ein pfadbasiertes System, das automatisch Eltern-Kind-Beziehungen herstellt und dabei die Datenbank schlank und effizient hält.
In diesem Artikel werden wir untersuchen, wie Entity-Hierarchien in RDataCore funktionieren, von der Erstellung von Entitäten mit benutzerdefinierten Pfaden bis zur Nutzung des Import-Systems für Massen-Datenoperationen. Ob du Kunden, Bestellungen, Produkte oder andere Datentypen verwaltest – das Verständnis dieser Konzepte hilft dir, eine saubere, navigierbare Datenstruktur aufzubauen.
Wenn du neu bei RDataCore bist, möchtest du vielleicht zuerst unseren Guide zu Entitäten und Entity-Definitionen lesen, um die Grundlagen zu verstehen.

Frei wählbare Entity-Pfade

Beim Erstellen einer neuen Entität in RDataCore bist du nicht auf vordefinierte Ordnerstrukturen beschränkt. Stattdessen kannst du jeden beliebigen Pfad für deine Entität angeben. Dieser Pfad wird zum Standort der Entität in der hierarchischen Baumansicht.
Wenn du zum Beispiel eine neue Customer-Entität erstellst, könntest du den Pfad auf /Clients setzen. Das System erkennt, dass dieser Pfad noch nicht existiert, und zeigt hilfreich an, dass es einen neuen Ordner namens "Clients" für deine Entität erstellen wird.
Dieser Ansatz gibt dir vollständige Freiheit, deine Daten so zu organisieren, wie es für dein Geschäft sinnvoll ist. Möchtest du Kunden nach Region organisieren? Verwende Pfade wie /Europa/Deutschland/Kunden oder /APAC/Japan/Kunden. Musst du B2B von B2C trennen? Erstelle Pfade wie /B2B/Enterprise/Kunden und /B2C/Retail/Kunden.
Die Kernerkenntnis hier ist, dass du diese Ordnerstrukturen nicht vorher erstellen musst. Gib einfach den Pfad beim Erstellen deiner Entität an, und RDataCore erledigt den Rest.
Creating a new customer entity with a custom path
Erstellen einer neuen Customer-Entität mit dem Pfad /Clients erstellt einen virtuellen Ordner

Automatische Eltern-Auflösung

Eine der komfortabelsten Funktionen von RDataCores Pfadsystem ist die automatische Eltern-Auflösung. Wenn du anfängst, einen Pfad einzugeben, durchsucht das System bestehende Entitäten, die deiner Eingabe entsprechen, und bietet sie als Vorschläge an.
Dies wird besonders mächtig beim Aufbau von Beziehungen zwischen Entitäten. Stell dir vor, du hast bereits eine Customer-Entität unter /Clients/john-doe--john@doe.com erstellt. Jetzt möchtest du eine Order-Entität erstellen, die zu diesem Kunden gehört. Während du /Cl in das Pfadfeld eingibst, schlägt RDataCore sofort die bestehende Kunden-Entität vor.
Indem du diesen Vorschlag auswählst, platzierst du deine Order nicht nur im selben Ordner – du stellst eine direkte Eltern-Kind-Beziehung her. Die neue Order-Entität wird den Kunden als Elternteil haben und eine bedeutsame Verbindung in deinem Datenmodell schaffen.
Diese automatische Eltern-Auflösung funktioniert über alle Entitätstypen hinweg. Du kannst tiefe Hierarchien wie /Clients/john-doe/Orders/order-123/Items/item-456 erstellen, wobei jede Ebene eine echte Entität mit korrekten Eltern-Kind-Beziehungen darstellt.
Path autocomplete showing existing entities
Pfad-Autovervollständigung schlägt bestehende Entitäten für die Eltern-Auflösung vor

Virtuelle Ordner: Kein Datenbank-Overhead

Hier zeigt sich RDataCores Designphilosophie wirklich. Wenn du einen Pfad wie /Clients/john-doe erstellst, erscheint der "Clients"-Teil als Ordner in der Entity-Baumansicht. Aber hier ist der clevere Teil: Dieser Ordner existiert nicht als tatsächliche Entität in der Datenbank.
RDataCore verwendet "virtuelle Ordner" zur Anzeige hierarchischer Pfade in der UI. Diese Ordner sind rein visuelle Konstrukte, die dir beim Navigieren deiner Daten helfen. Sie verbrauchen keine Datenbankressourcen, erfordern keine Verwaltung und fügen deinem Datenmodell keine Komplexität hinzu.
Dieser Ansatz hat mehrere Vorteile:
  1. Reduzierter Datenbank-Footprint: Du speicherst nur tatsächliche Datenentitäten, keine organisatorischen Container
  2. Vereinfachte Verwaltung: Kein Erstellen, Aktualisieren oder Löschen von Ordner-Entitäten nötig
  3. Flexible Reorganisation: Virtuelle Pfade können ohne Migration von Ordnerdatensätzen geändert werden
  4. Sauberes Datenmodell: Deine Entity-Definitionen konzentrieren sich auf echte Geschäftsobjekte, nicht auf strukturelle Elemente
In der Baumansicht siehst du Ordner-Icons für virtuelle Pfade und entitätstypspezifische Icons für tatsächliche Entitäten. Diese visuelle Unterscheidung hilft dir, deine Datenstruktur auf einen Blick zu verstehen.

Eltern-Kind-Beziehungen

Jede Entität in RDataCore pflegt explizite Beziehungen zu ihrem Elternteil (und Kindern, falls vorhanden). Diese Beziehungen sind im Entity-Details-Panel unter dem Abschnitt "Relationships" sichtbar.
Wenn du die Details einer Entität ansiehst, siehst du:
  • Parent: Die UUID der Eltern-Entität (falls vorhanden)
  • Children: Eine Anzahl der Kind-Entitäten (falls vorhanden)
Diese Beziehungen sind mehr als nur organisatorisch – sie sind abfragbar. Du kannst die API verwenden, um alle Kinder einer bestimmten Entität abzurufen, die Hierarchie nach oben zu durchlaufen, um Vorfahren zu finden, oder komplexe Abfragen zu erstellen, die die Eltern-Kind-Struktur nutzen.
Die Beziehungsdaten enthalten die vollständigen Pfadinformationen, sodass leicht zu verstehen ist, wo genau eine Entität in deiner Hierarchie sitzt. Zum Beispiel könnte eine Order ihren Pfad als /Clients/john-doe--john@doe.com anzeigen, was darauf hinweist, dass sie ein Kind der Customer-Entität an diesem Standort ist.
Entity tree showing parent-child relationships
Der Entity-Baum zeigt hierarchische Beziehungen mit Eltern-UUID im Detailbereich

Import-Integration mit Pfad-Auflösung

RDataCores Pfadsystem wird noch mächtiger in Kombination mit der Import-Funktionalität. Beim Definieren eines Import-Workflows kannst du einen Zielpfad für alle importierten Entitäten angeben.
In der Import-Definition konfigurierst du:
  • Entity Definition: Der Typ der zu erstellenden Entität (z.B. Customer)
  • Path: Der Basispfad, unter dem Entitäten erstellt werden sollen (z.B. /testo)
  • Field Mappings: Wie Quelldatenfelder auf Entitätsfelder abgebildet werden
Der Worker löst Pfade während des Imports automatisch auf. Wenn du Kundendaten mit einem angegebenen Pfad importierst, wird jede Kunden-Entität an diesem Ort erstellt. Das System handhabt die Eltern-Auflösung automatisch – wenn Entitäten bereits unter Elternpfaden existieren, werden Beziehungen entsprechend hergestellt.
Dies macht Massen-Datenoperationen nahtlos. Du kannst Tausende von Datensätzen aus CSV-Dateien, externen APIs oder anderen Quellen importieren, und jede Entität wird korrekt in deiner Hierarchie mit richtigen Eltern-Kind-Beziehungen positioniert.
Für komplexere Szenarien kannst du sogar dynamische Pfadausdrücke verwenden, die Daten aus den importierten Datensätzen selbst enthalten. Zum Beispiel würde das Setzen des Pfads auf /Customers/{{region}} Kunden während des Imports automatisch in regionbasierte Ordner organisieren.
Import definition with path configuration
Import-Definition mit Pfadkonfiguration für automatische Entitätsplatzierung
Example user data for import
Beispiel-Quelldaten für Massenimport-Operationen

Was kommt als Nächstes

Das Verständnis von Entity-Hierarchien ist erst der Anfang. In kommenden Blog-Beiträgen werden wir tiefer in RDataCores leistungsstarkes Workflow-System eintauchen, einschließlich:
  • Import/Export-Workflow-Definitionen: Wie man ausgefeilte Datenpipelines erstellt, die Daten automatisch transformieren, validieren und weiterleiten
  • Webhook-Integration: Workflows basierend auf externen Ereignissen auslösen
  • Benutzerdefinierte Geschäftslogik: Eigene Regeln während der Datenverarbeitung anwenden
Bleibt dran für weitere technische Deep-Dives in RDataCores Fähigkeiten!
Demnächst: Import/Export Workflow Definitions