Relationale Datenbanksysteme für Unternehmensanwendungen - Grundlagen von Unternehmensanwendungen Michael Perscheid, Ralf Teusner, Stefan Halfpap ...

Die Seite wird erstellt Malin Langer
 
WEITER LESEN
Relationale Datenbanksysteme für Unternehmensanwendungen - Grundlagen von Unternehmensanwendungen Michael Perscheid, Ralf Teusner, Stefan Halfpap ...
Relationale Datenbanksysteme für Unternehmensanwendungen
Grundlagen von Unternehmensanwendungen

                       Michael Perscheid, Ralf Teusner, Stefan Halfpap, Werner Sinzig
                                         Enterprise Platform and Integration Concepts
                                                              Hasso-Plattner-Institut
Relationale Datenbanksysteme für Unternehmensanwendungen - Grundlagen von Unternehmensanwendungen Michael Perscheid, Ralf Teusner, Stefan Halfpap ...
Vorlesungsinhalte

■ Einführung zu Unternehmensanwendungen
■ Enterprise Resource Planning
  □ Rechnungswesens, Controlling und Planung
  □ Kundenauftragsabwicklung und Einkauf
  □ Materialwirtschaft und Produktionsplanung
  □ Personalwesen
■ Kundenbeziehungsmanagement (Customer Relationship Management; Gast: Prof. Carsten Hahn)
■ Datenbankkonzepte für Unternehmensanwendungen
  (inkl. spaltenorientierter Hauptspeicherdatenbanken)
■ Enterprise Cloud Plattformen zur Erweiterung und Integration von Unternehmensanwendungen

                                                                                             2
Relationale Datenbanksysteme für Unternehmensanwendungen - Grundlagen von Unternehmensanwendungen Michael Perscheid, Ralf Teusner, Stefan Halfpap ...
Agenda

■ Relationale Datenbanksysteme
 □ Relationales Modell
 □ Relationale Algebra
 □ SQL (Structured Query Language)
 □ Anfragebearbeitung und Konsistenz

■ Unternehmensanwendungen
 □ Beispiele
 □ Datenbankanfrageeigenschaften
 □ Dateneigenschaften
 □ Datenbanksystemlandschaften

                                       3
■ Übungsblatt 1
Relationale Datenbanksysteme für Unternehmensanwendungen - Grundlagen von Unternehmensanwendungen Michael Perscheid, Ralf Teusner, Stefan Halfpap ...
Relationale Datenbanksysteme
Motivation

■ „Enterprise applications are about the display, manipulation, and storage of large
  amounts of often complex data and the support or automation of business
  processes with that data.“ Martin Fowler „Patterns of Enterprise Application Architecture Patterns“ (2002)

  □ Große komplexe Datenmengen, die in der realen Welt existierende Entitäten abbilden
  □ Unterstützung/Automatisierung von Geschäftsprozessen auf Basis dieser Daten

  □ Nutzen üblicherweise relationale Datenbanken

                Kundennummer          Name                Land        PLZ     Stadt      …

                      1             Ostseerad          Deutschland   18724    Zingst     :

                      2         Silicon Valley Bikes      USA        94304   Palo Alto   :

                      :                  :                  :          :         :       :                     4
                                 Ausschnitt einer Kundentabelle
Relationale Datenbanksysteme für Unternehmensanwendungen - Grundlagen von Unternehmensanwendungen Michael Perscheid, Ralf Teusner, Stefan Halfpap ...
Relationale Datenbanksysteme
Relationales Modell

■ Datenbank (DB): organisierte Sammlung von Daten
■ Datenbank(management)system (DBMS): DB + Datenbankverwaltungssoftware
■ Relationale Datenbanken basieren auf dem relationalen Datenmodell
 1. Struktur der Daten
   –   Konzeptionelles Modell (im Gegensatz zur physischen Repräsentation)
 2. Operationen auf den Daten
   –   Datenbankveränderungen
   –   Datenbankanfragen/Queries
 3. Constraints („Einschränkungen“) auf den Daten
   –   Attribut-Domäne (Wertebereich)
   –   Definition von Schlüsseln                                             5
Relationale Datenbanksysteme
Relationales Modell - Ursprung

■ Vorher:
 □ enge Kopplung von Datenbankanfragen und physischer Repräsentation der Daten
   (wie sind Daten gespeichert)
            à schlechte Wartbarkeit (insbesondere von Anwendungen)
 □ Kein Konzept welche Operationen (Funktionalität) benötigt werden

■ Ted Codd schlägt das Relationale Model vor
 □ „A Relational Model of Data for Large Shared Data Banks“ (1970)
 □ Abstraktes/konzeptionelles Modell mit einfachen Datenstrukturen
   und high-level/abstrakten Operationen
 □ Implementierung und physische Umsetzung im Speicher sind nicht spezifiziert
                                                                                 6
Relationale Datenbanksysteme
Relationales Modell

■ Daten – zwei-dimensionale Tabelle (Relation genannt)
  □ R ⊆ D1 × ... × Dn mit D1 × ... × Dn := {(a1, ..., an) | a1∈D1 ∧ ... ∧ an ∈Dn}
  □ R ist (im relationalen Modell üblicherweise) eine Menge
    (relationale Datenbanken speichern üblicherweise Multimengen)
■ Attribut Ai – Name einer Spalte
■ Schema R(A1, ..., An) – Name der Relation und Menge der Attribute
■ Tupel (a1, ..., an) – Element (Zeile (außer Kopfzeile)) der Relation mit Werten ai

■ Weitere Konzepte:
  □ Gleichheit, Relations-Instanz/-Beispiel, Schlüssel, Normalisierung,
    Datendomäne/Datentypen, NULL (Wert ist unbekannt)
                                                                                       7
Relationale Datenbanksysteme
Relationale Algebra

■ Relationale Algebra ist eine Anfragesprache für das relationale Modell und Basis für
  Umsetzung in der Praxis (Datenbanksystemen), d.h. theoretische Grundlage für
  relationale Datenbanksysteme und SQL (Structured Query Language)
■ Operationen:
 □ Benötigen eine oder mehrere Relationen als Eingabe und geben eine neue Relation aus
 □ Können zu komplexen Anfragen/Queries verkettet werden
■ Klassen von traditionellen Operationen:
 □ Operationen, die Teile der Relation entfernen: Selektion und Projektion
 □ Operationen, die Tupel zweier Relationen verknüpfen: kartesisches Produkt und Join
 □ Umbenennung von Relationen und Attributen
 □ Mengenoperationen: Vereinigung, Schnitt, Differenz und Division
                                                                                         8
 (Details: siehe Anhang)
Relationale Datenbanksysteme
SQL – Die Datenbanksprache

