2 Mehrdimensionale Datenstrukturen
Für Systemlösungen auf Basis des Data-Warehouse-Konzepts und für OLAP-Anwendungen haben zwei wesentliche Begriffe zentralen Charakter: Datenmodellierung und Mehrdimensionalität. Da die Modellierung von Systemen zur Unterstützung von Fach- und Führungskräften in ihren analytischen Fragestellungen einen entscheidenden Einfluss auf deren Akzeptanz und erfolgreiche Nutzung hat, steht dieser Aspekt in diesem Buch im Vordergrund.
Zur Abgrenzung wird daher kurz auf die Begriffe des Datenmodells und der Modellierung eingegangen. Die Mehrdimensionalität ist das zugrunde liegende Paradigma dieser analyseorientierten Systemlösungen und die Vielfalt an Ausgestaltungsmöglichkeiten mehrdimensionaler Strukturen sowie von Kennzahlen und Kennzahlensystemen werden dabei ebenso wie die Aspekte der Zeitabhängigkeit und der Veränderungen in Konsolidierungshierarchien betrachtet.
2.1 Datenmodelle und Datenmodellierung
Die Begriffe Datenmodell und Datenbankdesign werden in der Literatur mit unterschiedlicher Bedeutung eingesetzt. Um Missverständnissen bezogen auf den Datenmodellbegriff vorzubeugen, muss die verwendete Definition klar dargestellt werden. Ganz allgemein ist ein Modell ein Objekt, das von einem Subjekt auf der Grundlage einer Struktur-, Funktions- oder Verhaltensanalogie zu einem Original eingesetzt und genutzt wird, um Aufgaben zu lösen, deren Durchführung unmittelbar am Original selbst nicht möglich bzw. zu aufwendig ist.
In der metamathematischen Modelltheorie, einem Teilbereich der mathematischen Logik, wird unter einem Modell eine Interpretation eines Axiomensystems verstanden, wobei alle Axiome dieses Systems wahre Aussagen sind. Auf diesem Modellbegriff basieren grundlegende Verfahren zur Beurteilung von Vollständigkeit, Widerspruchsfreiheit und Definierbarkeit. Diese Interpretation des Modellbegriffs wird in der Datenbanktheorie benutzt [Schöning 1995, S. 77 f. und 139 f.].
Ein Datenmodell kann als formaler Rahmen zur Beschreibung von Datenstrukturen und Operationen auf Daten bezeichnet werden [Kandzia/Klein 1993, S. 9 f.]. Dies korrespondiert mit der Definition, wonach zur Darstellung von Datenmodellen die Unterscheidung in Strukturteil und Operationenteil vorgenommen wird (statischer und dynamischer Aspekt).
Datenmodelle dienen der Beschreibung aller in einer Datenbank enthaltenen Daten und im Allgemeinen wird angenommen, dass in einem Datenmodell Objekte und deren Eigenschaften (Attribute) sowie Beziehungen zwischen Objekten modelliert werden. Dies ist auch die Basis des weitreichenden Datenmodellbegriffs nach Brodie, der diesem Buch zugrunde liegt [Brodie 1984]:
Ein Datenmodell ist eine Menge mathematisch wohldefinierter Konzepte, die alle statischen und dynamischen Eigenschaften der Anwendungswelt erfassen sollen, und zwar
- statische Eigenschaften wie Objekte, Eigenschaften von Objekten und Beziehungen zwischen Objekten,
- dynamische Eigenschaften wie Operationen auf Objekten, Eigenschaften dieser Operationen und Beziehungen zwischen Operationen,
- Integritätsbedingungen über Objekten (statische Integritätsbedingungen) sowie über Operationen (dynamische Integritätsbedingungen).
Zu einem Datenmodell gehören neben Objekten und Beziehungen auch statische Aspekte, dynamische Aspekte sowie Integritätsbedingungen
Datenmodelle sollen mithin die Bedeutung und Repräsentation von Daten beschreiben, d. h., ein Datenmodell geht aus der Abstraktion eines zu modellierenden Realitätsausschnitts hervor. Datenmodelle können daher nach ihrer Nähe zur Realwelt klassifiziert werden. Diese weitverbreitete Strukturierung des Modellierungsvorgangs ist in Abbildung 2–1 dargestellt. Danach werden die Ebenen der semantischen, logischen und physischen Datenmodellierung unterschieden. Der Realwelt am nächsten ist dabei die semantische Ebene. Die Aufgabe des semantischen Datenmodells ist es, eine Brücke zwischen der Realwelt einerseits und dem logischen Datenmodell andererseits zu schlagen. Dieses ist noch losgelöst von dem einzusetzenden Datenbanksystem und soll den zu betrachtenden Realitätsausschnitt abstrahierend in einem Modell abbilden. Die Wahl eines geeigneten semantischen Datenmodells hängt somit von dem betrachteten Realitätsausschnitt ab. Zur semantischen Modellierung für herkömmliche OLTP-Anwendungen und zum Einsatz von relationalen Datenbanksystemen hat sich in der Praxis das Entity-Relationship-Modell (ERM) in weiten Bereichen bewährt.
In der zweiten Ebene, der logischen Modellierung, sind die Modelle ebenfalls noch unabhängig von der physischen Repräsentation, richten sich jedoch an der für die Speicherung einzusetzenden Datenbanktechnologie aus. Ein solches Modell heißt auch Datenbankschema. Bei relationalen Datenbanksystemen wird vom Relationenmodell gesprochen. Aufgrund des einfachen Übergangs von einem ERM zu einem Relationenmodell kommen diese Modelle oft gemeinsam zum Einsatz. Die Aspekte der physischen Speicherung und der Speicheroptimierung sind Bestandteil des physischen Datenmodells, das die dritte Ebene bildet [Vossen 1999, S. 72 ff.].
Abb. 2–1 Ebenen der Modellierung
In der Sprechweise der ANSI-3-Ebenen-Architektur entsprechen die semantische und logische Ebene dem konzeptionellen Schema und die physische Ebene korrespondiert mit dem internen Schema. Die externen Schemata in der ANSI-Architektur werden oft mit den Methoden und Darstellungsformen der semantischen und logischen Ebene modelliert.
Nach diesem Konzept erfolgt die Beschreibung der Daten einer Datenbank auf drei verschiedenen Ebenen, die dadurch gekennzeichnet sind, dass sie auf einer anderen Sichtweise, die durch Schemata formalisiert werden, basieren. Auf der konzeptionellen Ebene steht die logische Gesamtstruktur der Daten, ihrer Eigenschaften und ihrer Beziehungen untereinander im Vordergrund. Ein externes Schema beschreibt eine benutzerspezifische Sicht (engl. view), d. h. einen Ausschnitt des konzeptionellen Schemas. Das interne Schema behandelt das physische Design der Datenbank. Die Separation in diese drei Schemata ist in Abbildung 2–2 dargestellt.
Abb. 2–2 ANSI-3-Schichten-Konzept
Die beiden Hauptvorteile der Differenzierung in externe, konzeptionelle und interne Schicht sind [Kemper/Eickler 1996, S. 17ff.]:
- Physische Datenunabhängigkeit:
Die Trennung von konzeptioneller und physischer Ebene erlaubt die logische Beschreibung der Datenbank, ohne die genaue physische Speicherung der Daten betrachten zu müssen.
- Logische Datenunabhängigkeit:
Der Vorteil der Trennung von externer und konzeptioneller Ebene liegt darin, dass die konzeptionelle Sicht, d. h. das konzeptionelle Datenmodell, geändert werden kann, ohne Änderungen an den Anwendungsprogrammen vornehmen zu müssen.
Die Nutzung externer Sichten ist auch im Data Warehousing sinnvoll. Diese zusätzlichen Layer können direkt in der Datenbank oder auch in Business-Intelligence-Tools abgebildet werden.
Basierend auf der Strukturierung nach der 3-Ebenen-Architektur können die folgenden Phasen des Datenbankdesigns identifiziert werden:
- Analyse des Informationsbedarfs
- Entwicklung des semantischen Datenmodells
- Entwicklung des logischen Datenmodells
- Entwicklung des internen Schemas
Bei der Analyse des Informationsbedarfs wird festgelegt, welche Informationen für das geplante Datenbanksystem von Bedeutung sind. Diese Ergebnisse werden im konzeptionellen Schema durch ein semantisches Datenmodell formalisiert. In der logischen Designphase wird das konzeptionelle Schema verfeinert. In Abhängigkeit von dem zu verwendenden Datenbanksystem wird das konzeptionelle Modell in das dem Datenbanksystem zugrunde liegende Datenbankmodell übertragen. Dieses logische Modell stellt das Bindeglied zwischen konzeptionellem und physischem Design dar.
2.2 Grundbestandteile mehrdimensionaler Datenstrukturen
Der Begriff Datenstruktur wird oft gleichbedeutend mit dem Begriff Datentyp verwendet. Im engeren Sinne versteht man unter Datenstrukturen den Aufbau von allgemeinen Wertebereichen aus elementaren Werten mithilfe von Konstruktoren, also auf Basis von ganzen Zahlen, reellen Zahlen, Wahrheitswerten, der Menge aller Zeichen, selbst definierten endlichen Mengen und Unterbereichen der aufgeführten Wertebereiche. Konstruktoren dienen dazu, die Struktur der Wertebereiche und die Zusammensetzung bzw. Zerlegung ihrer Elemente festzulegen. Üblich sind die fünf Konstruktoren Aggregation, Generalisation, Rekursion, Potenzmengenbildung und die Bildung von Funktionsräumen.
Durch Aggregation entsteht das kartesische Produkt von Wertebereichen, mit deren Hilfe Tupel gebildet werden können. Die Generalisation bewirkt die disjunkte Vereinigung von Wertebereichen. Die Rekursion bewirkt den Übergang zu abzählbar unendlichen Wertebereichen. Die Potenzmengenbildung beschreibt die Bildung der Menge aller Teilmengen.1 In Datenstrukturen vom Typ eines Funktionsraums können die Variablen Funktionen als Werte annehmen, was jedoch aufgrund von Implementierungsproblemen eine...