Datenbankstruktur

Diese Seite wurde automatisch aus dem Datenbank-Schema-Dump generiert und kann unvollständig oder fehlerhaft sein.

Dieser Bereich dokumentiert die Datenbankstruktur des enaio®-Systems — also welche Tabellen im Datenbankschema vorhanden sind, welche Spalten sie führen und wie die wiederkehrenden Muster der Objekt-, Stamm- und Register-Tabellen zusammenhängen. Das Schema ist datenbankunabhängig — enaio® unterstützt mehrere relationale Datenbankbackends (z. B. Microsoft SQL Server, Oracle). Datentypen werden in dieser Doku in der SQL-Server-Schreibweise (int, nvarchar, datetime, bigint, smallint, real, image) angegeben; bei Oracle entsprechen sie sinngemäß NUMBER, NVARCHAR2, DATE, NUMBER(19), NUMBER(5), BINARY_FLOAT und BLOB.

Die hier dokumentierten Strukturen sind die unmittelbare physische Speicherform; sie werden in der Regel nicht direkt modifiziert (außer durch ado.ExecuteSQL-Skripte für administrative Korrekturen), sondern über die DMS-, Standard- und Workflow-Engines bearbeitet. Diese Doku ist als Referenz für Administratoren, Reportentwickler und Integrationsentwickler gedacht.

1. Schema-Konventionen

Die Datenbank verwendet eine Mischung aus festen Systemtabellen und typspezifischen Tabellen pro Objekttyp. Folgende Konventionen sind durchgängig:

1.1. Suffix-Schema

Für jeden konfigurierten DMS-Objekttyp existieren mehrere Tabellen, deren Name eine fortlaufende Nummer X trägt. X entspricht dem Haupttyp (haupttyp-Spalte) + 1object1 enthält also Objekte mit haupttyp = 0, object17 solche mit haupttyp = 16. Die volle Objekttyp-ID (haupttyp * 65536 + untertyp) ist in Objekttyp-ID beschrieben.

Name Inhalt

objectX / stammX / registerX

Hauptobjekttabelle. Hält je Datensatz ein Objekt vom Typ X. Enthält gemeinsame Systemfelder (id, zeitstempel, Status, Berechtigungs-IDs, …) plus typspezifische Indexfelder.

objectXr / stammXr / registerXr

Rights-Tabelle. Hält Berechtigungseinträge pro Objekt (komplementär zum globalen Sicherheitssystem via ossd). Identische 4-Spalten-Struktur über alle Objekttypen.

objectXs / stammXs / registerXs

Shadow-Tabelle für Indexdaten-Historie. Hält die jeweils vorherigen Indexdatenstände vor jeder Änderung. Gemeinsam ist nur osguid (Snapshot-Identifikator); danach folgen die typspezifischen Indexfelder.

objectXlistY / stammXlistY / registerXlistY

Tabellenfeld-Daten. Eine Tabelle pro auf dem Objekttyp X definierten Tabellenfeld Y (Grid-Feld); enthält pro Zeile des Grids einen Datensatz. Gemeinsame Felder: id (FK auf Hauptobjekt) und line (Zeilennummer im Grid).

objectXlistYs / stammXlistYs / registerXlistYs

Shadow-Variante zu Tabellenfeldern. Gemeinsam: osguid und line.

1.2. Spaltennamen-Konvention

Indexfelder folgen einer historisch gewachsenen, typabhängig-positionellen Notation (ungarische Schreibweise):

  • feld1, feld2, … — Textfelder (nvarchar)

  • zahl1, zahl2, … — Ganzzahlfelder (int / smallint)

  • datum1, datum2, … — Datumsfelder (datetime)

  • real1, real2, … — Dezimal-/Fließkommafelder (decimal / real)

Die Zuordnung „Spaltenname → semantisches Indexfeld" ist pro Objekttyp unterschiedlich konfiguriert und über die DMS-Objektdefinition zugänglich (dms.GetObjDef).

Systemfelder hingegen verwenden sprechende deutsche Namen (anleger, angelegt, archiviert, zeitstempel, medium_doc, …) — ein historisches Erbe.

2. Hierarchische Objekttypen

Die folgenden drei Seiten beschreiben jeweils das Muster — gemeinsame Felder, Rights-, Shadow- und Tabellenfeld-Varianten — nicht einzelne nummerierte Tabellen.

3. Benutzer und Gruppen

4. Mappen und Dokumentzuordnungen

  • mappe — Mappen (Portfolios).

  • mdrel — Mappen-Dokument-Zuordnung.

5. Medien und Archiv

  • medien — Speichermedien (Archivmedien).

  • medrel — Medien-Set-Beziehungen.

  • archex — Archiv-Extensions / Serverzuordnung.

6. Sperren und Verknüpfungen

  • doclock — Dokumentsperren (Checkout).

  • hyplnk — Hyperlinks (Querverweise zwischen Objekten).

  • combined — Kombinierte Dokumente (Parent/Child-Beziehungen).

7. Annotationen

8. Externsysteme

11. Berechtigungen und Profile

Die Workflow-Organisationsobjekte (osorg*) sind unter Workflows dokumentiert.

12. System-Events

13. DMS-Objekttypen, Indexfelder und Strukturen

14. Versionen, Hashes und Signaturen

15. Annotationen und Collaboration

19. Lizenzen und Kryptografie

20. Lokalisierung und Icons

22. Aktive Bearbeitung und Temporäres

23. Abonnements und Wiedervorlagen (OS-Backing)

24. Workflows

Die Workflow-Engine speichert Modelle, laufende Prozesse, Historien und Verwaltungsdaten in eigenen Tabellen mit Präfix oswf. Historien-Tabellen tragen zusätzlich das Präfix oswfh. Die Workflow-Organisation (Benutzer, Rollen, Abteilungen, Klassen und Attribute) liegt in den osorg*-Tabellen und wird sowohl von der Workflow-Engine als auch vom DMS-Sicherheitssystem genutzt.

Modelle und Definitionen

Masken und Listen-UI

Prozesse und Aktivitäten (Laufzeit)

Organisation und Bearbeiter

Workflow-spezifische Bearbeiter-Zuordnungen:

Organisations-Stammdaten (osorg*) — Benutzer, Rollen, Abteilungen, Klassen, Attribute:

Timer

Routinglisten

Reports

Historie (oswfh*)

25. Labor (LIMS)

Tabellen der Labordatenintegration (Laboratory Master/Transaction Tables):