Datenbanken Informationssysteme 1 Managementinformationssysteme Charakteristika von Informationssystemen: • Dienen der Entscheidungsunterstützung • Betreffen historische Daten, evt. über längere Zeiträume • Können auf operativen Datenbanken basieren • Die Daten können auch aus verschiedenen Quellen stammen • Spezielle Arten von Auswertungen verlangt (OLAP) • Korrektheit der Daten besonders wichtig, da fehlerhafte Daten bei der Auswertung besonders schwer zu erkennen sind Überlegen Sie sich jeweils einige Beispiele für OLTP- bzw.OLAPAuswertungen von Daten in einer Datenbank Kühn /Fb W Datenbanken 2006 K6-Informationssysteme.doc Informationssysteme 2 Wiederholung: Unterschiede OLTP/OLAP OLTP OLAP wie oft wird a. d. Daten zugegriffen wie wichtig ist die Aktualität der Daten Art d. Zugriffs (lesen / schreiben; Dialog/Stapel) Wie problematisch ist Datenredundanz Überwiegen vorhersehbare oder nichtvorhersehbare Auswertungen wieviele Benutzer gleichzeitig durchsuchte Datenmenge pro Zugriff Werden „historische Daten“ benötigt Typischer Benutzer Kühn /Fb W 2006 K6-Informationssysteme.doc Datenbanken Informationssysteme 3 Realisierung von Informationssystemen: a) durch Zusatzprogramme auf operativen Datenbanken, d.h. operative (relationale) Datenbank mit entsprechenden Views plus OLAP-Auswertungsprogrammen b) bei großen Datenmengen und umfangreichen Auswertungen: eigene Datenhaltung d.h. Datenhaltung mit spezieller Speicherungsform, dabei - Daten aus verschiedenen Quellen - periodische Aktualisierung - unterschiedliche Speicherungsformen möglich: data warehouse und data mart Kühn /Fb W 2006 Datenbanken K6-Informationssysteme.doc Informationssysteme 4 Erstellung eines Data Warehouse (DW) OLAP und data mining Data Mart Datenextraktion, -transformation u.- laden (ETL) Data Warehouse sonstige Datenquellen operative Datenbanken Kühn /Fb W Data Mart 2006 K6-Informationssysteme.doc Datenbanken Informationssysteme 5 Vorgehen bei der Erstellung eines Data Warehouse • Aufgabenanalyse (Arten von Auswertungen) und Planung: Verwendungszweck, Auswertungsarten, Auswertungsdimensionen, welche Daten, Datenquellen • DW-Software besorgen • Datenstruktur entwerfen • Daten extrahieren, transformieren, laden (ETL-Prozess) • Erkannte Datenprobleme in den Datenquellen berichtigen • Ein Programm für den künftigen ETL-Prozess (Datenaktualisierung) erstellen (SW oder Vorgehensweise) • Anbindung eines Entscheidungsunterstützungssystems mit komfortabler Dialogschnittstelle • Daten und Auswertungen testen Kühn /Fb W Datenbanken 2006 K6-Informationssysteme.doc Informationssysteme 6 Der ETL-Prozess (beim Erst-Laden bzw. inkrementellen Aktualisieren des DW) • Daten extrahieren, in einen Zwischenspeicher laden, fehlerhafte Daten identifizieren z.B. Schreibfehler, uneinheitliche Schreibweise, fehlende Daten, mehrfach vorhandene Daten, Inkonsistenz von Daten aus verschiedenen Quellen, unplausible Daten… Die Korrektur muss im Quellsystem erfolgen! • Daten transformieren, bereinigen, evt. verdichten: Felder transformieren, z.B. DMÆ €, 2-stell. Jahr Æ 4-stell. Jahr leeres Feld: Inhalt nicht vorhanden oder nicht bekannt? Sätze transformieren, z.B. Selektion, Join, Aggregation • Daten ins Data Warehouse laden Kühn /Fb W 2006 K6-Informationssysteme.doc Datenbanken Informationssysteme 7 Data warehouse Architekturen: 1) MOLAP: logisch: mehrdimensionaler Datenwürfel (cube, hypercube) Realisierung: spezielle mehrdimensionale Speicherungsstukturen, z.B. mehrdimensionale arrays: + schnellere Auswertungen - evt. dünn besetzte Dimensionen (leere Würfelelemente), 2) ROLAP: auf Basis eines relationalen Datenmodells; Tabellen; diese aus Performancegründen meist nicht normalisiert + auch als front end zu vorhandenen Datenbanken möglich - langsamere Auswertungen Kühn /Fb W 2006 Datenbanken K6-Informationssysteme.doc Informationssysteme 8 1) Datenorganisation in multidimensionalen Stukturen („MOLAP“) Datenwürfel (cubes, hypercubes) mit mehreren Dimensionen Dimensionen: gewünschte Auswertungsgesichtspunkte Inhalt der „Elementarwürfel“: (evt. mehrere) Fakten Beispiel: Seminardaten; Dimensionen (gewünschte Auswertg.): Kurstypen, Veranstaltungsorte, Zeit Fakten: Anzahl Veranstaltungen Kurs Zeit OOA OOD Java C++ Kühn /Fb W 10 9 15 8 M 8 4 10 12 D 12 8 19 7 K 3 2 13 3 S 4/06 3/06 2/06 1/06 Veranstaltungsort 2006 K6-Informationssysteme.doc Datenbanken Informationssysteme 9 Die Dimensionen bilden die Achsen des Koordinatensystems Dimensionshierarchien max. Detaillierungsgrad z.B. Tag - Monat - Quartal - Jahr Kurs - Kurstyp Der Datenwürfel ( = "Hypercube", "Faktenwürfel") ist in Zellen (Elementarwürfel) zerlegt. Jede Zelle enthält Werte (Kennzahlen) in Abhängigkeit von den (hier 3) Dimensionen. Der Detaillierungsgrad des Datenwürfels hängt von den gewünschten Auswertungen ab. Dies beeinflusst stark die Datenmenge. Operationen zur Manipulation des Datenwürfels: • slice & dice d.h. Auswahl einzelner Ebenen / Teilwürfel • drill down / roll up d.h. Wechsel in niedrigere oder höhere Verdichtungsstufen (=Projektionen) Kühn /Fb W 2006 Datenbanken K6-Informationssysteme.doc Informationssysteme 10 2) Datenorganisation in Tabellen („ROLAP“) Werden die Daten in einem data warehouse in Tabellen gespeichert, so ergibt sich ein sog. "Sternschema". Faktentabelle (meist normalisiert; oft SEHR viele Einträge). Dimensionstabellen (meist nicht normalisiert). Dim1 Dim.. Dim2 Faktentabelle Dim.. Kühn /Fb W Dim3 2006 K6-Informationssysteme.doc Datenbanken Informationssysteme 11 Die Primärschlüssel der Dimensionstabellen sind als Fremdschlüssel in der Faktentabelle enthalten und bilden gleichzeitig gemeinsam den Primärschlüssel der Faktentabelle. Die Abfragen erfolgen über Joins (Star-Join). Durch Gruppierung und Summenbildung werden die Daten verdichtet Viele Argumente im group by: drill down; wenige Argumente: roll up • • • • Sternschema : Faktentabelle und nicht-normalisierte Dimensionstabellen. Zusätzlich Normalisierung der Dimensionstabellen Æ Schneeflockenschema In einem DW können auch mehrere Faktentabellen existieren. Diese können unterschiedliche aber auch (wenige) gemeinsame Dimensionstabellen haben (z.B. die Zeit) Problem: Behandlung von Dimensionsgrößen, die sich ändern können? Kühn /Fb W Datenbanken 2006 K6-Informationssysteme.doc Informationssysteme 12 Beispiel: Seminardaten; Auswertungen: nach Kursen, Veranstaltungsorten, Zeit --> 3 Dim. Fakten (-> Ergebnistab): Anzahl Veranstaltungen Sternschema Kurs Ergebnis Veranst.Ort Kühn /Fb W Zeit 2006 K6-Informationssysteme.doc Datenbanken Informationssysteme 13 Tabellen: Kurs Kurztitel Java C++ ..... Titel ... ... ... Tage 5 10 ... VNr 23 27 ... Veranst.ort Kennz M D ..... Ort München Düsseldorf ... Zeit QuNr 1/06 2/06 ... Jahr 06 06 ... Quartal 1 2 ... Ergebnis Kurztitel Kennz QuNr Java Java Java Java Java Java Java … Java … AnzVeranst AnzahlTN Umsatz 153000 98000 ... ... M M M M D D D 1/06 2/06 3/06 4/06 1/06 2/06 4/06 15 13 8 10 10 6 6 142 88 126 75 128 81 75 M … 1/07 … 8 … 102 … Kühn /Fb W Datenbanken 2006 … K6-Informationssysteme.doc Informationssysteme 14 Zeilenanzahl Dimensionstabellen Seminartyp: Veranstaltungsort Zeit: Zeilenanzahl Faktentabelle Ergebnis: Auswertungen: (Star-) Joins mit mehrfacher Gruppenbildung Beispiel: Anzahl Veranstaltungen pro Kurstyp in München im Jahr 2006: Kühn /Fb W 2006 K6-Informationssysteme.doc Datenbanken Informationssysteme 15 Hinweise zur Erstellung eines Data Warehouse bzw. von Datamarts für analytische Auswertungen • Prinzipiell gilt das übliche Phasenmodell Speziell beachten: • Exakte Zielvorgabe wichtig (welchem Zweck sollen die Abfragen dienen) • Klein beginnen (data mart), iterativ erweitern • Die richtige Auswahl der Dimensionen ist entscheidend für den Nutzen • Die „Feinheit“ (Granularität) der niedrigsten Hierarchiestufe der jeweiligen Dimension bestimmt den möglichen Detaillierungsgrad der Auswertungen, aber auch die zu verwaltende Datenmenge • Der zeitaufwendigste und fehlerträchtigste Teil ist meist der ETL-Prozess (extrahieren, transformieren und laden der Daten) • Entscheidend für Einsatz und Akzeptanz ist eine komfortable Oberfläche für Dialogabfrage und Reporterstellung. (s. z.B. ALEA (Microsoft): verwaltet Daten in Form von OLAP-Würfeln mit mehreren Dimensionen und verwendet als Front End für die Auswertung Excel) Kühn /Fb W Datenbanken 2006 K6-Informationssysteme.doc Informationssysteme 16 Benötigte Informationen zur Benutzung eines Data Warehouse • Welche Arten von Daten sind in dem Data Warehouse enthalten (z.B. Daten über Kunden, Seminare, Patienten,….) • Nach welchen Kriterien (Dimensionen ) kann das Data Warehouse ausgewertet werden • Welche Daten sind in der Faktentabelle enthalten (Umsatzzahlen, Anzahl Veranstaltungen, Teilnehmerzahlen,…) • Detaillierungsgrad und Zeitraum der Faktentabelle • • Woher (aus welchen Quellen) stammen die Daten Welche vordefinierten Abfragen , Tools und grafischen Auswertungen sind verfügbar Kühn /Fb W 2006 K6-Informationssysteme.doc Datenbanken Informationssysteme 17 Hilfsmittel (Tools): 1. data warehouse Systeme zur Datenauswahl, -speicherung und -verwaltung 2. Einzelwerkzeuge für den ELT-Prozess, zur Datenmodellierung u.a. 3. Analyse- und Präsentationstools für vorhandene OLTP-DBs Literaturhinweise: Elmasri, Navathe: Grundlagen von Datenbanksystemen Kemper, Eickler: Datenbanksysteme Weitere Informationen zu Produkten und Anbietern s. z.B. www.olapinfo.de Kühn /Fb W Datenbanken 2006 K6-Informationssysteme.doc Informationssysteme 18 Data Mining Ziel: Auffinden bisher unbekannter Zusammenhänge („Muster“) aus einem großen Datenbestand Data Mining ist noch Gegenstand von Forschung und Entwicklung: Einsatz neuronaler Netze, künstlicher Intelligenz, von regelbasiertem Schließen… Es werden v.a. zwei Arten von Zusammenhängen untersucht: a) Assoziationsregeln: Zusammenhänge im Verhalten von Objekten b) Klassifizierungsregeln: aus bekannten Attributwerten auf unbekannte Eigenschaften/Verhalten schließen Kühn /Fb W 2006 K6-Informationssysteme.doc Datenbanken Informationssysteme 19 Assoziationsregeln: Zusammenhänge im Verhalten von Objekten erkennen und durch Regeln ausdrücken Für die Gültigkeit von Assoziationsregeln gibt es 2 wichtige Kenngrößen: Confidence und Support Confidence: in welchem Prozentsatz von Fällen, bei dem der linke Teil der Regel zutrifft (Voraussetzung) ist auch die rechte Seite erfüllt (Folgerung) Support: wieviele passende Datensätze gibt es insgesamt, um die Gültigkeit der Regel zu überprüfen Beispiel: Vermutung: ein Kunde, der Produkt A kauft, kauft auch Produkt B Beobachtung: Von 5 Personen, die Prod. A gekauft haben, haben 4 auch Prod.B gekauft Insgesamt sind 400 Verkaufsdatensätze gespeichert , jeder hundertste betraf ProduktA zusammen mit Produkt B --> support = 1%, confidence = 80% Kühn /Fb W Datenbanken 2006 K6-Informationssysteme.doc Informationssysteme 20 Klassifizierungsregeln: Vorhersagen über das Verhalten von Objekten aufgrund bekannter Attributwerte Dabei wird auch nach dem Einfluss mehrerer Attribute gesucht --> Klassifizierungshierarchien Beispiel: Klassifizierung von Versicherungsnehmern in der Auto-Haftpflicht, z.B. nach Alter, Geschlecht und gefahrenem Wagentyp --> Risikoeinstufung Die Klassifizierungsregel muss mit einer repräsentativen Datenmenge überprüft werden! Kühn /Fb W 2006 K6-Informationssysteme.doc Datenbanken Informationssysteme 21 Beispielhafte Anwendungsbereiche für Data Mining - Marketing Analyse von Kaufmustern --> Preisgestaltung, Warenplatzierung,Werbung,... Segmentierung von Kunden, Läden oder Produkten Ladenstandorte, Sortiment,... - Finanzwesen Kreditwürdigkeit von Kunden, Performanz von Geldanlagen, Betrugserkennung,... - Gesundheitswesen Analyse von Wirkungen und Nebenwirkungen von Behandlungen und Medikamenten, Kühn /Fb W 2006 K6-Informationssysteme.doc