2.6.2 DataDictionary/SIBDDGEN
Binäres DataDictionary-Format (ab infra 7402)
Das mit der Version des DataDictionary-Generators SIBDDGEN erzeugte binäre DataDictionary (sibdd.bin) ist nicht kompatibel zu Vorgängerversionen von infra:NET, d.h. ein mit diesem Generator erzeugtes sibdd.bin kann nicht auf ältere infra-Installationen kopiert werden.
Systemfelder je Datensatz (7402)
Für jede infra-Datenbanktabelle (ab Tabellenindex 6) werden Systemfelder definiert, deren Inhalt ausschließlich vom Datenbanksystem versorgt wird.
Die Systemfelder werden hinter die Nutzdaten am Ende des eigentlichen Datensatzes angehängt.
Dazu wird die Länge eines Datensatzes automatisch um den notwendigen Systembereich verlängert. Lesende Zugriffe auf die Systemfelder sind über die entsprechenden Feldnamen oder Feldnummern möglich.
Die Suche in binären Feldern wird nicht unterstützt, auch nicht bei der Datei 999 (Journal).
Die Systemfelder sind Voraussetzung für den Einsatz der Journalfunktion des infra-Datenbankservers und ermöglichen auch die Nutzung der Änderungsnachverfolgung im Microsoft SQL Server).
Um die im DataDictionary definierten Systemfelder in der Datenbank anzulegen, müssen die entsprechenden Datenbankdateien reorganisiert werden. Ohne Reorganisation sind die Datenbankdateien zwar weiterhin nutzbar, die entsprechenden Zusatzfunktionen (wie zum Beispiel das Änderungsjournal) stehen allerdings für die nicht reorganisierten Datenbankdateien nicht zur Verfügung.
Systemfelder sind über die Replikation auch in der SQL-Datenbank verfügbar und können zum Beispiel über infraADO ausgewertet werden. Im Programm "9955 DataDictionary bearbeiten" sind die Systemfelder nicht sichtbar, werden aber in INFOSYSTEM – DATENBANKSTATUS angezeigt.
Achtung:
Systemfelder werden ausschließlich von der Client/Server-Datenbank unterstützt, sie werden vom klassischen infra-Datenbanksystem (LCD) nicht erkannt.
Hinweis: Durch Angabe des Kommandozeilen-Parameters „-SRE“ (System Record Extension) kann mit SIBDDGEN ein binäres DataDictionary ohne Systemfelder generiert werden. In diesem Fall kann keine Datenbank-Protokollierung stattfinden und alle ggf. in den Systemfeldern bereits vorhandenen Informationen gehen verloren!
Der Systembereich eines Datensatzes ist wie folgt aufgebaut:
|
Systembereich je Tabelle (118 Bytes)
| |||
|
Nr.
|
Identifier
|
Bezeichnung / Erläuterung
|
Format
|
|
999
|
ISN
|
Interne Satz-Nummer
Ist nicht Bestandteil des Systembereichs, dient zur Abfrage/Anzeige der ISN
|
B4
|
|
998
|
SYSInsSource
|
Ursprung des Datensatzes
Programm-ID des Anwendungsprogramms, das diesen Datensatz angelegt hat.
|
C10
|
|
997
|
SYSInsUser
|
Login-Name Neuanlage
Login-Name des Anwenders, der diesen Datensatz erzeugt hat.
|
C15
|
|
996
|
SYSInsDate
|
Datum Neuanlage
Termin, an dem der Datensatz erzeugt wurde.
|
d
|
|
995
|
SYSInsTime
|
Uhrzeit Neuanlage
Uhrzeit, zu der der Datensatz erzeugt wurde (Serverzeit).
|
u
|
|
994
|
SYSUpdSource
|
Ursprung der letzten Änderung
Programm-ID des Anwendungsprogramms, das diesen Datensatz zuletzt geändert hat.
|
C10
|
|
993
|
SYSUpdUser
|
Login-Name Änderung
Login-Name des Anwenders, der diesen Datensatz zuletzt geändert hat.
|
C15
|
|
992
|
SYSUpdDate
|
Datum Änderung
Termin, an dem der Datensatz zuletzt geändert wurde.
|
d
|
|
991
|
SYSInsTime
|
Uhrzeit Änderung
Uhrzeit, zu der der Datensatz zuletzt geändert wurde (Serverzeit).
|
u
|
|
990
|
SYSUUID
|
Universelle Satz-ID
Jeder Datensatz erhält vom System eine automatisch generierte eindeutige Satz-ID (UUID), die diesen Datensatz eindeutig identifiziert. Im Gegensatz zur ISN eines Datensatzes ändert sich die UUID nie – auch nicht bei einer Reorganisation.
Die Satz-ID wird im Änderungsjournal als Verweis auf den geänderten Datensatz gespeichert.
Bei der Anzeige einer Satz-ID wird diese automatisch in hexadezimale Darstellung konvertiert.
|
B16
|
|
989
|
SYSFlags
|
Interne Flags des Datenbanksystems
Derzeit nicht benutzt
|
B4
|
