Überblick: Was sind Subsysteme und Datenobjekte?
Das Datenmodell in UDM ist hierarchisch aufgebaut. An oberster Stelle stehen Subsysteme — sie dienen als logische Container, um zusammengehörige Datenobjekte thematisch zu gruppieren. Ein Subsystem entspricht dabei einem fachlichen Bereich Ihres Unternehmens, z. B. „CRM“, „Lagerverwaltung“ oder „Personalwesen“.
Innerhalb eines Subsystems legen Sie Datenobjekte (Entities) an. Ein Datenobjekt repräsentiert eine konkrete Datenstruktur — vergleichbar mit einer Datenbanktabelle. Es definiert, welche Informationen gespeichert werden können. Jedes Datenobjekt enthält Felder (Entity Properties), die die einzelnen Spalten bzw. Attribute beschreiben.
| Ebene | Bezeichnung in UDM | Beschreibung |
|---|---|---|
| Subsystem | System / App | Logischer Container für einen Fachbereich. Enthält Datenobjekte, Datenquellen und Dokumentationen. |
| Datenobjekt | Objekt / Entity | Einzelne Datenstruktur (Tabelle) innerhalb eines Subsystems. Besitzt einen technischen Namen und einen Anzeigenamen. |
| Feld | Eigenschaft / Entity Property | Einzelnes Attribut eines Datenobjekts mit Datentyp, Titel und optionaler Konfiguration (Fremdschlüssel, Nummernkreis, UI-Typ). |
Sie möchten ein einfaches CRM in UDM abbilden. Dazu erstellen Sie ein Subsystem „CRM“ und legen darin drei Datenobjekte an: Kunde (Firmenname, Adresse, Telefon), Ansprechpartner (Name, E-Mail, Telefon, Zuordnung zum Kunden) und Branche (Branchenbezeichnung, Branchencode). Anschließend verknüpfen Sie die Datenobjekte über Fremdschlüssel und erstellen Datenquellen für die Anzeige im Client.
Schritt-für-Schritt: Subsystem anlegen
- Systeme-Seite öffnen Navigieren Sie im Admin Client zur Hauptseite „Systeme“. Dort sehen Sie eine Übersicht aller vorhandenen Subsysteme mit Statistiken zu Datenobjekten und Datenquellen.
- Neues Subsystem erstellen Klicken Sie auf die Schaltfläche „Neu“ in der Toolbar. Es öffnet sich der Detaildialog für ein neues Subsystem. Geben Sie einen Namen (z. B. „CRM“) und eine Beschreibung ein. Optional können Sie ein Icon hochladen.
- Subsystem speichern und öffnen Speichern Sie das Subsystem. Es erscheint nun in der Systemübersicht. Klicken Sie auf das neue Subsystem, um in die Detailansicht zu navigieren. Dort finden Sie Registerkarten für Objekte, Felder, Datenquellen und Dokumentationen.
Settings),
die Sie später im Detaildialog konfigurieren können. Die Option
„Erweiterbar“ (CanBeExtended) legt fest, ob andere
Administratoren zusätzliche Datenobjekte in diesem Subsystem anlegen dürfen.
Schritt-für-Schritt: Datenobjekt anlegen
- Registerkarte „Objekte“ öffnen Navigieren Sie innerhalb Ihres Subsystems zur Registerkarte „Alle Objekte“. Dort sehen Sie eine Liste aller bereits vorhandenen Datenobjekte des Subsystems.
-
Neues Datenobjekt erstellen
Klicken Sie auf „Neu“. Im Detaildialog konfigurieren Sie:
- Technischer Name (
EntityName) — Der interne Name, wie er in der Datenbank erscheint (z. B.Kunde). - Anzeigename (
EntityTitle) — Der Name, der Anwendern in der Benutzeroberfläche angezeigt wird (z. B. „Kunde“). - Anzeigename Plural (
EntityTitlePlural) — Pluralform für Listenüberschriften (z. B. „Kunden“). - Primärschlüssel (
PKFields) — Die Spalte(n), die den Datensatz eindeutig identifizieren. - UDM ist Eigentümer (
UdmIsOwner) — Aktivieren, wenn UDM die Tabelle selbst verwaltet und Schreibrechte hat.
- Technischer Name (
-
Felder (Properties) definieren
Nach dem Speichern des Datenobjekts können Sie auf der Registerkarte „Felder“
die einzelnen Spalten anlegen. Jedes Feld benötigt mindestens:
- Technischer Name (
PropertyName) — Spaltenname in der Datenbank. - Anzeigename (
PropertyTitle) — Name in der Benutzeroberfläche. - Datentyp (
DataType) — Siehe Tabelle unten.
- Technischer Name (
-
Felder konfigurieren
Für jedes Feld können Sie zusätzliche Optionen festlegen:
- Nullable — Ob das Feld leer sein darf.
- Hauptspalte (
IsMainColumn) — Markiert das Feld als primären Anzeigewert des Datenobjekts. - Priorität — Bestimmt die Sichtbarkeit und Reihenfolge in der Benutzeroberfläche.
- Fremdschlüssel — Verknüpft das Feld mit einem anderen Datenobjekt.
- Nummernkreis — Automatische Nummerierung für neue Datensätze.
- UI-Element-Typ — Legt fest, wie das Feld im Formular dargestellt wird (Textfeld, Dropdown, Datum etc.).
EntityName) und seiner Felder
(PropertyName) sollte nach dem ersten Anlegen nicht mehr geändert werden,
wenn bereits Daten vorhanden sind oder Datenquellen darauf verweisen. Eine Änderung
kann zu Datenverlust oder fehlerhaften Abfragen führen.
Unterstützte Datentypen
Beim Anlegen eines Feldes wählen Sie einen Datentyp aus. UDM unterstützt
die folgenden Standard-Datentypen (basierend auf System.Data.DbType):
| Datentyp | Beschreibung | Beispielwerte |
|---|---|---|
String |
Zeichenkette mit konfigurierbarer Länge (StringLength) |
„Mustermann GmbH“, „info@beispiel.de“ |
Int32 |
Ganzzahl (32-Bit) | 1, 42, 10000 |
Int64 |
Ganzzahl (64-Bit) für große Zahlenwerte | 9999999999 |
Decimal |
Dezimalzahl mit hoher Präzision (z. B. Währungsbeträge) | 19.99, 1234.5678 |
Double |
Gleitkommazahl (64-Bit) | 3.14159, 0.001 |
Boolean |
Wahrheitswert (Ja/Nein) | true, false |
DateTime |
Datum und Uhrzeit | 2026-03-13 14:30:00 |
Date |
Nur Datum (ohne Uhrzeit) | 2026-03-13 |
Guid |
Eindeutiger Bezeichner (UUID), häufig für Primärschlüssel und Fremdschlüssel | a1b2c3d4-e5f6-... |
Binary |
Binärdaten (z. B. Dateien, Bilder) | — |
DisplayFormat)
hinterlegen. Beispielsweise {0:dd.MM.yyyy} für ein deutsches Datumsformat
oder {0:N2} für Dezimalzahlen mit zwei Nachkommastellen.
Wichtige Feldoptionen im Detail
Primärschlüssel und Identity
Jedes Datenobjekt benötigt mindestens ein Feld als Primärschlüssel.
Wenn Sie die Option „PK ist Identity“ aktivieren, wird der Wert
automatisch von der Datenbank vergeben (Auto-Increment). Bei Verwendung von Guid
als Primärschlüssel erzeugt UDM automatisch neue IDs beim Anlegen von Datensätzen.
Fremdschlüssel (Foreign Keys)
Über Fremdschlüssel verknüpfen Sie Datenobjekte miteinander. Konfigurieren Sie dazu:
- Ziel-Feld — Das Primärschlüsselfeld des verknüpften Datenobjekts.
- Textspalten (
TextColumns) — Welche Felder des verknüpften Objekts als Anzeige verwendet werden. - Textformat (
TextFormat) — Optionales Format für die kombinierte Anzeige mehrerer Textspalten.
Virtuelle Spalten
Virtuelle Spalten (IsVirtualColumn) existieren nicht physisch in der Datenbank.
Sie werden ausschließlich in der Benutzeroberfläche angezeigt und können
im dynamischen Code vor dem Speichern verarbeitet werden — beispielsweise als
Eingabefeld für eine Berechnung oder als Steuerelement für einen Workflow.
Änderungsprotokoll (Change Log)
Aktivieren Sie „ChangeLog aktiv“ auf dem Datenobjekt, um alle Änderungen an Datensätzen automatisch zu protokollieren. Mit „ChangeLog Pflicht“ erzwingen Sie, dass Anwender bei jeder Änderung einen Kommentar eingeben müssen.
Vom Datenobjekt zur Anwendung
Nachdem Sie Subsystem, Datenobjekte und Felder angelegt haben, folgen diese weiteren Schritte, um die Daten für Anwender nutzbar zu machen:
- Datenquellen erstellen — Definieren Sie, welche Felder in welcher Kombination abgefragt werden (Registerkarte „Datenquellen“ im Subsystem).
- Dialoge konfigurieren — Legen Sie fest, wie die Daten in der Benutzeroberfläche dargestellt und bearbeitet werden.
- Ansichtselemente einrichten — Platzieren Sie Tabellen, Formulare oder Diagramme auf den Seiten der Anwender-App.
- Berechtigungen vergeben — Steuern Sie, welche Benutzergruppen auf welche Datenobjekte zugreifen dürfen.
Häufige Fragen (FAQ)
Kann ich ein Subsystem nachträglich umbenennen?
Ja, der Name und die Beschreibung eines Subsystems können jederzeit im Detaildialog geändert werden. Dies hat keine Auswirkung auf die technische Struktur oder bestehende Daten.
Was passiert, wenn ich ein Datenobjekt lösche?
Beim Löschen eines Datenobjekts werden auch alle zugehörigen Felder, Datenquellen und Ansichtselemente entfernt. Vorhandene Daten in der Datenbank werden dabei nicht automatisch gelöscht, sofern UDM nicht Eigentümer der Tabelle ist. Prüfen Sie vor dem Löschen alle Abhängigkeiten sorgfältig.
Was bedeutet „UDM ist Eigentümer“?
Wenn UdmIsOwner aktiviert ist, verwaltet UDM die zugrundeliegende Datenbanktabelle
vollständig — einschließlich Erstellen, Ändern und Löschen von Datensätzen.
Ist die Option deaktiviert, liest UDM die Daten nur aus einer externen Quelle und
schreibt nicht zurück.
Wie viele Datenobjekte kann ein Subsystem enthalten?
Es gibt keine technische Obergrenze. Für eine übersichtliche Struktur empfehlen wir jedoch, fachlich zusammengehörige Datenobjekte in einem Subsystem zu gruppieren und bei Bedarf weitere Subsysteme für neue Fachbereiche anzulegen.
Kann ich Felder eines bestehenden Datenobjekts nachträglich hinzufügen?
Ja, Sie können jederzeit neue Felder zu einem Datenobjekt hinzufügen. Bestehende
Datensätze erhalten für das neue Feld den Standardwert (meist NULL,
sofern das Feld als „Nullable“ markiert ist). Beachten Sie, dass die zugrundeliegende
Datenbanktabelle ebenfalls angepasst werden muss, wenn UDM nicht Eigentümer ist.
IsUdmSystem = true sind interne Systemobjekte
von UDM. Diese sollten nur in Absprache mit dem UDM-Support verändert werden, da
Änderungen die Systemstabilität beeinträchtigen können.