Stammdaten |
Die Stammdaten enthalten über längere Zeit
gleichbleibende Daten, etwa im Kundenstamm Name, Anschrift
und verschiedene Kennzeichen für das Rechnungswesen. Diese
Datenbestände befinden sich vollständig unter der
Kontrolle des Anwenders und werden von den Programmen unter
keinen Umständen verändert, wenn man von jenen
Verarbeitungen absieht, die irgendwelche Erfassungsarbeiten
zu automatisieren, um Tipparbeit zu sparen (zum Beispiel das
Löschen von nicht mehr benötigten Adressen). Aus diesem
Grund enthalten Stammdaten niemals Summen oder sonstige
Bestandsdaten, die sich durch Verarbeitungen ändern
könnten. Solange der Anwender nicht selbst die Stammdaten
modifiziert, bleiben sie auch über Jahre hinweg
unverändert erhalten. |
 |
Bewegungsdaten |
Die zweite Gruppe von Daten umfasst die Bewegungsdaten,
also die verschiedenen Transaktionen. Auch diese Daten
werden vom Anwender erfasst (oder die Erfassungsarbeit wird
wieder durch eine Verarbeitung ersetzt), werden in der
eingegebenen Form gespeichert, vom System nicht verändert
und können in der Regel jederzeit modifiziert, korrigiert
und gelöscht werden, zum Beispiel Bestelldaten oder
Datensätze im Lohn (Überstunden, Zulagen usw.). |
 |
Bestandsdaten |
Die Bestandsdaten schließlich werden vom System aus den
Bewegungsdaten erzeugt, etwa die Salden der
Buchhaltungskonten oder das Journal aus den einzelnen
Buchungen. Die Bestandsdaten können - abgesehen von einigen
wenigen Ausnahmen - vom Anwender nur abgefragt und
ausgewertet, aber nicht verändert werden. Falsche
Bestandsdaten müssen von Fehlern in den Bewegungsdaten
verursacht worden sein (wenn man davon ausgeht, dass die
Programme korrekt arbeiten). Korrekturen sind daher so
vorzunehmen, dass die Bewegungsdaten berichtigt und die
zugehörigen Verarbeitungen wiederholt werden. |
 |
Vorteile |
Mit dieser Datenorganisation sind mehrere Vorteile
verknüpft: Der Anwender weiß, dass seine Stamm- und
Bewegungsdaten vom System nicht verändert werden. Es weiß
auch, dass er Fehler in den Bestandsdaten meist durch
entsprechende Korrekturen in den Stamm- oder Bewegungsdaten
bereinigen kann (lediglich in der Buchhaltung gibt es hier
beträchtliche Einschränkungen, um die Grundsätze einer
ordnungsgemäßen Buchführung nicht zu verletzen). |
 |
Optimierung
durch das System |
Da die Bestandsdaten in den Zuständigkeitsbereich des
Systems fallen, bleibt es auch ihm überlassen, in welcher
Form es sie verwaltet. Die Konsequenz dieser Vereinbarung
kann sein, dass das System Bestandsdaten verwaltet, die es
nicht gibt, zumindest nicht in Form von Dateien: Die oben
beschriebenen virtuellen Datenbestände werden immer
dann verwendet, wenn das Lesen der Bestandswerte aus Dateien
mehr Aufwand bereitet als deren Berechnung oder weil es
unmöglich ist, alle eventuell benötigten Werte auf der
Magnetplatte abzulegen. |
 |
Sicherheit
für den Anwender |
Eine Begründung dafür, dass Bestandsdaten in der Regel
durch den Anwender nicht verändert werden können, ist also
die Tatsache, dass diese Daten möglicherweise als solche
gar nicht existieren. Außerdem, und das ist der zweite
Grund, könnte man nach einer Veränderung der Bestandsdaten
nicht mehr ersehen, wie das System zu dem betreffenden Wert
gekommen ist. Wenn zum Beispiel zwei Buchungszeilen mit
einem Betrag von je 20 Euro vorliegen und der Saldo
dieses Kontos (weil vom Anwender vielleicht irrtümlich
geändert) 1500 Euro ausmacht, wird diese Situation
eine gewisse Verwirrung stiften. Und schließlich würde es
keinem Anwender einfallen, eine Magnetplatte mit der
Kapazität für 5 * 1023 Statistikdateien der
Warenwirtschaft anzuschaffen oder eine derartige Zahl von
Bestandsdateien händisch zu korrigieren, wie sie im
Warenwirtschaftssystem verfügbar sind (siehe Informations
Management System IMS). |
|
 |
