Technische Spalten

Alle Tabellen, in denen TopLogic Anwendungsobjekte speichert, haben einen Präfix von technischen Spalten für die interne Realisierung von Mandantenfähigkeit (Mandantenfähigkeit) und Versionierung (Datenversionierung).

Mandant

Die Spalte branch enthält einen Fremdschlüssel für die Tabelle Branch, welche die Mandanten des Systems verwaltet. In einer Anwendung ohne Mandanten existiert nur ein einziger Branch mit der Nummer 1. Daher ist in solchen Anwendungen der Wert der technischen Spalte branch immer 1.

Objekt-Identität

Die Spalte identifier enthält die technische ID des in der Zeile gespeicherten Objektes. Die ID eines Objektes bleibt von seiner Erzeugung bis zu seiner Löschung konstant. Über den Wert der Spalte identifier können alle Versionen ein und desselben Objektes gefunden werden. Referenzen auf Objekte werden über Fremdschlüsselbeziehungen zu der Spalte identifier realisiert.

Gültigkeit

Jede Zeile in einer Objekttabelle repräsentiert nicht das Objekt selbst, sondern eine Version des Objektes. Eine solche Version wird über ihren Gültigkeitsbereich (revMin inklusive bis exklusive revMax) ausgedrückt. Die Werte in den Spalten revMin und revMax sind Fremdschlüssel für die Tabelle Revision, welche die Version des Gesamtsystems codiert. Jede Änderung im System erzeugt eine neue Revision. Bei jeder Änderung werden aber nur diejenigen Zeilen der bei dieser Operation geänderten Objekte angefasst. Daher gibt es einen Spezialwert (263-1) in der Spalte revMax, welcher für die "aktuelle Version" steht. Alle aktuellen Versionen von Objekten in der Tabelle MyTable können daher über das folgende SQL-Statement gefunden werden:

SELECT * FROM MY_TABLE WHERE REV_MAX=9223372036854775807 

Anlageversion

In der Spalte revCreate steht die Version, in der das Objekt angelegt wurde. Der Wert dieser Spalte ist i.d.R. für alle Versionen desselben Objektes identisch. Diese Version wird ebenfalls als Fremdschlüssel für die Tabelle Revision realisiert.