■ Structured Query Language unterstützt:
 □ Eine (die) in relationalen Datenbanksystemen genutzte Anfragesprache
 □ Deklarative Anfragen für relationales Modell
   (durch viele Optimierungen erfolgreich in der Praxis)
 □ Datenbankveränderungen (Insert, Update, Delete)
 □ Datendefinitionen
   – Schemadefinition und –änderung
   – Datendomäne
   – Constraints
   – Weitere Aspekte: Indexe, physische Speicherung
■ Verschiedene Standards und Implementierungen: Syntax und Funktionalität kann sich von
                                                                                          9
  System zu System unterscheiden. http://troels.arvin.dk/db/rdbms/
Relationale Datenbanksysteme
Von der SQL-Anfrage zum Ergebnis

                                                               Datenbanksystem

                        (SQL-)Anfrage       Parser und Übersetzer
                                                                                 Systemkatalog

                                                                                  DB-Schema
                                            Logischer Anfrageplan
                                                                                  Statistiken

Unternehmensanwendung                             Optimierer

                                          Physischer Ausführungsplan
                                                                                    Daten

                        Anfrageergebnis       Ausführungseinheit

                                                                                                 10
Relationale Datenbanksysteme
Daten- und Anfragekonsistenz

■ Eine Haupteigenschaft von relationalen DBMSs sind konsistente/korrekte
  Anfrageergebnisse, auch bei nebenläufigen Anfragen und trotz Auftreten von Fehlern
  (insbesondere wichtig für Unternehmensanwendungen, z.B. in der Buchführung)
 Durch Nebenläufigkeitskontrolle und Loggen + Wiederherstellung

■ Transaktion: Ausführung einer Folge von (einer oder mehrerer) Operationen
 □ Elementare Änderungseinheit in einem Datenbanksystem
 □ Erfüllt ACID Kriterien
   – Atomicity (Transaktionen werden „ganz oder gar nicht“ ausgeführt)
   – Consistency (Constraints, Schlüsselbeziehungen)
   – Isolation (nebenläufige Transaktionen beeinflussen sich nicht -   abhängig vom Isolationslevel)
                                                                                                       11
   – Durability (Ergebnisse einer erfolgreichen Transaktionen sind dauerhaft gespeichert)
Relationale Datenbanksysteme
Literatur und Empfehlung

■ Hector Garcia-Molina „Database Systems”

■ Avi Silberschatz „Database System Concepts“
         http://db-book.com/

■ HPI Datenbanksysteme 1 und 2
■ Standford‘s CS 145 „Data Management and Data Systems“ https://cs145-fa18.github.io/
■ CMU‘s 15-445 „Database Systems“ https://15445.courses.cs.cmu.edu/fall2018/            12
Beispiele für Unternehmensanwendungen

■ Klassische Domäne
 □ ERP, SRM, CRM (siehe 02a_Digitalisierung_von_Geschaeftsprozessen)

■ Erweiterte Domäne
Neue Technologien haben Einfluss auf Unternehmensanwendungen.
Informationsintegration aus unterschiedlichen Quellen bietet neue Möglichkeiten zur
Anreicherung und dadurch Optimierung der klassischen Unternehmensprozesse.
 □ Sensordaten in Produktionsüberwachung
 □ Unstrukturierte Daten wie medizinische Behandlungsberichte und Röntgenbilder
 □ Posts im Web und auf sozialen Netzwerken zum Einfluss von Produkten

                                                                                      13
Beispiele für Unternehmensanwendungen
Klassische Domäne: Abwicklung eines Kaufauftrags
                                Basierend auf Frank Körsgen „SAP R/3 Arbeitsbuch“ (2005)

■ Prozesse im Vertrieb werden durch Vertriebs-/Verkaufsbelege abgebildet
 □ Kundenanfrage
 □ Angebot
 □ Auftrag
 □ Lieferung
 □ Warenausgang + Buchhaltungsbeleg
 □ Ausgangsrechnung + Buchhaltungsbeleg
 □ Bezahlung + Buchhaltungsbeleg

■ (Details in der Vorlesung zum Rechnungswesen)

                                                                                           14
Beispiele für Unternehmensanwendungen
Klassische Domäne: Abwicklung eines Kaufauftrags

■ Vorkommende teils aufwändige Prozesse
 □ Preisfindung
 □ Verfügbarkeitsprüfung
 □ Bedarfsübergabe (an Einkauf und/oder Fertigung)
 □ Versandterminierung
 □ Versandstellen- und Routenermittlung
 □ Kreditlimitprüfung

                                                     15
Beispiele für Unternehmensanwendungen
Klassische Domäne: Abwicklung eines Kaufauftrags

■ Verfügbarkeitsprüfung

  Zugänge zum Wunschliefertermin                    Abgänge zum Wunschliefertermin

                                                              Lieferungen
            Fertigungsaufträge

               Bestellungen                                    Aufträge

                  Bestand                                       verfügbare Menge

 Basiered auf Frank Körsgen „SAP R/3 Arbeitsbuch“ (2005)                             16
Unternehmensanwendungen
Datenbankanfrageeigenschaften
            Clark D. French „’One Size Fits All’ Database Architectures Do Not Work for DDS“ (1995)

■ Online Transaction Processing (OLTP)                   ■ Online Analytical Processing (OLAP)
 □ Beispiele: Auftrag anlegen/suchen,                       □ Beispiele: Mahnlauf,
   Rechnung erstellen, Kontenbuchung,                         Verfügbarkeitsprüfung, Cross-Selling,
   Anlegen und Anzeigen von Stammdaten                        Operationales Reporting (Auflistung
                                                              offenen Rechnungen)

 □ Einfache Anfragen                                        □ Komplexe Anfragen

 □ Oft festgelegte Anfragen                                 □ Ad-hoc-Anfragen
   à Index-Unterstützung                                    □ „Decision Support“
 □ Geringe Datengrundlage                                   □ Große Datengrundlage
   (stark-selektive Anfragen)                                 (schwach-selektive Anfragen)
 □ Daten(tupel)eingabe und –abruf                           □ Analyseanfragen (Aggregation und
                                                              Gruppierung weniger Attribute)          17
Unternehmensanwendungen
Vielseitige Anfrageeigenschaften („Mixed Workloads”)

■ Unternehmensanwendungen beinhalten sowohl transaktionale als auch
  analytische Anfragen
■ Auch Hybrid Transactional/Analytical Processing (HTAP) oder OLxP
■ Vereinen Eigenschaften von OLTP und OLAP
 □ Einfache und komplexe Abfragen
 □ Vordefinierte und ad-hoc-Abfragen
 □ „Zeilenoperationen“ und Analysen (Aggregationen, Gruppierungen, Joins)
   über komplette Spalten
 □ INSERTS, UPDATES und viele SELECTS

                                                                            18
Unternehmensanwendungen
Anfrageeigenschaften: OLTP Datenzugriffsmythos
                   Hasso Plattner „The Impact of Columnar In-Memory Databases on Enterprise Systems“ (2014)