Virtuelle
Datenbestände |
In vielen Anwendungen geht die Verarbeitung
von einem vorgegebenen Anfangszustand aus, der nach einem
relativ gleichbleibenden Schema weiterbearbeitet wird. So
wird etwa in der Anlagenverwaltung ein Anlagegut zu einem
bestimmten Zeitpunkt angeschafft und danach über einen
vorgegebenen Zeitraum mit in der Regel Jahr für Jahr
gleichen Werten abgeschrieben. Analog steht in der
Lohnabrechnung das Ergebnis der Nettoabrechnung von
vornherein fest, sobald die entsprechenden Bemessungen
vorliegen. |
 |
Stand
der Technik |
Die Entwicklung der Computertechnologie
bringt immer leistungsfähigere Prozessoren hervor, während
sich die Geschwindigkeit der Magnetplatten kaum wesentlich
verbessert. In einer kommerziellen Anwendung bilden daher
die Plattensysteme den zentralen Engpass für alle
Verarbeitungen. In der Zeit, die das System benötigt, um
einen einzigen Datensatz von der Platte zu lesen, kann ein
moderner Prozessor etwa eine Million Operationen ausführen.
Die Praxis zeigt auch, dass in einem durchschnittlichen
System die Auslastung des Plattencontrollers permanent knapp
bei 100 % liegt, während die Prozessorauslastung sich
irgendwo um 10 % bewegt. Das bedeutet, dass der Rechner
zehnmal so schnell sein könnte, würden die Magnetplatten
mit der Leistung des Prozessors mithalten. |
 |
Effiziente
Nutzung des Systems |
Es ist daher für die Leistungsfähigkeit
eines Systems von fundamentaler Bedeutung, dass die
Anwendungssoftware jeden nicht unbedingt nötigen
Magnetplattenzugriff vermeidet. Die Software der Dialog Data
hält sich strikt an diese Vorgabe, obwohl der
Entwicklungsaufwand mit dieser Technik deutlich höher ist.
Wie überall gilt aber auch hier der Grundsatz, dass die
Arbeit, die sich der Programmierer erspart, später vom
Computer erledigt werden muss, und zwar bei jeder
Ausführung des Programms erneut. Hauptsächlich aus diesem
Grund kommt für unsere Anwendungen auch ein
Standard-Datenbanksystem nicht in Frage. |
 |
Optimiertes
Datenmanagement |
Wenn die Plattenzugriffe für das Speichern
oder Lesen von bestimmten Werten zehn- oder fünfzigmal
länger dauern als das Neuberechnen dieser Werte, ist es
völlig unsinnig, derartige Ergebnisse auf der Magnetplatte
aufzuzeichnen. Diese Überlegung ist ein wesentliches
Kriterium für die zum Teil unglaublich hohe
Leistungsfähigkeit der Dialog Data Software. So besteht das
gesamte Dateisystem der Anlagenverwaltung aus einem einzigen
Stammsatz pro Anlage, der auch die verschiedenen händisch
einzugebenden Parameter und Bewegungsdaten aufnimmt.
Sämtliche übrigen Werte des Anlagensystems werden in jeder
Verarbeitung wieder neu berechnet, wobei unabhängig von der
Art des Programms maximal ein Plattenzugriff pro Anlagegut
benötigt wird, denn weitere Daten sind ja gar nicht
vorhanden. Analog sind die Nettoabrechnung im Lohn und
etliche Anwendungen von Kredit- und Zinsenabrechnungen
gestaltet. Alle diese Systeme verwenden Daten, die unter den
Sammelbegriff der virtuellen Datenbestände fallen: Diese
Werte sind nirgends im System vorhanden und werden bei
Bedarf jedes Mal neu erzeugt. |
 |
Flexible
Verarbeitung |
Neben einer eindrucksvollen Beschleunigung
aller Verarbeitungen, die sich auf diese Technik stützen
können, bringt dieses Verfahren einen zusätzlichen
Vorteil: Nachdem die benötigten Werte bei jeder
Verarbeitung neu berechnet werden, muss die Verarbeitung
auch die zugehörigen Summen und Salden immer wieder neu
ermitteln. Da diese Neuberechnung ohnehin erforderlich ist,
kann man sie so gestalten, dass sie in jeder Verarbeitung
nach den Wünschen des Anwenders modifiziert wird. Das
bringt die oben für die Warenwirtschaft erwähnte
Möglichkeit, eine unvorstellbar große Zahl
unterschiedlicher Auswertungen in genau jener Form zu
erstellen, wie sie der Anwender gerade braucht. Statt einige
wenige vorfabrizierte Summen von der Platte zu lesen, kann
die Software wesentlich schneller jede gerade benötigte
Summe neu berechnen. |
|