Elementare Fakten charakterisieren den Datenwert (Teil 2):

Relationsanalyse entscheidet aber DB-Nutzen

23.03.1984

Die Problemanalyse und der Entwurf der Gesamtkonzeption sind die entscheidenden Phasen bei der Entwicklung von Anwendungssystemen in der Datenverarbeitung. Fehler und Versäumnisse, die in dieser Phase gemacht werden, führen zu inadäquaten Lösungen, nachträglichen Umkonzeptionierungen und tiefgreifenden Reparaturen.

Im nächsten Teilschritt werden die ermittelten Informationseinheiten (Objekte) zu Satzarten und Sets im Sinne eines DB-Systems zusammengefügt. Entscheidend für diesen Schritt ist die Art der Beziehung zwischen zwei Objekten.

Handelt es sich um eine eindeutige 1 zu 1 Beziehung, wie zum Beispiel zwischen Kundennummer-Name-Adresse, so werden im allgemeinen diese Objekte zu einer Satzart zusammengefaßt. Die Objekte sind dann die Felder der Satzart.

In der Funktionsanalyse werden die geplanten Anwendungen untersucht. In enger Abstimmung mit den zukünftigen Benutzern sind die Informationsbedürfnisse festzulegen, die von dem Datenbanksystem befriedigt werden sollen. Um die geplanten Funktionen durch Programme zu realisieren, ist eine sinnvolle Zerlegung in Transaktionen vorzunehmen.

Die dynamischen, also die prozeß- und funktionsspezifischen Gesichtspunkte werden im Transaktionsdesign behandelt.

Die Funktionsabläufe der Prozesse werden beschrieben, zerlegt in Funktionen, Teilfunktionen und elementare Operationen. Für jede Operation wird der betriebswirtschaftliche Feinablauf definiert, werden Masken, Ein-/Ausgaben, Datenanforderungen, Vorgänger-/Nachfolger und Fehlerausgänge spezifiziert.

Transaktionen spielen dabei eine wichtige Rolle als Einheiten, mit denen das Datenbanksystem für die Konsistenz des Datenbestandes sorgt. Eine Transaktion wird nämlich entweder ganz oder gar nicht ausgeführt, so das der Datenbestand somit nicht inkonsistent wird.

Das ingenieurmäßige Vorgehen in der Softwareerstellung legt es nahe, neue Probleme so weit wie möglich in bereits gelöste Teilprobleme zu zerlegen und für diese dann vorgefertigte "Standardbausteine" einzusetzen. Die Verwendung von Standardbausteinen bringt in erhöhtem Maße dieselben Vorteile wie die Programmiersprache. Durch den Aufruf des Bausteins wird jedoch eine gesamte Funktion beziehungsweise Teilfunktion implementiert. Dies bedeutet den Gewinn von Produktivität ebenso wie Zuverlässigkeit, unter der Voraussetzung, daß der Baustein die gewünschte Funktion genau erfüllt.

Standardbausteine werden mehrfach eingesetzt. Dies entspricht einer Reduktion des Entwiklungsaufwandes aller Produkte in denen sie verwendet werden. Bausteine stehen in unterschiedlichen programmtechnischen Formen zur Verfügung; als Makros, Module, Quellprogrammbaustein ebenso wie als Ausgabe eines Generators.

Eine Methode, die Anforderungen an die Datenbasis sichtbar zu machen, ist die Assoziationsmatrix. Sie enthält alle Objekttypen der zukünftigen Datenbasis und je Transaktion eine Spalte. Bezogen auf die Datenanforderungen einer Transaktion entspricht der Zugriffspfad einem Navigationsvorgang durch die Basisstrukturen "Aufwendige" Zugriffspfadalgorithmen können erkannt und entsprechend optimiert werden. Jeder Zugriffspfad jeder Transaktion wird in die Assoziationsmatrix eingetragen. Die Gewichtung jeder Transaktion erfolt etwa über die Transaktionsrate/Zeiteinheit, die Priorität oder die Batch-oder Dialogabwicklung. Aus der Assoziationsmatrix können somit wesentliche Kriterien für die physikalische Gestaltung der Datenbasis gewonnen werden.

Ein Ergebnis dieser Funktionsanalyse ist zum Beispiel die Aufspaltung, aller Positionen in offene und erledigte Positionen, um weitere Differenzierungsmöglichkeiten auszunutzen. Durch die Definition eines neuen SETs, etwa zwischen den Satzarten AUFTRAG und POSITION und damit der Einführung eines neuen Zugriffspfades, kann eine solche Teilmengenbildung im Sinne einer Anwendungsoptimierung ausgedrückt werden.

Neben der Möglichkeit solche neuen (additiven) Beziehungen im Schema zu definieren, sind in der Praxis in diesem Zusammenhang folgende Veränderungen und Erweiterungen der logischen Struktur sinnvoll beziehungsweise notwendig:

- Definition zusätzlicher Zugriffsschlüssel.

- Festlegung zusätzlicher Sortierkriterien. Dadurch kann sichergestellt werden, daß die Daten immer in der gewünschten Reihenfolge automatisch vom System zur Verfügung gestellt beziehungweise eingespeichert werden.

- Festlegung von Integritätsbedingungen. Diese können zum Ablaufzeitpunkt vom DB-System überprüft werden; zum Beispiel wird eine Auftragsnummer nicht doppelt vergeben oder ein Auftrag wird nicht gelöscht, bevor nicht alle seine Positionen geliefert und gelöscht wurden, falls derartige betriebswirtschaftliche Notwendigkeiten im Schema ausgedrückt wurden.

- Festlegung der gesamten physikalischen Speicherstruktur. Aufteilung der Datenbankbereiche in Abhängigkeit von Zugriffshäufigkeiten, physikalischen Speichermöglichkeiten (Plattenkapazität) und angewendeten Sicherungsverfahren. Definition der jeweils sinnvollen Speicherungstechnik innerhalb eines SETs (Adreßtabelle, Verkettungstechnik, Listenorganisation).

- Definition der Zugriffsmethode, zum Beispiel Direktzugriff über Hash-Verfahren oder indexsequentieller/sequentieller Zugriff.

- Aufteilung der Speicherbereiche.

- Festlegung der Datenplazierung, insbesondere der physikalischen Clusterbildung und der Tabellenplazierung.

Auf der Basis der vorgenannten Untersuchungen wird das Schema - als solides Datenmodell - logisch und physikalisch beschrieben.