■ Workload Analysen von Unternehmensanwendungen zeigen: OLTP und OLAP Workloads
  unterscheiden sich NICHT wesentlich bezüglich ihres Schreibanteil

           100%                                             100%                                                100%
            90 %                                             90 %                                                90 %                                   Delete
                                  Delete                                              Delete
            80 %                  Modification               80 %                     Modification               80 %                                   Modification
            70 %                  Insert                     70 %                     Insert                     70 %                                   Insert

                                                                                                     Workload
Workload

            60 %                                 Workload    60 %                                                60 %
            50 %                  Read                       50 %                                                50 %
                                                                                      Read                                                              Read
            40 %                                             40 %                                                40 %
            30 %                                             30 %                                                30 %
            20 %                                             20 %                                                20 %
            10 %                                             10 %                                                10 %
             0 %                                              0 %                                                 0 %
                   TPC-C                                            OLTP   OLAP                                           Classic   Simplified*
                                                                                                                             SAP Financials

            (a) TPC-C Benchmark                              (b) Workload Analysis                                      (c) SAP Financials
                                                             Krueger et al. VLDB’11                                     Workload Analysis
                                                                                                                                 *Without Transaction-Maintained Aggregates
                                                                                                                                                                              19
Unternehmensanwendungen
Eigenschaften von Unternehmensdaten

■ Viele Tabellen haben hunderte von Attributen
■ Viele Attribute werden in der Regel NICHT benutzt
■ Für viele Attribute dominieren NULL oder DEFAULT-Werte
■ Viele Attribute haben eine geringe Kardinalität (Anzahl verschiedener Attributwerte)
■ Attributwerte sind häufig ungleichmäßig verteilt
■ Attributwerte verschiedener Attribute hängen oft voneinander ab

■ Tabellen sind breit und spärlich gefüllt à erlaubt effiziente Komprimierung

■ Detaillierte Informationen in
          Jens Krüger „Fast Updates on Read-Optimized Databases Using Multi-Core CPUs“ (2011)   20
          http://www.vldb.org/pvldb/vol5/p061_jenskrueger_vldb2012.pdf
Unternehmensanwendungen - Datenbanksystemlandschaft
Historischer Hintergrund
            Michael Stonebraker „One Size Fits All: An Idea Whose Time Has Come and Gone“ (2005)

■ Relationale DBMSs entstanden in den 1970er Jahren als Forschungs-Prototypen
  □ System R
                                Genealogy der relationalen Datenbanken
  □ INGRES                        https://hpi.de/fileadmin/user_upload/fachgebiete/naumann/projekte/RDBMSGenealogy/RDBMS_Genealogy_V6.pdf

■ Beide Systeme wurden für die Verarbeitung von Unternehmensdaten (OLTP) geschaffen
■ Zeilenorientierte Festplattenbasierte Datenbanksysteme
■ Seit Anfang der 1980er: „one size fits all“ Strategie
  Gründe: Kosten, Kompatibilität, Verkauf, Marketing
■ In der 1990er Jahren: Unternehmen wollen Daten aus verschiedenen operationalen DBs in
  ein Data-Warehouse für Business Intelligence vereinen

“Although most warehouse projects were dramatically over budget and ended up delivering only a subset
   of promised functionality, they still delivered a reasonable return on investment. In fact, it is widely
  acknowledged that historical warehouses of retail transactions pay for themselves within a year […].”                                21
Unternehmensanwendungen - Datenbanksystemlandschaft
Beispiel

                                                      22
Unternehmensanwendungen - Datenbanksystemlandschaft
Data-Warehouse und OLAP Technologien
         S. Chaudhuri et U. Dayal „An Overview of Data Warehousing and OLAP Technology “ (1997)

■ Gründe für Entstehung: Performanz und Datenintegration
 □ Relationale Datenbanken waren historisch für OLTP optimiert: Angst vor
   Performanzeinbruch für Transaktionen durch komplexe Ad-hoc-Anfragen
 □ Ältere Daten für historische Tendenzen + zusätzliche Informationen z.B. Aktienpreise

■ Aufbau eines Data-Warehouses für Unternehmen ist langwieriger und komplexer Prozess
■ Erfordert umfangreiche Geschäftsprozessmodellierung
   (Abdeckung des gesamten Unternehmens)
■ Data-Marts: integrieren Datenuntermenge, die sich auf einen einzelnen Organisationsbereich
  fokussieren z.B. Marketing Data-Mart

                                                                                                  23
ed for OLTP. It is for all these Section 8 with a brief mention of these issues.
ses Unternehmensanwendungen
    are implemented separately      - Datenbanksystemlandschaft
     Data-Warehouse Architektur
                           2. Architecture and End-to-End Process
                S. Chaudhuri et U. Dayal „An Overview
                                              Figureof1Data Warehousing
                                                        shows  a typicalanddata
                                                                            OLAP Technology “ (1997)
                                                                                warehousing    architecture.
 e implemented on standard or
 Ss, ■called      Relational OLAP
          Datenintegration                                  Monitoring & Admnistration
rvers assume that data is stored in
ey support extensions to SQL and                                            Metadata
                                                                            Repository
       ■ Datenmodellierung
mentation    methods to efficiently                                                           OLAP
                                                                                              Servers      Analysis
 ional data model and operations.                                            Data Warehouse
nal OLAP (MOLAP) servers are                 External         Extract
       ■ Operationen                         sources          Transform                                 Query/Reporting
 multidimensional data in special                             Load
                                             Operational      Refresh                           Serve
 ys) and implement the OLAP                  dbs                                                          Data Mining
 l data■ structures.
          Datenspeicherung

 nd maintaining a data warehouse             Data sources
      ■ Hilfsstrukturen                                                        Data Marts                 Tools
 rver and defining a schema and
 for the warehouse. Different                               Figure 1. Data Warehousing Architecture
                                                                                                                          24
xist. Many    organizations
      (Details:             want to
                siehe Anhang)
Unternehmensanwendungen - Datenbanksystemlandschaft
Ansätze

■ Unternehmensanwendungen beinhalten sowohl transaktionale als auch analytische Anfragen
■ Aber: Anforderungen an OLAP- und OLTP-Datenbanksysteme sind widersprüchlich

(historischer) Ansatz 1:
Trennung in eigenständige Systeme (Tuning der Datenspeicherung und des Schemas)
■ Zeilen-orientiertes Festplatten-basiertes Datenbanksystem
  mit materialisierten Sichten für häufige Berichte
■ Data Warehouse für OLAP-Performanz und Datenintegration

(moderner) Ansatz 2:
Optimierung eines Systems für beide Anfragearten (mit Kompromissen)
■ Spalten-orientiertes Hauptspeicher-basiertes Datenbanksystem
■ (Data Warehouse für Datenintegration)                                                25
Unternehmensanwendungen - Datenbanksystemlandschaft
Nachteile der Systemtrennung

