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