Kapitelübersicht
6. Datenbankbeschreibungen
6.1 Wertedatenbank --.
6.2 Schluesseldatenbank I-> Parameter-Datenbanken
6.3 Steuerungsdatenbank --'
6.4 Summendatenbanken
6.4.1 Interner Satzaufbau der Verdichtungsstufen
6.5 Bibliothek fuer Listanforderungen
6.6 SPA-Datenbank
6. Datenbankbeschreibungen
Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
Es folgt die Beschreibung der ASS-Datenbanken - jedoch
nur die logische Struktur.
Die physikalische Struktur ist abhaengig vom DB-Traeger-
System (DLI, ADABAS, ISAM, UDS).
Sie ist Gegenstand einer individuellen Installation
(vgl. Handbuch INSTALLATION).
Die Datenbanken Wertedatenbank, Schluesseldatenbank und
Steuerungsdatenbank sind Parameterdatenbanken.
Ein immenser Vorteil der Speicherung in den Parameter-
banken besteht darin, dass Schluessel und Werte zentral
gespeichert und gepflegt werden (koennen)
und somit Redundanzen vermieden werden.
6.1 Wertedatenbank
Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
+-----------+
! SST001WE !
+-----------+
!
!
!
+-----------+
! SST002WA !
+-----------+
Beim Speichern eines Wertes in die Wertedatenbank
legt ASS einen Satz (Segment) vom Typ SST001WE an.
Wird ein Wert in einem Arbeitsgebiet verwendet, so wird
ein Satz (Segment) vom Typ SST002WA angelegt, der dem
betreffenden Wert untergeordnet ist.
6.2 Schluesseldatenbank
Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
Die Schluesseldatenbank hat folgende logische
(hierarchische) Struktur:
+----------+
! SST011KY !
+----------+
!
!
+---------------------------------------------+
! ! ! !
! ! ! !
+----------+ +-----------+ +----------+ +----------+
! SST012GR ! ! SST013SA ! ! SST015CK ! ! SST016CL !
+----------+ +-----------+ +----------+ +----------+
!
!
!
+----------+
! SST014GZ !
+----------+
ASS legt fuer jeden Schluessel, der in der Schluesseldaten-
bank gespeichert wird, einen Satz (Segment) vom Typ SST011KY
ab. Fuer jede Gruppierung eines Schluessels wird ein
Satz (Segment) vom Typ SST012GR gespeichert, der dem
betreffenden SST011KY untergeordnet ist. Die Gruppenzuge-
gehoerigkeiten, die ja eigentlich erst eine Gruppierung
ausmachen, werden in Saetzen (Segmenten) vom TYP SST014GZ
gespeichert. Fuer jede Gruppenzugehoerigkeit wird ein Satz
(Segment) vom Typ SST014GZ gespeichert und dem betreffenden
SST012GR untergeordnet. Fuer jede Auspraegung eines
Schluessels, die in die Schluesseldatenbank aufgenommen
werden soll, wird ein Satz (Segment) vom Typ SST013SA
gespeichert und dem betreffenden SST011KY untergeordnet.
In den Segmenten SST015CK und SST016CL legt ASS Schluessel-
caches an. In ihnen werden noch einmal die wichtigsten
Informationen zu den Auspraegungen des uebergeordneten
Schluessels aus SST011KY abgelegt. Dabei sind die Informa-
tionen noch einmal komprimiert worden. Ausserdem werden in
einem Segment mehrere Auspraegungen beruecksichtigt.
SST015CK unterscheidet sich von SST016CL dadurch, dass in
SST016CL mehr Informationen ueber die Auspraegungen enthal-
ten sind als in SST015CK. Deswegen werden sie auch als
kurzer und langer Schluesselcache bezeichnet.
Ferner sind auf der Schluesseldatenbank sogenannte
Schluesselrelationen abgespeichert (Beschreibung im Handbuch
HST06 im Kapitel 6). Sie sind in den Segmenten
SST017RE, SST018RA und SST019RV abgespeichert:
+-----------+
! SST017RE ! ----------
+-----------+ !
! !
! !
+-----------+ +-----------+
! SST018RA ! ! SST019RV !
+-----------+ +-----------+
In SST017RE wird die Relation beschrieben: Hier stehen
Relationsnummer, Relationsbezeichnung , Relationsab-
kuerzung und Relationsart sowie die Schluesselnummern
der Schluessel, auf die sich die Relation bezieht.
Die zur Relation gehoerenden Kombinationen von
Schluesselinhalten dieser Schluessel sind in Form ihrer
internen Nummern in den Segmenten vom Typ SST018RA abge-
speichert.
Schliesslich bilden die Segmente SST019RV einen Verwendungs-
nachweis fuer die Relationen bzgl. der Schluessel: Fuer
jeden Schluessel und jede Relation, in der der Schluessel
verwendet wird, legt ASS ein Segment ab.
6.3 Steuerungsdatenbank
Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
Die Steuerungsdatenbank hat folgende logische
(hierarchische) Struktur:
+-----------+
! SST021CO !
+-----------+
!
!
+----------------------------------+
! ! !
! ! !
+-----------+ +-----------+ +-----------+
! SST022VS ! ! SST023CV ! ! SST024SA !
+-----------+ +-----------+ +-----------+
!
!
+-----------------------+
! !
! !
+-----------+ +-----------+
! SST025VW ! ! SST026AR !
+-----------+ +-----------+
Fuer jedes Arbeitsgebiet, das definiert wird, wird ein
Satz (Segment) vom Typ SST021CO gespeichert. Die ein
Arbeitsgebiet ergaenzenden Beschreibungen werden in den
betreffenden, SST021CO untergeordneten Saetzen (Segmenten)
gespeichert.
Fuer jeden verwendeten Schluessel speichert ASS einen Satz
(Segment) vom Typ SST022VS.
Fuer jede Verdichtungsstufe wird ein Satz (Segment)
vom Typ SST023CV gespeichert. Fuer jeden in einer
Verdichtungsstufe verwendeten Wert, wird ein Satz (Segment)
vom Typ SST025VW gespeichert und dem betreffenden
SST023CV untergeordnet.
Fuer jede dem System bekannte Speicherungsart
wird ein Satz vom Typ SST026AR in der Steuerungsdatenbank
abgelegt und der betreffenden
Verdichtungsstufe SST023CV untergeordnet (z. B. ausgelagerte
Zeitraeume).
Gibt es in einem Arbeitsgebiet einen Schluesselausschluss,
d. h. in dem betreffenden Arbeitsgebiet sind nicht alle
Auspraegungen eines bestimmten Schluessels gueltig, die in
der Schluesseldatenbank gespeichert sind, so wird fuer
jeden Schluessel, fuer den ein Schluesselausschluss
definiert wird, ein Satz (Segment) vom Typ SST024SA
angelegt. Im betreffenden SST024SA werden dann die
zugelassenen Auspraegungen aufgezaehlt.
Schlussbetrachtung zu Schluesselauspraegungen
---------------------------------------------
ASS speichert alle gueltigen Auspraegungen, die ein Schluessel
ueberhaupt annehmen kann (ueber alle Arbeitsgebiete)
in der Schluesseldatenbank (SST013SA).
Die Menge der zulaessigen Auspraegungen innerhalb eines
Arbeitsgebiets ist dann eine Teilmenge aller moeglichen
Auspraegungen.
In der Steuerungsdatenbank wird gespeichert, welche
Auspraegungen der Gesamtmenge in diesem Arbeitsgebiet
gueltig sind (SST024SA).
Sollen alle Auspraegungen eines Schluessels im betreffenden
Arbeitsgebiet gueltig sein, so duerfen fuer diesen
Schluessel keine Saetze SST024SA angelegt werden.
Wenn es solche Angaben zu einem Schluessel gibt, der
hierarchisch untergeordnete Schluessel hat, so sind
implizit auch alle untergeordneten Auspraegungen im
betreffenden Arbeitsgebiet gueltig.
Werden nun mehrere Arbeitsgebiete zusammen betrachtet
(z. B. eine Auswertung ueber mehrere Arbeitsgebiete gemeinsam),
so sind die Auspraegungen eines Schluessels gueltig, die in
mindestens einem der betrachteten Arbeitsgebiete gueltig
sind (Vereinigungsmenge). Es ergeben sich weiterhin
Konsequenzen fuer die Folgeeinspeicherung, das
Sichern von Arbeitsgebieten und ausserdem fuer
Schluesselgruppierungen :
Gibt es zu einer Schluesselgruppierung eines
Schluessels ausgeschlossene Auspraegungen,
so bleiben bei der Listerzeugung alle ausgeschlossenen
Auspraegungen unberuecksichtigt.
Wurde eine Auspraegung unterdrueckt, nach der eine
Zwischensummenbildung gewuenscht wurde, so entfaellt
zusaetzlich diese Zwischensummenbildung.
6.4 Summendatenbanken
Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
+-----------+
! SST031SU !
+-----------+
Die Menge der verwendeten Schluessel eines Arbeitsgebiets
legt die Struktur der Schluesseltabelle der zugeordneten
Summendatenbank fest.
Die Menge der verwendeten Werte eines Arbeitsgebiets legt
analog die Struktur der Wertetabelle der zugeordneten
Summendatenbank fest.
Die Summendatenbanken sind ganz einfache Datenbanken
mit nur einem Satztyp (Segmenttyp). Die Saetze haben
einen festen und einen variablen Teil und sind somit
insgesamt variabel lang.
Die Saetze haben einen eindeutigen Schluessel, mit dessen
Hilfe ein Direktzugriff auf einen Summensatz moeglich ist.
Pro Arbeitsgebiet wird eine Summendatenbank angelegt.
Sie enthaelt stets einen Kopfsatz und n Summensaetze.
Abhaengig vom Arbeitsgebiet hat der Schluessel
folgenden Aufbau:
- Verdichtungsstufennummer BIN FIXED(15) (Halbwort)
- Schluesseltabelle
Anzahl Elemente = Anzahl verwendeter Schluessel
des Arbeitsgebietes.
- Wertetabelle
Anzahl Elemente = variabel, abhaengig von
in der Verdichtungsstufe verwendeten Werten und
gespeicherten Zeiten.
Verdichtungsprinzipien
Verdichtung auf Ebene der Schluesselauspraegungen:
Ein Summensatz einer Verdichtungsstufe wird nur dann
physikalisch abgespeichert, wenn in der Wertetabelle
mindestens ein Wert mit Werteinhalt ungleich Null
existiert.
Verdichtung der Werte:
Es werden zwei Wertearten unterschieden,
Bestandswerte und Bewegungswerte (vgl. Kap. 2.1).
Bewegungen werden nur dann abgespeichert, wenn sie einen
von Null verschiedenen Inhalt haben.
Bestaende werden erst ab dem Zeitpunkt gespeichert, wenn
sie zum ersten Mal einen von Null verschiedenen Inhalt haben.
Ein weiterer Bestandswert wird erst dann mit seinem neuen
Inhalt abgelegt, wenn er sich zum zeitlich davorliegenden
Inhalt geaendert hat.
6.4.1 Interner Satzaufbau von Verdichtungsstufen
Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
Jeder logische Satz einer Verdichtungsstufe besteht aus dem fixen
und variablen Teil. Der fixe Teil enthaelt die
Verdichtungsstufennummer und saemtliche verwendete Schluessel des
Arbeitsgebiet. Der variable Teil enthaelt die Werte. Der fixe Teil
ist der primaere Schluessel der Datenbank.
Der erste Satz ist der Kopfsatz mit der nicht moeglichen
Verdichtungsstufennummer 0 und der restliche Teil des fixen Teils
ist low value. Der variable Teil hat den folgenden Aufbau:
EDATUM JJMMTT
ADATUM JJMMTT
AGNR Halbwort, Arbeitsgebietsnummer
CARVERS Halbwort, Versionesnummer
CSDAT JJMMTTHH, Versionsdatum
CELET1 JJMM, Datum der letzten Einspeicherung
Die folgenden Saetze sind die Summensaetze. Die ersten zwei Bytes
enthalten die Verdichtungsstufennummer als Halbwort und danach die
Schluessel. Ein Schluesseleintrag belegt KEINL Bytes.
Es werden dort die verdichteten Schluesselinhalte (Zaehlnummern)
gespeichert.
Normale Verdichtungsstufen
(weder Schluesselreihenfolge noch -relation):
Die Schluessel sind entsprechend Hierarchienummer und Hierarchie-
stufe (verwendete Schluessel) sortiert.
Schluessel die in der Verdichtungsstufe mit 1 gekennzeichnet
sind, enthalten als Inhalt konstant high value.
Gedrehte Verdichtungsstufen
(Verdichtungsstufen mit individueller Schluesselreihenfolge):
Die verdichteten Schluesselinhalte werden in der Reihenfolge
hinter der Verdichtungsstufennummer abgelegt, wie es in der
ST06 vorgegeben wurde. Der Rest des fixen Teiles wird mit
high value aufgefuellt.
Index-Verdichtungsstufen (Schluesselrelation):
Hinter der Verdichtungsstufennummer werden die verdichteten
Schluesselinhalte der maximal 10 angegebenen Schluessel abgelegt
und zwar in der Reihenfolge, wie in der ST06 vorgegeben.
Der Rest des fixen Teiles wird mit high value aufgefuellt.
Normale Verdichtungsstufen und Schluesselreihenfolgen enthalten
immer den variablen Teil, waehrend er bei Schluesselrelationen
immer leer ist.
Ein Werteeintrag ist vier bis elf Bytes lang. Das erste Byte
enthaelt die relative Wertenummer (CWNRRE), die naechsten 10 Bits
das relative Datum und die naechsten 6 Bits sind konstant
low value. Das Datum ist wie folgt kodiert: die niederwertigen
8 Bits gefolgt von den hoeherwertigen zwei Bits. Es werden die
Monate nach dem Datum der ersten Einspeicherung (CEERS1) gezaehlt,
beginnend mit 0. Bei Arbeitsgebieten auf Tagesbasis werden die
letzten 5 Bits des 2. Datumsbyte's genutzt. Es werden die
Tage von 1 bis 32 des betreffenden Monats abgelegt, und zwar
binaer von 0 bis 31 (B'00000' bis B'11111').
Die ersten drei Bits des vierten Bytes geben die Anzahl
der folgenden Bytes an. Das naechste Bit ist das Vorzeichen
und der restliche Teil enthaelt den Inhalt im Zweierkomplement.
Die Werteeintraege sind sortiert nach Nummer und Datum (chronol.).
Es gibt einen Unterschied zwischen Bestands- und Bewegungswerten.
Bewegungswerte werden nur gespeichert, wenn der zugehoerige
Werteinhalt ungleich 0 ist.
Bestandswerte werden nur gespeichert, wenn sich der Werteinhalt
zum zeitlich davorliegenden Inhalt veraendert hat.
6.5 Bibliothek fuer Listanforderungen
Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
+-----------+
! SST041BI !
+-----------+
Die Datenbank fuer Listanforderungen ist eine ganz
einfache Datenbank mit nur einem Satztyp (Segmenttyp).
Alle Saetze sind gleich lang.
Diese Datenbank enthaelt Listanforderungen und
Formeln.
Es gibt folgende Arten von Listanforderungen/Formeln,
im folgenden auch Bibliotheken genannt:
- Sichergestellte Listanforderungen
- Listanforderungen fuer einmalige Auswertung
- Listanforderungen fuer periodische Auswertungen
- installationsabhaengige Bibliotheken fuer periodische
bzw. einmalige Auswertungen
- Formeln
- Wertegruppierungen
- Schluesselgruppierungen
- Parameterfilter
- Umbuchungsanweisungen
Eine Listanforderung bzw. Formel wird als ein
Bibliothekselement bezeichnet.
Jedes Bibliothekselement besteht aus einem Kopfsatz
und n Folgesaetzen. Der Kopfsatz enthaelt die
allgemeinen Daten wie Erstelldatum, Datum letzte
Ausfuehrung usw.
In den Folgesaetzen werden die eigentlichen
Listanforderungen in formatfreier Sprache abgelegt.
6.6 SPA-Datenbank
Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
+-----------+
! SST051SP !
+-----------+
Die SPA-Datenbank ist eine reine Arbeitsdatenbank, die
nur in IMS-Umgebung und UTM-Umgebung existiert.
Die Transaktion ST31 (Listanforderung) braucht je nach
Dialogsituation einen vergleichsweise grossen Datenbereich,
wo die eine Listanforderung beschreibenden Daten oder die
Daten einer ONLINE-Statistik zwischengespeichert werden.
Hierfuer wird die SPA-Datenbank benutzt (man kann sie sich
vereinfacht als logische Fortsetzung der IMS-SPA oder des
UTM-KB vorstellen).
Je nach Dialogsituation werden die erforderlichen
Saetze (0 bis n Stueck) zu Beginn eines Dialogschritts
aus der SPA-Datenbank gelesen bzw. am Ende eines
Dialogschrittes in die SPA-Datenbank geschrieben.
Vorheriges Kapitel: 5. Die externe Schnittstelle
Nächstes Kapitel: 7. Analyse eines Arbeitsgebietes