■ Datenredundanz
■ Datenkonsistenz schwieriger
■ Synchronisierung der Systeme durch Extract, Transform, Load (ETL)
 □ Kostenintensiver Prozess
 □ ETL verursacht eine Zeitverzögerung
■ Unterschiedliche Datenschemas erzeugen eine höhere Komplexität für Anwendungen,
  die beide Systeme nutzen

                                                                                    26
Unternehmensanwendungen - Datenbanksystemlandschaft
Kombination von OLTP und OLAP in einem System

■ Eine Datenbasis als „Wahrheitsquelle“ („Single source of truth“)
■ Ziel sind ad-hoc-Analysen auf dem transaktionalen Schema ohne materialisierte Sichten
  (z.B. vorberechnete Aggregate) – „Mixed Workloads“ auf einem System

à Vereinfachte Anwendungen (nur ein DBMS mit allen Datenpunkten anfragen) und
Datenbankstrukturen (weniger Indizes, keine materialisierte Sichten)
■ Ermöglicht durch modernere/schnellere Hardware

■ Dennoch: für spezielle Charakteristiken optimierte Datenbanksysteme sind „One size fits all“
  Systemen überlegen
                        Michael Stonebraker „One Size Fits All: An Idea Whose Time Has Come and Gone“ (2005)

                                                                                                               27
Unternehmensanwendungen
Zusammenfassung

■ Unternehmensanwendungen nutzen relationale Datenbanken
 □ Relationales Modell (Tabellen, Operationen, Constraints) ist flexibel
 □ Performante Anfragen dank vieler Optimierungen
 □ Konsistente Daten und Anfrageergebnisse
■ Unternehmensanwendungen beinhalten transaktionale und analytische Anfragen;
  Insbesondere analytische Anforderungen sind mit der Zeit gewachsen
  Für beide Anfragearten dominieren lesende Anfragen (SQL SELECTs);
■ Tabellen von Unternehmensanwendungen sind breit und spärlich gefüllt
■ Zwei Ansätze: Separat optimierte Systeme vs. Vereinigung in einem System
 □ Vereinigung überwindet viele Nachteile der Systemtrennung
 □ Entsprechende Datenbanksysteme beinhalten viele Optimierungen, die den Anfrage- und
   Datencharakteristiken gerecht werden (spätere Datenbankkonzeptvorlesungen)            28
Unternehmensanwendungen
Übungsblatt 1

                Unternehmensanwendungen

                Sommersemester 2021: Übung 1

                Aufgabe 1 (10 Punkte)
                Analysieren Sie die Datenverteilung der Tabelle ACDOCA:
                    a) Wie viele Attribute hat die Tabelle? (1 Punkt)
                    b) Wie viele Tupel hat die Tabelle? (1 Punkt)
                    c) Wie viele Attribute haben weniger als 2, 5, 10, 100, 1.000, 10.000 verschiedene Attri-
                       butwerte? (Wir empfehlen dafür ein kleines Programm zu schreiben.) (6 Punkte)
                Fassen Sie Ihre gewonnenen Erkenntnisse zu den Datencharakteristiken unter Beantwortung
                folgender Fragen zusammen.
                    d) Unternehmenstabellen haben ... (1 Punkt)
                       ☐viele Attribute.
                       ☐wenige Attribute.
                   e) Viele Attribute haben ... (1 Punkt)
                       ☐viele verschiedene Werte.
                       ☐wenig verschiedene Werte.

                Aufgabe 2 (28 Punkte)
                Beantworten Sie folgende Fragen und geben Sie die SQL-Statements an, die Sie zur Lö -
                sung verwendet haben. Verwenden Sie RCLNT=’400’ (MANDT=’400’), RLDNR=’0L’,
                RBUKRS=’1710' und KTOPL=’ YCOA’ für Ihre Anfragen.
                   a) Inspizieren Sie den Buchhaltungsbeleg mit der Nummer 0090004054 aus dem
                      Jahr 2016:
                           1) Wann (Attribut BUDAT) wurde der Beleg gebucht? (1 Punkt)
                           2) Welches Produkt (Produktnummer und deutscher -text) referenziert der Beleg?
                              (1 Punkt)
                           3) Welches Nettogewicht hat das Produkt? (1 Punkt)
                           4) Ermitteln Sie die Kundenanschrift. (1 Punkt)
                           5) In welche Konten (gesucht sind die deutschen Bezeichner) wurde gebucht? Be-
                              stimmen Sie, ob es sich jeweils um eine Soll- oder Haben-Position handelt. Be-
                              stimmen Sie anhand dieser Informationen den Geschäftsvorfall, den der Beleg
                                                                                                                29
                              beschreibt. (3 Punkte)
                           6) Zeigen Sie, dass für diesen Buchhaltungsbeleg das Saldo-Null-Prinzip gilt.
                              (1 Punkt)
Anhang
Relationale Datenbanksysteme
Relationale Algebra: Projektion, Selektion

■ Projektion πA1, ..., An(R) erzeugt eine neue Relation mit einer Untermenge der Spalten von R
  □ In der relationalen Algebra von Mengen werden Duplikat-Tupel entfernt

■ Selektion σC(R) erzeugt eine neue Relation mit einer Untermenge der Tupel von R (die eine
  Bedingung C erfüllen)

                                                                                                 31
Relationale Datenbanksysteme
Relationale Algebra: Projektion

■ R                              First Name    Last Name    Country     Year of Birth

                                Paul          Smith        Australia   1986

                                Lena          Jones        USA         1990

                                Hanna         Schulze      Germany     1942

                                Hanna         Schulze      USA         2000

■ πFirst   Name, Last Name(R)    First Name    Last Name

                                Paul          Smith

                                Lena          Jones

                                Hanna         Schulze

                                                                                        32
Relationale Datenbanksysteme
Relationale Algebra: Selektion

■ R                    First Name    Last Name    Country     Year of Birth

                      Paul          Smith        Australia   1986

                      Lena          Jones        USA         1990

                      Hanna         Schulze      Germany     1942

                      Hanna         Schulze      USA         2000

■ σCountry=‘USA‘(R)    First Name    Last Name    Country     Year of Birth

                      Lena          Jones        USA         1990

                      Hanna         Schulze      USA         2000

                                                                              33
Relationale Datenbanksysteme
Relationale Algebra: Kartesische Produkt , Join

■ Kartesische Produkt (Kreuzprodukt) R × S ist die Menge aller Paare mit einen beliebigen
  ersten Element aus R und einem beliebigen zweiten Element aus S
 □ Das Schema der neuen Relation ist die Vereinigung der Schemata von R und S
   (Ausnahme: R und S haben ein Attribut A gemeinsam à Umbenennung zu R.A und S.A)
■ Join verknüpft Tupel, die „irgendwie“ zusammenpassen/übereinstimmen
 □ „Hängende“ (dangling) Tupel: Tupel ohne Übereinstimmung
 □ Natürlicher Join R ⋈ S : Übereinstimmung in allen gemeinsamen Attributen von R und S
 □ Theta-Join R ⋈θ S: Übereinstimmung basierend auf einer beliebigen Bedingung C
   – Produkt von R und S + Filter mit Bedingung C
   – Ergebnisschema wie beim Kreuzprodukt
 □ Semi-Join R ⋉ S ist die Menge der Tupel in R, die eine Übereinstimmung mit S haben
                                                                                            34
Relationale Datenbanksysteme
Relationale Algebra: Kartesische Produkt

■ R                                                        ■ R ×S

  First Name      Last Name    Country     Year of Birth    First Name    Last Name    R.Country    Year of Birth   S.Country       Capital

 Paul           Smith         Australia   1986              Paul         Smith        Australia    1986             Germany     Berlin

 Lena           Jones         USA         1990              Paul         Smith        Australia    1986             USA         Washington

 Hanna          Schulze       Germany     1942              Lena         Jones        USA          1990             Germany     Berlin

 Hanna          Schulze       USA         2000              Lena         Jones        USA          1990             USA         Washington

                                                            Hanna        Schulze      Germany      1942             Germany     Berlin

■ S                                                         Hanna        Schulze      Germany      1942             USA         Washington

                                                            Hanna        Schulze      USA          2000             Germany     Berlin
  Country           Capital
                                                            Hanna        Schulze      USA          2000             USA         Washington
 Germany       Berlin

 USA           Washington                                                                                                                     35
Relationale Datenbanksysteme
Relationale Algebra: Natürlicher Join

■ R                                                        ■ R⋈S

  First Name      Last Name    Country     Year of Birth    First Name    Last Name    Country    Year of Birth       Capital

 Paul           Smith         Australia   1986             Lena          Jones        USA        1990             Washington

 Lena           Jones         USA         1990             Hanna         Schulze      Germany    1942             Berlin

 Hanna          Schulze       Germany     1942             Hanna         Schulze      USA        2000             Washington

 Hanna          Schulze       USA         2000

■ S

  Country           Capital

 Germany       Berlin

 USA           Washington                                                                                                       36
Relationale Datenbanksysteme
Relationale Algebra: Mengenoperationen

■ Vorbedingung für Vereinigung, Schnitt und Differenz von R und S:
  □ R und S müssen das gleiche Schema (Attributnamen und Datentypen) haben

■ Vereinigung R ∪ S ist die Menge der Elemente, die in R, S oder beiden Mengen sind
■ Schnitt R ∩ S ist die Menge der Elemente, die in R und S sind
■ Differenz R \ S (oder R – S) ist die Menge der Elemente, die in R, aber nicht in S sind
  □ R \ S ist verschieden von S \ R

■ Division R ÷ S:
  □ Das Schema der neuen Relation ist die Differenz der Schemata von R und S
  □ R ÷ S enthält alle Elemente dieses Schemas, welche mit den Elementen aus S
    in jeder Kombination in R vorkommen (siehe Beispiel)                                    37
Relationale Datenbanksysteme
Relationale Algebra: Mengenvereinigung

■ R                          ■ R∪S
  Country          Capital    Country          Capital

 Norway     Oslo             Norway     Oslo

 USA        Washington       USA        Washington

 Poland     Warsaw           Poland     Warsaw

                             Germany    Berlin

■ S

  Country          Capital

 Germany    Berlin

 USA        Washington                                   38
Relationale Datenbanksysteme
Relationale Algebra: Mengenschnitt

■ R                          ■ R∩S
  Country          Capital    Country       Capital

 Norway     Oslo             USA        Washington

 USA        Washington

 Poland     Warsaw

■ S

  Country          Capital

 Germany    Berlin

 USA        Washington                                39
Relationale Datenbanksysteme
Relationale Algebra: Mengendifferenz

■ R                          ■ R\S
  Country          Capital    Country          Capital

 Norway     Oslo             Norway     Oslo

 USA        Washington       Poland     Warsaw

 Poland     Warsaw

■ S                          ■ S\R

  Country          Capital    Country          Capital

 Germany    Berlin           Germany    Berlin

 USA        Washington                                   40
Relationale Datenbanksysteme
Relationale Algebra: Mengendivision

■ R                                     ■ R ÷S

  First Name    Last Name    Country     Country

 Paul          Smith        Australia   USA

 Lena          Jones        USA

 Hanna         Schulze      Germany

 Hanna         Schulze      USA

■ S

  First Name    Last Name

 Lena          Jones

 Hanna         Schulze                             41
Relationale Datenbanksysteme
Relationale Algebra: Komplexe Ausdrücke

■ Operationen können zu komplexen Ausdrücken (Anfragen) kombiniert werden
 □ Ausdrücke entsprechen immer Relationen
 □ Ausdrücke als geklammerter Ausdruck oder Baum darstellbar

                                                                            42
Relationale Datenbanksysteme
Relationale Algebra: Minimale relationale Algebra?

■ Vereinigung, Schnitt, Differenz, Division, Projektion, Selektion, Kartesisches Produkt,
  natürlicher Join, Theta-Join, Semi-Join, Umbenennung

                                                                                            43
Relationale Datenbanksysteme
Relationale Algebra: Minimale relationale Algebra!

■ Vereinigung, Schnitt, Differenz, Division, Projektion, Selektion, Kartesisches Produkt,
  natürlicher Join, Theta-Join, Semi-Join, Umbenennung

■ R ∩ S = R \ (R \ S)
■ R ÷ S = πCountry(R) \ πCountry((πCountry(R) × S) \ R)

                                                                                            44
Relationale Datenbanksysteme
Relationale Algebra: Was fehlt?

■ Multimengen-Semantik (+ Duplikatentfernung)
■ Aggregation (und Gruppierung)
■ Sortierung
■ Erweiterte Projektion
■ Outer Join
■ NULL

                                                45
Relationale Datenbanksysteme
Relationales Modell: Multimengen-Semantik

■ Multimengen (erlauben Duplikate)
 □ Neue Definitionen für Operationen!
■ Einige relationale Operationen sind für Multimengen effizienter (ohne Duplikatentfernung)
 □ Union
 □ Projektion
■ Duplikatentfernung δ wandelt Multimenge in Menge um

                                                                                              46
Relationale Datenbanksysteme
Relationales Modell: Aggregation

■ Aggregationen fassen Werte einer Spalte zusammen
 □ Beispiele: SUM, AVG, MIN, MAX, COUNT
 □ Gruppierungen γ ermöglichen Aggregationen von Tupel-Gruppen, deren Werte in einer
   oder mehreren Spalten übereinstimmen
 □ γA1, ..., Am, AVG(Au), COUNT(Av), MIN(Aw), MAX(Ax), SUM(Ay) (R)

                                                                                       47
Relationale Datenbanksysteme
Relationales Modell: Aggregation

■ R                                                      ■ γMAX(Year of Birth)(R)

  First Name    Last Name    Country     Year of Birth      Year of Birth

 Paul          Smith        Australia   1986              2000

 Lena          Jones        USA         1990

 Hanna         Schulze      Germany     1942

 Hanna         Schulze      USA         2000             ■ γCountry, MAX(Year of Birth)(R)

                                                           Country          Year of Birth

                                                          Australia     1986

                                                          Germany       1942

                                                          USA           2000

                                                                                             48
Relationale Datenbanksysteme
Relationales Modell: Sortierung

■ Sortierung τ verwandelt ungeordnete Datenstrukturen (z.B. Menge, Multimenge) in
  geordnete/sortierte (z.B. Liste)
 □ Nur nützlich als letzter Operator einer relationalen Query (und ihres logischen
   Anfrageplans), weil nachfolgende Operatoren die Liste zurück in eine Menge/Multimenge
   umwandeln
 □ Wichtig für physische Anfragepläne (spezifische Implementierungen von Operatoren
   können sortierte Eingaben benötigen)

                                                                                           49
Relationale Datenbanksysteme
Relationales Modell: Erweiterte Projektion

■ Neben Umbenennungen erlauben erweiterte Projektionen beliebige Ausdrücke
 □ Konstanten
 □ Arithmetische Operationen
 □ String-Operationen

                                                                             50
Relationale Datenbanksysteme
Relationales Modell: Outer Join

■ Das Ergebnis des Outer Joins R |⋈| S ist die Vereinigung des natürlichen Joins R ⋈ S und
  aller Dangling Tupel von R und S; Dangling Tupel werden mit NULL-Werten aufgefüllt
 □ Full, Left, Right Outer Join
 □ Theta-Join-Versionen des Outer Joins arbeiten analog
 □ Inner Join ist ein Synonym des „normalen“ Joins

                                                                                             51
Relationale Datenbanksysteme
     SQL: Tabellendefinition und Datenbankveränderungen

        CREATE TABLE R(A1 D1, ..., An Dn)
                                                                                        ■ R (Name der) Relation
        DROP TABLE R
                                                                                        ■ Ai Attribute
                                                                                        ■ Di Datentypen
        INSERT INTO R VALUES(a1, ..., an)                                               ■ Ai Attributwerte

        DELETE FROM R

     ■ SQL-Schlüsselwörter und Namen von Relationen und Attributen (ohne Anführungszeichen)
        unterscheiden Groß- und Kleinschreibung nicht

        □ Gleich: INSERT, insert, Insert, iNseRt

        □ Werte/Konstanten unterscheiden Schreibweise: ‘Potsdam’ != ‘POTSDAM’
                                                                                                                                        52
Konkrete SQL-Queries:    https://hpi.de/fileadmin/user_upload/fachgebiete/plattner/teaching/EnterpriseApplications/sql_statements.sql

Beispielprogramm:        https://hpi.de/fileadmin/user_upload/fachgebiete/plattner/teaching/EnterpriseApplications/sqlite_example.py
Relationale Datenbanksysteme
SQL: Datenbankanfragen – Basisform

 SELECT A1, ..., Aj
                                                     ■ C Bedingung
 FROM R1, ..., Rk
 WHERE C

■ Auswertungs-/Lesereihenfolge
 1. FROM ...          - angefragte Tabellen
                      - entspricht dem kartesischen Produkt in der relationalen Algebra
 2. WHERE ...         - Filterkriterien
                      - entspricht der Selektion in der relationalen Algebra
 3. SELECT ...        - auszugebene Attributwerte
                      - entspricht der Projektion in der relationalen Algebra
                                                                                          53
Relationale Datenbanksysteme
SQL: Datenbankanfragen – Aggregation und Sortierung

 SELECT A1, ..., Am, AVG(Au), COUNT(Av), MIN(Aw), MAX(Ax), SUM(Ay)
 FROM R
 WHERE C
 GROUP BY A1, ..., Am

 SELECT A1, ..., Am
 FROM R
 WHERE C
 ORDER BY A1, ..., Aj

                                                                     54
Relationale Datenbanksysteme
SQL: Datenbankanfragen – NULL und Dreiwertige Logik

■ Drei Werte: wahr, falsch, unbekannt
■ Jeder Vergleich mit NULL gibt „unbekannt“ zurück
 □ 4 < NULL
 □ NULL  NULL
 □ NULL = NULL
■ „A IS NULL“ um Attribut A auf NULL zu prüfen

                                                      55
Relationale Datenbanksysteme
SQL: Datenbankanfragen – NULL und Dreiwertige Logik

■ Dreiwertige Logik
 □ OR:   (unbekannt OR wahr) = wahr
         (unbekannt OR falsch) = unbekannt
         (unbekannt OR unbekannt) = unbekannt
 □ AND: (unbekannt AND wahr) = unbekannt
         (unbekannt AND falsch) = falsch
         (unbekannt AND unbekannt) = unbekannt
 □ NOT: (NOT unbekannt) = unbekannt

■ Ergebnis der WHERE-Klausel wird als falsch betrachtet, wenn es „unbekannt“ ist

                                                                                   56
Relationale Datenbanksysteme
Zusammenfassung: Relationales Modell und SQL

■ Unternehmensanwendungen nutzen relationale Datenbanksysteme

■ Relationale Datenbanksysteme basieren auf dem relationalen Modell
■ Relationales Modell ist ein konzeptionelles Modell,
  welches Daten als Relationen/Tabellen abbildet
■ Relationale Algebra definiert Operationen auf Relationen

■ SQL ist eine in relationalen Datenbanksystemen genutzte Anfragesprache, die auf der
  relationalen Algebra aufbaut (der Umfang von SQL geht über Queries hinaus)

                                                                                        57
use inconsistent representations, codes and formats, which     is the Data Warehousing Information Center4.
 have to be reconciled. Finally, supporting the
Unternehmensanwendungen
 multidimensional data models and operations -typical
                                                    Datenbanksystemlandschaft
                                                         of     Research in data warehousing is fairly recent, and has focused
Data-Warehouse:                    Datenintegration
 OLAP requires special data organization,   access methods,
 and implementation methods, not generally provided by
                                                                primarily on query processing and view maintenance issues.
                                                                There still are many open research problems. We conclude in
              S. Chaudhuri et U. Dayal „An Overview of Data Warehousing and OLAP Technology “ (1997)
 commercial DBMSs targeted for OLTP. It is for all these        Section 8 with a brief mention of these issues.
   Aufwendiger
■reasons             ETL-Prozess
         that data warehouses    are implemented separately
 from operational databases.                                    2. Architecture and End-to-End Process
  □ Extraktion der relevanten Daten aus operationalen DBs und externen Quellen
                                                                   Figure 1 shows a typical data warehousing architecture.
 Data   warehouses    might  be  implemented    on
   □ Transformation der Daten in das Warehouse-Schemastandard   or
 extended relational DBMSs, called            Relational OLAP                  Monitoring & Admnistration
   □ Laden
 (ROLAP)        der These
            servers.  Daten    in das
                            servers     Warehouse
                                    assume  that data is stored in
 relational databases, and they support extensions to SQL and                                 Metadata
                                                                                              Repository
 special access and implementation methods to efficiently                                                     OLAP
                                                                                                              Servers    Analysis
 implement the multidimensional data model and operations.                                     Data Warehouse
 In contrast, multidimensional OLAP (MOLAP) servers are             External    Extract
                                                                                Transform
   Metadatenmanagement
■servers  that directly store multidimensional data in special      sources
                                                                                Load
                                                                                                                      Query/Reporting
                                                                   Operational  Refresh                         Serve
 data structures (e.g., arrays) and implement the OLAP
   □   Beschreibung        der  Datenquellen
 operations over these special data structures.
                                                                   dbs                                                  Data Mining

  □ Beschreibung des Warehouse-Schemas
There is more to building and maintaining a data warehouse
than (siehe
      selectingFolgefolien)
                                                                Data sources
                                                                                          Data Marts                 Tools
                an OLAP server and defining a schema and
some    complex queries
  □ Beschreibung         derfor   the warehouse. Different
                               Datenextraktions-                             Figure 1. Data Warehousing Architecture
                                                      und Datentransformationsregeln
architectural alternatives exist. Many organizations want to
                                                                                                                           58
implement an integrated enterprise warehouse that collects    It includes tools for extracting data from multiple operational
information about all subjects (e.g., customers, products,    databases and external sources; for cleaning, transforming
use inconsistent representations, codes and formats, which    is the Data Warehousing Information Center .
                        have to be reconciled. Finally, supporting the

Unternehmensanwendungen
                        multidimensional data models and operations typical of        Research in data warehousing is fairly recent, and has focused
                        OLAP requires special data organization, access methods,      primarily on query processing and view maintenance issues.
Data-Warehouse: Datenmodellierung
                        and implementation methods, not generally provided by
                        commercial DBMSs targeted for OLTP. It is for all these
                                                                                      There still are many open research problems. We conclude in
                                                                                      Section 8 with a brief mention of these issues.
                 S. Chaudhuri
                        reasonsetthat
                                  U. Dayal   „An Overview
                                      data warehouses        of Data Warehousing
                                                        are implemented  separately and OLAP Technology “ (1997)
                        from operational databases.
■ OLTP Schema-Design basiert auf Normalisierung (redundanzfreie Speicherung)          2. Architecture and End-to-End Process
                                                                                         Figure 1 shows a typical data warehousing architecture.
■ Für OLAP sindData
                effiziente
                    warehousesAnfragen   und effizientes
                               might be implemented           Laden
                                                    on standard or  wichtig
                 extended relational DBMSs, called            Relational OLAP                            Monitoring & Admnistration
                 (ROLAP) servers. These servers assume that data is stored in
                 relational databases, and they support extensions to SQL and                                            Metadata
                                                                                                                         Repository
■   Mehrdimensionale
                 special Datensicht
                           access and implementation methods to efficiently                                                                OLAP
                                                                                                                                           Servers      Analysis
                 implement the multidimensional data model and operations.
    Datenwürfel (OLAP-Würfel)

                                                         Stadt
                                                                                                                          Data Warehouse
                 In contrast, multidimensional OLAP (MOLAP) servers are                   External         Extract
                                                                                          sources          Transform                                 Query/Reporting
                 servers that directly store multidimensional data in special

                                                                            um
                                                                                                           Load
    □ Numerische data
                  Kennzahlen
                        structures (e.g., arrays) and implement the OLAP                  Operational      Refresh                           Serve

                                                                          at
                                                          Produkt
                                                                                          dbs

                                                                         D
      werden analysiert z.B.
                                                                                                                                                       Data Mining
                 operations  over these special data structures.

        Umsätze oder Bestände
                  There is more to building and maintaining a data warehouse              Data sources
                                                                                                               Data Marts                 Tools
                      than selecting an OLAP server and defining a schema and
    □   Jede Kennzahl       hängt     von    einer     Menge      an  Dimensionen
                      some complex queries for the warehouse. Different                ab       Figure 1. Data Warehousing Architecture
                      architectural alternatives exist. Many organizations want to
    □   Dimensionenimplement
                         sind oft      hierarchisch
                                  an integrated  enterprise warehouse that collects  It includes tools for extracting data from multiple operational
                      information   about
        – Tag - Monat - Quartal – Jahr     all subjects  (e.g., customers, products, databases and external sources; for cleaning, transforming
                      sales, assets, personnel) spanning the whole organization.     and integrating this data; for loading data into the data
        – Produkt - Kategorie     – Industrie
                      However, building    an enterprise warehouse is a long and     warehouse; and for periodically refreshing the warehouse to
                      complex process, requiring extensive business modeling, and
        – Stadt - Bezirk - Land                                                      reflect updates at the sources and to purge data from59     the
                      may take many years to succeed. Some organizations are         warehouse, perhaps onto slower archival storage. In addition
                      settling for data marts instead, which are departmental
Unternehmensanwendungen - Datenbanksystemlandschaft
Data-Warehouse: Operationen
         S. Chaudhuri et U. Dayal „An Overview of Data Warehousing and OLAP Technology “ (1997)

■ Slicing und Dicing: Selektion/Auswahl bestimmter Informationen

■ Drill-Down: zunehmende Datendetails

                                                                                     Stadt

                                                                                                        um
                                                                                                        at
■ Drill-Up/Roll-Up: zunehmende Aggregation/Verdichtung der Daten                             Produkt

                                                                                                       D
■ Pivoting/Rotation: Umorganisation der Datenansicht

                                                                                                             60
Let there      Entity Relationship diagrams and normalization techniques
umn that       are popularly used for database design in OLTP
 pivoting
 regate a
         Unternehmensanwendungen - Datenbanksystemlandschaft
               environments. However, the database designs recommended
               by ER diagrams are inappropriate for decision support
gregated
ue in the
         Data-Warehouse: Datenspeicherung - ROLAP
               systems where efficiency in querying and in loading data
               (including incremental loads) are important.
 e of the                   S. Chaudhuri et U. Dayal „An Overview of Data Warehousing and OLAP Technology “ (1997)
               Most data warehouses use a star schema to represent the
 and the
 mple, if■   R(elational)OLAP
               multidimensional data model. The database consists of a
               single fact table and a single table for each dimension. Each
axis may
               tuple in the fact table consists of a pointer (foreign key - often
 sent the       Daten
             □ uses          sind
                    a generated       in efficiency)
                                  key for  Tabellen         (relational)
                                                      to each  of the dimensions gespeichert
sales for
               that provide its multidimensional coordinates, and stores the
 original       Umsetzung
             □ numeric    measures forim     Sternschema
                                          those                         mit Denormalisierungen aus Performanzgründen:
                                                 coordinates. Each dimension
 aders in
                eine Faktentabellen + eine Tabelle pro Dimension
               table consists of columns that correspond to attributes of the
               dimension. Figure 3 shows an example of a star schema.

ll-down.
 ect and
hus, it is      Order                                        ProdNo
gregated        OrderNo                                      ProdName
                OrderDate                                    ProdDescr
ration is                                 Fact table         Category
onds to                                                      CategoryDescr
               Customer                  OrderNo
aking a                                                      UnitPrice
                CustomerNo               SalespersonID
selected                                 CustomerNo          QOH
                CustomerName
we can                                   ProdNo               Date
                CustomerAddress
create a        City                     DateKey              DateKey
  of sale.                               CityName             Date
sorting),      Salesperson               Quantity             Month
                                         TotalPrice           Year
                  SalespersonID
                                                             City
                  SalespesonName
                  City                                       CityName
ted a lot                                                    State
business
                  Quota
                                                             Country
                                                                                                                        61
ans of a                          Figure 3. A Star Schema.
e stored
Let there      Entity Relationship diagrams and normalization techniques
umn that       are popularly used for database design in OLTP
 pivoting
 regate a
         Unternehmensanwendungen - Datenbanksystemlandschaft
               environments. However, the database designs recommended                 schemas where the dimensional hierarchy is explicitly
               by ER diagrams are inappropriate for decision support
gregated
ue in the
         Data-Warehouse: Datenspeicherung - ROLAP
               systems where efficiency in querying and in loading data
                                                                                       represented by normalizing the dimension tables, as shown in
                                                                                       Figure 4. This leads to advantages in maintaining the
                                                                                                                                                          Data w
               (including incremental loads) are important.                                                                                               answer
 e of the                   S. Chaudhuri et U. Dayal „An Overview of Data Warehousing                andHowever,
                                                                                       dimension tables.  OLAP Technology    “ (1997)
                                                                                                                    the denormalized structure of the
 and the
               Most data warehouses use a star schema to represent the                                                                                    access
 mple, if■   R(elational)OLAP
               multidimensional data model. The database consists of a                 dimensional tables in star schemas may be more appropriate         issues a
               single fact table and a single table for each dimension. Each           for browsing the dimensions.
axis may
               tuple in the fact table consists of a pointer (foreign key - often                                                                         such as
 sent the       Schneeflockenschema
             □ uses                                         als    Alternative:
                    a generated key for efficiency) to each of the dimensions       Dimensionshierarchie          wird explizit durch                     indices
sales for
 original       Normalisierung
               that                            dargestellt
                    provide its multidimensional     coordinates, and stores the       Fact constellations are examples of more complex structures        importa
               numeric measures for those coordinates. Each dimension                                                                                     effectiv
 aders in                                                                              in which multiple fact tables share dimensional tables. For
             Sternschema
               table consists of columns that correspond to attributes of the
               dimension. Figure 3 shows an example of a star schema.
                                                                                  vs.         Schneeflockenschema
                                                                                       example,  projected expense and the actual expense may form        answer
                                                                                    a fact constellation since they share many dimensions.                importa
ll-down.     Einfacheres Schema (Anfragen)                                    vs.          Weniger Redundanz                                              efficien
 ect and
hus, it is      Order                                         ProdNo                 Order                                               Category
                                                                                                                                                          queries
                OrderNo                                                                                                     ProdNo                        efficien
gregated                                                      ProdName               OrderNo                                             CategoryName
                OrderDate                                                                                                   ProdName
                                                              ProdDescr              OrderDate                                           CategoryDescr
ration is                                  Fact table         Category
                                                                                                                            ProdDescr                     be expl
                                                                                                            Fact table
onds to                                                       CategoryDescr
                                                                                                                            Category                      paper, i
                Customer                  OrderNo                                   Customer               OrderNo
aking a                                                       UnitPrice
                                                                                                                            UnitPrice
selected         CustomerNo               SalespersonID
                                                                                     CustomerNo            SalespersonID    QOH                           Therefo
                                          CustomerNo          QOH
                 CustomerName                                                        CustomerName          CustomerNo
we can                                                         Date
                                                                              vs.
                 CustomerAddress          ProdNo                                                           DateKey                                 Year
create a                                  DateKey              DateKey               CustomerAddress                        Date        Month
                 City
                                                               Date                  City                  CityName
                                                                                                                            DateKey                       Index S
  of sale.                                CityName                                                         ProdNo                       Month
                                          Quantity             Month                                                        Date        Year              A numb
sorting),       Salesperson                                                         Salesperson            Quantity
                                          TotalPrice           Year                                                         Month
                   SalespersonID                                                                           TotalPrice                                     are use
                                                              City                     SalespersonID
                   SalespesonName                                                                                          City            State
                   City                                       CityName
                                                                                       SalespesonName
                                                                                                                            CityName
                                                                                                                                                          conditio
ted a lot                                                                              City
                   Quota                                      State
                                                                                       Quota                                State                         useful
                                                                                                                                                           62
business                                                      Country
                                                                                                                                                          operatio
ans of a                           Figure 3. A Star Schema.                                      Figure 4. A Snowflake Schema.
e stored                                                                                                                                                  cases el
Unternehmensanwendungen - Datenbanksystemlandschaft
Data-Warehouse: Datenspeicherung - MOLAP
         S. Chaudhuri et U. Dayal „An Overview of Data Warehousing and OLAP Technology “ (1997)

■ M(ultidimensional)OLAP
 □ Mehrdimensionale Daten sind in speziellen Datenstrukturen gespeichert
   z.B. mehrdimensionale Arrays
 □ Nutzen meist zwei Dimensionen (+ Kompressionsverfahren) um dünn
   besetze Datenwürfel („sparse data“) effizient zu unterstützen

                                                                                                  63
Unternehmensanwendungen - Datenbanksystemlandschaft
Data-Warehouse: Datenspeicherung - Hilfsstrukturen
         S. Chaudhuri et U. Dayal „An Overview of Data Warehousing and OLAP Technology “ (1997)

■ ROLAP- und MOLAP-Systeme nutzen Hilfsstrukturen für effiziente Anfragebearbeitung
 □ Voraggregierte Daten (nach verschiedenen Dimensionen)
 □ Materialisierte Sichten
 □ Indexstrukturen
   – Bit-Map-Index als Alternative zu Pointer/ID-Listen
   àEffiziente Operationen: Index-Intersection, Index-Union
   – Join-Indizes: Dimensionstabelle à Faktentabelle
   – Indizes für Textsuche
■ Weitere Effizienzsteigerung durch Partitionierung/Sortierung möglich

                                                                                                  64
Sie können auch lesen