Analytische Funktionen in 10g

Größe: px
Ab Seite anzeigen:

Download "Analytische Funktionen in 10g"

Transkript

1 Mittwoch, 9. November h00, Variohalle 2 Analytische Funktionen in 10g Sebastian Graf und Michael Weiler PROMATIS software GmbH, Ettlingen Schlüsselworte Oracle 10g, Data Warehouse, OLAP, Business Intelligence, ETL, Data Mining, Analytische Funktionen, SQL 1 Einleitung Seit der Einführung von Oracle 8i haben sich analytische Funktionen als fester Bestandteil der Abfragesprache SQL etabliert. Obwohl sie sehr mächtig sind und selbst komplexe Abfragen unter Verwendung analytischer Funktionen einfach zu formulieren sind, ist die Kenntnis dieser Funktionen nicht unbedingt weit verbreitet. Vor diesem Hintergrund ist dieser Beitrag entstanden. In Kapitel 2 werden zunächst als erste Vertreter analytischer Funktionen einfache Aggregationen (GROUP, ROLLUP, CUBE) vorgestellt. Kapitel 3 beschäftigt sich mit fortschrittlichen Analysefunktionen (Ranking, Windowing, LAG/LEAD etc.) bis hin zu modernen Planungsfunktionen. Die MODEL-Klausel, die erstmals in Version 10g zur Verfügung steht, steht im Mittelpunkt des Kapitels 4. Sie ermöglicht die Erstellung multidimensionaler Spreadsheets. Es wird auch gezeigt, wie MODEL-Abfragen mit Regelfunktionen versehen werden. Diese Technik wird zur Berechnung neuer Werte verwendet, was insbesondere in den Bereichen Planung und Forecasting eine dramatische Verbesserung darstellt. Der Beitrag schließt mit einer kritischen Schlussbetrachtung in Kapitel 5. 2 Aggregationen In vielen Anwendungen müssen aggregierte Informationen dargestellt werden. Dies geschieht sowohl in klassischen transaktionsorientierten Systemen, aber vor allem in Data Warehouses und Data Marts. Für komplexe Fragestellungen wurden in der Vergangenheit oftmals komplexe Abfragen mit UNION- oder Inline Views erstellt. Die analytischen Funktionen und Gruppierungsmechanismen bieten hier einfachere und performantere Möglichkeiten. Im Folgenden werden anhand einfacher Beispiele Funktionen beschrieben, die bereits in Oracle 9i zur Verfügung standen und erste Ansätze zur analytischen Verarbeitung bieten. Es handelt sich um die GROUP BY-Klausel, die ROLLUP- und die CUBE-Klausel. GROUP BY GROUP BY war vor Einführung der analytischen Funktionen die einzige Möglichkeit, bestimmte Datensätze nach bestimmten Kriterien innerhalb einer Abfrage zusammenzufassen. Einfache Gruppierungsfunktionen erlauben das Berechnen von aggregierten Werten, wie dies in Beispiel 1 für den Verkaufswert gezeigt wird. Beispiel 1: GROUP BY select nachname ', ' vorname "Kunde", sum(verkaufswert) "Summe", count(1) "Einkäufe" from verkaeufe s, kunden c where verkaufsdatum between ' ' and ' ' and nachname like 'A%' and s.kunden_id = c.kunden_id group by nachname ', ' vorname order by 1

2 18. Deutsche ORACLE-Anwenderkonferenz In Beispiel 1 wird über den Kundennamen gruppiert, die Anzahl der Transaktionen wird aufsummiert und die Summe der Verkaufswerte gebildet. Allerdings setzt die Anwendung dieser Technik voraus, dass nur mit einer einzigen Dimension gearbeitet wird. ROLLUP Im Gegensatz zur GROUP BY-Klausel bietet ROLLUP eine elegante Möglichkeit, um mit mehreren Dimensionen zu arbeiten. Es können Zwischensummen gebildet werden, um dann abschließend eine Gesamtsumme zu ermitteln, wie dies in Beispiel 2 gezeigt wird. Beispiel 2: ROLLUP select p.prod_name "Produkt", l.land_bez "Land", sum(v.verkaufswert) "Umsatz", sum(1) "Verkäufe" from verkaeufe v, produkte p, laender l, kunden k where verkaufsdatum between ' ' and ' ' and l.land_iso in ('US', 'DE') and p.prod_kategorie in ('Elektronik') and v.prod_id = p.prod_id and v.kund_id = k.kund_id and k.land_id = l.land_id group by rollup(p.prod_name, l.land_bez) order by 1, 2 In Beispiel 2 wird zunächst über das Land und das Produkt und dann nur noch über das Produkt gruppiert. In der letzten Zeile stehen schließlich die Gesamtsummen. CUBE Beispiel 3 zeigt die Anwendung der CUBE-Funktion. Im Gegensatz zum Rollup werden hier alle möglichen Kombinationen gebildet und Zwischensummen berechnet. Die erste Zeile liefert die Gesamtsumme. Business Intelligence Beispiel 3: CUBE select p.prod_name "Produkt", l.land_bez "Land", sum(v.verkaufswert) "Umsatz", sum(1) "Verkäufe" from verkaeufe v, produkte p, laender l, kunden k where verkaufsdatum between ' ' and ' ' and l.land_iso in ('US', 'DE') and p.prod_kategorie in ('Elektronik') and v.prod_id = p.prod_id and v.kund_id = k.kund_id and k.land_id = l.land_id group by cube(l.country_name, p.prod_name) GROUPING In Anwendungen werden oftmals nur ganz bestimmte Zwischensummen benötigt. Dies kann über die GROUPING-Funktion gesteuert werden. Diese Funktion regelt, welche Zwischensummen wie angezeigt werden sollen. Die Funktion ist sowohl für die CUBE- als auch die ROLLUP-Gruppierung verfügbar. Das folgende Beispiel 4 zeigt die Anwendung der GROUPING-Funktion. Mit GROUPING kann ermittelt werden, ob es sich um eine Zwischensumme handelt oder nicht. Damit kann auch entschieden werden, ob die aktuelle Zeile auf NULL-Werten basiert oder wirklich eine Gruppierung ist. Mit Grouping Sets können explizit Gruppierungen vorgegeben werden: CUBE(s1, s2) entspricht GROUPING SETS((s1, s2), (s1), (s2), ()) ROLLUP(s1, s2) entspricht GROUPING SETS((s1, s2), (s1), ())

3 Grouping Sets sind kombinierbar: GROUPING SETS(s1, s2), GROUPING SETS(s3, s4) bildet die folgenden Gruppierungen: (s1, s3), (s1, s4), (s2, s3), (s2, s4) Beispiel 4: GROUPING select p.prod_name "Produkt", l.land_bez "Land", sum(v.verkaufswert) "Umsatz", grouping(p.prod_name) PRO, grouping(l.country_name) LAN from verkaeufe v, produkte p, laender l, kunden k where verkaufsdatum between ' ' and ' ' and l.land_iso in ('US', 'DE') and p.prod_kategorie in ('Elektronik') and v.prod_id = p.prod_id and v.kund_id = k.kund_id and k.land_id = l.land_id group by cube(l.country_name, p.prod_name) 3 Fortschrittliche Analysefunktionen Im Folgenden werden nun einige wichtige Funktionen beschrieben, die dem Entwickler in der analytischen Datenverarbeitung das Leben doch etwas leichter machen. In der Folge steigt die Entwicklungsproduktivität, und es entsteht leichter wartbarer SQL-Quellcode. Oftmals können mittels dieser Funktionen SQL-Fragestellungen, die vormals nur mittels komplexer UNION- und INLINE Views dargestellt werden konnten, einfacher, transparenter und mit verbesserer Performance erstellt werden. Übrigens gibt es Bestrebungen, analytische Funktionen in den SQL Standard aufzunehmen. Man darf gespannt sein, inweit die hier vorgestellte Oracle-Syntax Verwendung findet. RANK Die Ranking-Funktion dient dazu, Sortierungen auch innerhalb einzelner Gruppierungen zu erstellen, wie dies in Beispiel 5 gezeigt wird. Beispiel 5: RANK select p.prod_name "Produkt", l.country_name "Land", sum(v.amount_sold) "Umsatz", rank() over (partition by grouping_id(p.prod_name, l.country_name) order by sum(nvl(v.amount_sold, 0))) as "Rang" from sales v, products p, countries l, customers k where time_id between ' ' and ' ' and l.country_iso_code in ('US', 'DE') and p.prod_category in ('Electronics') and v.prod_id = p.prod_id and v.cust_id = k.cust_id and k.country_id = l.country_id group by rollup(p.prod_name, l.country_name)

4 18. Deutsche ORACLE-Anwenderkonferenz Produkt Land Erlös Rang X-Box USA 11,99 1 Verlängerungskabel USA 1.518,10 2 Adventures with Numbers Deutschland 3.736,96 3 Xtend Memory Deutschland 7.120,57 4 Fluch der Karibik DVD Deutschland 9.021,09 5 Adventures with Numbers USA ,37 6 Xtend Memory USA ,79 7 Canton Boxen Deutschland ,55 8 Fluch der Karibik DVD USA ,83 9 SONY T312 DVD Player Deutschland , Minitower Speaker USA ,61 11 SONY T312 DVD Player USA ,23 12 X-Box 11,99 1 Verlängerungskabel 1.518,10 2 Adventures with Numbers ,33 3 Xtend Memory ,36 4 Fluch der Karibik DVD ,92 5 Canton Boxen ,16 6 SONY T312 DVD Player , ,49 1 _ In Beispiel 5 wird mit der RANK-Funktion in den einzelnen Gruppen die Reihenfolge nach den Erlösen hergestellt und pro Gruppe die Rangnummer ausgegeben. Prozentanteil und Durchschnitt Mit PERCENT_RANK können Prozentanteile ausgegeben werden (Prozent der gesamten Gruppe). Darüber hinaus gibt es noch Funktionen, um Durchschnittswerte bezogen auf ein Datenfenster zu bilden. Wird etwa nach dem Datum gruppiert, kann der Durchschnitt der letzten drei Tage, bezogen auf einen aktuellen Datensatz, ermittelt werden. Business Intelligence FIRST_VALUE und LAST_VALUE Mit FIRST_VALUE / LAST_VALUE können der erste und der letzte Wert aus einem Datenfenster ausgewählt werden. LAG und LEAD Mit den Funktionen LAG und LEAD lassen sich Vorgänger und Nachfolger berechnen, wie in Beispiel 6 gezeigt. Beispiel 6: LAG und LEAD select datum "Datum", sum(verkaufswert) "Erlös", lag(sum(verkaufswert)) over (order by datum) "Vorgänger", lead(sum(verkaufswert)) over (order by datum) "Nachfolger" from verkaeufe where datum between ' ' and ' ' group by datum

5 Datum Erlös Vorgänger Nachfolger , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,82 _ LAST und FIRST Mit den Funktionen LAST und FIRST können entsprechend der erste und der letzte Wert eines Fensters abgefragt werden. Ferner gibt es noch Funktionen aus dem Bereich Lineare Regression. WIDTH_BUCKET Mit der WIDTH_BUCKET-Funktion können Daten, wie in Beispiel 7 dargestellt, in äquidistante Bereiche eingeordnet werden: Beispiel 7: WIDTH_BUCKET select cust_id "Kundennummer", cust_credit_limit "Kreditlinie", WIDTH_BUCKET(cust_credit_limit, 15000, 0, 5) "Einordnung" from customers where cust_city = 'Stuttgart' Kundennummer Kreditlinie Einordnung , , , , , , , , , , , , , , , ,00 5 _ 4 Multidimensionale Spreadsheets : Die MODEL-Klausel Bei den bislang behandelten Funktionen ging es darum, vorhandene Daten auszuwerten und mittels analytischer Funktionen Berechnungen anzustellen. Im Gegensatz dazu dienen Model-Abfragen dazu, komplexe Berechnungen auf Daten auszuführen und diese dann einer Abfrage bereitzustellen. Solche Funktionalitäten werden oftmals in Planungsprozessen oder zur Erstellung von Forecasts auf der Basis von Vergangenheitswerten benötigt.

6 18. Deutsche ORACLE-Anwenderkonferenz In Beispiel 8 werden Daten für einen noch nicht vorhandenen Zeitbereich bereitgestellt. In der Datenbank sind Informationen über Verkäufe bis zum vorhanden. Über diesen Zeitbereich hinaus sind keine Daten vorhanden. Mit der MODEL-Klausel ist es jetzt aber möglich, einer Abfrage Werte für das Jahr 2002 bereitzustellen. Beispiel 8: MODEL SELECT country "Land", product "Produkt", year "Jahr", sales "Umsatz" FROM sales_view WHERE country IN ('Deutschland') MODEL PARTITION BY (country) DIMENSION BY (product, year) MEASURES (sales sales) RULES (sales['bounce', 2002] = sales['bounce', 2001] + sales['bounce', 2000], sales['cd-r, Grade A', 2002] = sales['cd-r, Grade A', 2001], sales['adventures with Numbers', 2002] = 1.05*sales['Adventures with Numbers', 2001], sales['cd-r Mini Discs', 2002] = MAX(sales) ['CD-R Mini Discs', year BETWEEN 1900 AND 2001] ) ORDER BY country, product, year; Land Produkt Jahr Umsatz Deutschland Adventures with Numbers ,96 Deutschland Adventures with Numbers ,57 Deutschland Adventures with Numbers ,78 Deutschland Adventures with Numbers ,21 Deutschland Adventures with Numbers ,87 Deutschland Bounce ,71 Deutschland Bounce ,31 Deutschland Bounce ,39 Deutschland Bounce ,70 Deutschland CD-R Mini Discs ,47 Deutschland CD-R Mini Discs ,49 Deutschland CD-R Mini Discs ,74 Deutschland CD-R Mini Discs ,14 Deutschland CD-R Mini Discs ,74 Deutschland CD-R, Grade A ,46 Deutschland CD-R, Grade A ,25 Deutschland CD-R, Grade A ,90 Deutschland CD-R, Grade A ,18 Deutschland CD-R, Grade A ,18 _ Business Intelligence Beispiel 8 illustriert sehr schön, dass es unterschiedliche Möglichkeiten gibt, die neuen Zeilen zu berechnen. Es ist aber zu beachten, dass durch das MODEL-Statement die Daten keineswegs in die Datenbank eingefügt werden. Es handelt sich nach wie vor um ein SELECT-Statement, das lediglich um eine MODEL- Klausel zur Neuberechnung erweitert wurde. Regelmodi Das Model-Konzept basiert auf einer geeigneten Definition von Regeln. Für jede Regel kann zwischen drei Modi gewählt werden: INSERT, UPDATE oder UPSERT. INSERT bedeutet, dass der neue Satz gemäß der Regel nur dann erstellt wird, sofern es noch keinen solchen gab. UPDATE wendet die Regel nur an, wenn es den Satz schon gab. UPSERT (der Default-Fall) führt fallabhängig zu einem Insert oder Update.

7 Im obigen Statement ist z.b. sales['bounce', 2002] äquivalent zu UPSERT sales['bounce', 2002]. Auch hier ist zu beachten, dass in die Tabelle physikalisch kein Satz eingefügt oder dort eine Änderung durchgeführt wird! Wildcards in Regeln In den Regeln sind Wildcards möglich: sales[any, 2002] = sales['bounce', 2001] + sales['bounce', 2000] Kombination von Regeln Und es können Regeln kombiniert werden: sales[country in ('Deutschland', 'USA'), 2002] = sales[cv(country), 2001] + sales[cv(country), 2000] Dabei liefert die Funktion CV stets den aktuellen Wert der linken Seite der Regel. Ausführungsreihenfolge der Regeln Für die Ausführung der Regeln kann eine Reihenfolge erzwungen werden: RULES AUTOMATIC ORDER {sales['bounce', 2002] = sales['bounce', 2001] + sales['bounce', 2000] sales['bounce', 2001] = sales['bounce', 2000] = sales['bounce', 1999]} In diesem Beispiel werden die drei Regeln der Reihe nach abgearbeitet, da sie inhaltlich voneinander abhängig sind. Oracle ermittelt die Reihenfolge gemäß der Abhängigkeit. Wird an Stelle von AUTOMATIC SEQUENTIAL verwendet, wird die Regel in der angegebenen Reihenfolge abgearbeitet. PRESENTV Mit der Funktion PRESENTV kann geprüft werden, ob eine Zelle im Datenbestand vorhanden ist oder nicht. In Abhängigkeit vom Ergebnis wird dann ein bestimmter Wert zurückgegeben: PRESENTV(sales['CD Hülle', 2000], 1,01*sales['CD Hülle', 2000], sales['cd Hülle', 1999]) Ist für das Produkt CD-Hülle und das Jahr 2000 ein Wert vorhanden, wird der Wert mit 1,01 multipliziert, ansonsten wird der Wert des Jahres 1999 zurückgeliefert. FOR-Schleifen Mit FOR-Schleifen ist es möglich, mehrere Regeln zusammenzufassen: sales[for product in ('Schaukel', 'Tafel', 'Ball'), FOR year in (2001, 2002, 2003, 2004)] = 1.01*sales[CV(product), CV(year)-1] In diesem Fall werden für die drei Produkte für die Jahre 2001 bis 2004 jeweils die Werte für den Absatz um 1 Prozent gegenüber dem jeweiligen Vorjahr erhöht. Um die Angabe einer festen Liste in der FOR-Klausel zu umgehen, kann man dort auch eine Unteranfrage definieren und somit für große Datenmengen mit relativ wenig Programmieraufwand Vorausberechnungen anstellen. Iterative Modelle Mit iterativen Modellen ist es möglich, Regeln in einer MODEL-Klausel iterativ, also mehrfach, auszuführen: RULES ITERATE(10) (sales['schreibtisch', ITERATION_NUMBER] = ROUND(110*sales['Schreibtisch', ITERATION_NUMBER])/100) Mit dieser Regel werden die Umsätze für das Produkt Schreibtisch beginnend mit dem Jahr 1999 für zehn Jahre mit einer jährlichen Umsatzsteigerung von 10 Prozent festgeschrieben.

8 18. Deutsche ORACLE-Anwenderkonferenz 5 Schlussbetrachtung Im vorliegenden Beitrag wurden anhand einfacher Beispiele Möglichkeiten zur analytischen Datenverarbeitung in Oracle 10g dargestellt. Dem Entwickler stehen vielfältige Funktionen zur Programmierung mächtiger Analyse-, Planungs- und Forecasting-Applikationen zur Verfügung. In der Vergangenheit konnten vergleichbare Applikationen nur auf multidimensionalen Datenmodellen implementiert werden, wie sie Oracle Express oder heute der Analytical Workspace bieten. Die neuen Funktionen sind somit eine elegante Möglichkeit, analytische Funktionen in operative Anwendungen einzubetten. Aber Vorsicht: Im praktischen Einsatz führt die Anwendung der Funktionen nicht selten zu ganz erheblichen Performance-Problemen. Bewährt haben sich in solchen Fällen Materialized Views, die bereits beim Datenbankentwurf mit berücksichtigt werden sollten. Kontaktadresse: Dipl.-Informatiker Sebastian Graf Principal Senior Consultant PROMATIS software GmbH Pforzheimer Strasse Ettlingen Telefon: +49(0) Fax: +49(0) sebastian.graf@promatis.de Internet: Business Intelligence

Berechnung von Kennzahlen mit der SQL Model Clause

Berechnung von Kennzahlen mit der SQL Model Clause Berechnung von Kennzahlen mit der Thomas Mauch 12.07.2018 DOAG BASEL BERN LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. HAMBURG MÜNCHEN STUTTGART WIEN 1 AGENDA 1. Einführung 2. Syntax 3. Performance

Mehr

Fortgeschrittene OLAP Analysemodelle

Fortgeschrittene OLAP Analysemodelle Fortgeschrittene OLAP Analysemodelle Jens Kübler Imperfektion und erweiterte Konzepte im Data Warehousing 2 Grundlagen - Datenanalyse Systemmodell Datenmodell Eingaben System Schätzer Datentypen Datenoperationen

Mehr

Einleitung. ROLLUP, CUBE und GROUPING. Markus Jägle (markus.jaegle@trivadis.com) Art der Info Technische Background Info (April 2002)

Einleitung. ROLLUP, CUBE und GROUPING. Markus Jägle (markus.jaegle@trivadis.com) Art der Info Technische Background Info (April 2002) Betrifft Autör: GROUPING_ID Markus Jägle (markus.jaegle@trivadis.com) Art der Info Technische Background Info (April 2002) Quelle Aus dem Oracle9i Data Warehousing Guide und den Kursen New Features Oracle9i

Mehr

Model Klausel - Der Excel-Killer von Oracle?

Model Klausel - Der Excel-Killer von Oracle? Model Klausel - Der Excel-Killer von Oracle? Andrea Kennel Trivadis AG Glattbrugg, Schweiz Schlüsselworte: Model Klausel, SQL, Data Warehousing, OLAP Zusammenfassung Ein Data Mart kann als ein Würfel mit

Mehr

Zellenbasierende Berechnungen und Spreadsheets in Oracle 10g

Zellenbasierende Berechnungen und Spreadsheets in Oracle 10g Zellenbasierende Berechnungen und Spreadsheets in Oracle 10g Marc Bastien ORACLE Deutschland GmbH Geschäftstelle Hamburg Schlüsselworte OLAP, Spreadsheet, Model, Cell-Based-Access, Inter-Row Calculations

Mehr

Oracle Analytic SQL. o Anderer Name: Window functions o Ab 8i o Einfache Ansätze für komplexe Problemstellungen. o Anwendung:

Oracle Analytic SQL. o Anderer Name: Window functions o Ab 8i o Einfache Ansätze für komplexe Problemstellungen. o Anwendung: 1 Analytic SQL Oracle Analytic SQL Anderer Name: Windw functins Ab 8i Einfache Ansätze für kmplexe Prblemstellungen Mit Standard-SQL meist nicht der nicht elegant zu lösen Effizientere Abarbeitung als

Mehr

1 Vorstellung Kursbeispiel

1 Vorstellung Kursbeispiel 1 Vorstellung Kursbeispiel Dieses Kapitel basiert auf den datenbanktheoretischen Grundlagen des Kapitel 1 und stellt die im Kurs verwendete Testdatenbank vor. Weiterhin soll grob skizziert werden, wie

Mehr

Es geht also im die SQL Data Manipulation Language.

Es geht also im die SQL Data Manipulation Language. 1 In diesem Abschnitt wollen wir uns mit den SQL Befehlen beschäftigen, mit denen wir Inhalte in Tabellen ( Zeilen) einfügen nach Tabelleninhalten suchen die Inhalte ändern und ggf. auch löschen können.

Mehr

SQL Data Manipulation Language (DML) und Query Language (QL)

SQL Data Manipulation Language (DML) und Query Language (QL) Innsbruck Information System University of Innsbruck School of Management Information Systems Universitätsstraße 15 6020 Innsbruck SQL Data Manipulation Language (DML) und Query Language (QL) Universität

Mehr

insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle

insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle Einführung in SQL insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle Quelle Wikipedia, 3.9.2015 SQL zur Kommunikation mit dem DBMS SQL ist

Mehr

12 BG EDV Access / Inf-SQL1 Theodor-Heuss-Schule Wetzlar

12 BG EDV Access / Inf-SQL1 Theodor-Heuss-Schule Wetzlar Abfragen aus einer Tabelle mit Hilfe der Datenbank-Sprache SQL SQL (Structured Query Language) ist eine Computersprache zum Speichern, Bearbeiten und Abfragen von Daten in relationalen Datenbanken. Eine

Mehr

Übersicht der wichtigsten MySQL-Befehle

Übersicht der wichtigsten MySQL-Befehle Übersicht der wichtigsten MySQL-Befehle 1. Arbeiten mit Datenbanken 1.1 Datenbank anlegen Eine Datenbank kann man wie folgt erstellen. CREATE DATABASE db_namen; 1.2 Existierende Datenbanken anzeigen Mit

Mehr

Inhaltsverzeichnis. Vorwort... 11

Inhaltsverzeichnis. Vorwort... 11 Vorwort.................................................. 11 1 Das Problem mit dem Problem.............................. 13 1.1 SQL Die Sprache des Orakels.............................. 14 1.2 Die ersten

Mehr

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. MySQL-Befehle 1. Einleitung In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. 2. Arbeiten mit Datenbanken 2.1 Datenbank anlegen Eine Datenbank kann man wie folgt

Mehr

SQL-Sprachvielfalt. Peter Willadt (Ludwig-Erhard-Schule) SQL-Befehle / 47

SQL-Sprachvielfalt. Peter Willadt (Ludwig-Erhard-Schule) SQL-Befehle / 47 SQL-Sprachvielfalt DML Data Manipulation Language: Daten einfügen, ändern und löschen DQL Data Query Language: Daten abfragen DDL Data Definition Language: Tabellen und andere Strukturelemente erzeugen,

Mehr

Business Intelligence & Reporting. Michael Cordes Holger Oehring Matthias Rein

Business Intelligence & Reporting. Michael Cordes Holger Oehring Matthias Rein Business Intelligence & Reporting Michael Cordes Holger Oehring Matthias Rein Ziele Einführung Business Intelligence / Front Room Online Analytical Processing (OLAP) Arten des Reporting & Nutzergruppen

Mehr

Datenbanken Unit 9: OLAP, OLTP, Data Warehouse Ranking Algorithmen

Datenbanken Unit 9: OLAP, OLTP, Data Warehouse Ranking Algorithmen Datenbanken Unit 9: OLAP, OLTP, Data Warehouse Ranking Algorithmen 28. V. 2018 Outline 1 Organisatorisches 2 OLTP, OLAP, SAP, and Data Warehouse OLTP and OLAP SAP 3 Ranking 4 SQL Organisatorisches Ergebnisse

Mehr

3 Query Language (QL) Einfachste Abfrage Ordnen Gruppieren... 7

3 Query Language (QL) Einfachste Abfrage Ordnen Gruppieren... 7 1 Data Definition Language (DDL)... 2 1.1 Tabellen erstellen... 2 1.1.1 Datentyp...... 2 1.1.2 Zusätze.... 2 1.2 Tabellen löschen... 2 1.3 Tabellen ändern (Spalten hinzufügen)... 2 1.4 Tabellen ändern

Mehr

Analytic Views: Einsatzgebiete im Data Warehouse

Analytic Views: Einsatzgebiete im Data Warehouse Analytic Views: Einsatzgebiete im Data Warehouse Dani Schnider Trivadis AG Zürich/Glattbrugg, Schweiz Einleitung Analytic Views sind eine der wesentlichen Erweiterungen in Oracle 12c Release 2. Durch zusätzliche

Mehr

Anfragen an multidimensionale Daten

Anfragen an multidimensionale Daten Anfragen an multidimensionale Daten Alexander Heidrich - BID8 09.06.2005 Hintergrundbild: http://www.csc.calpoly.edu/~zwood/teaching/csc471/finalproj02/afternoon/mfouquet/cube.jpg Inhaltsübersicht Motivation

Mehr

Online Kurse Modulbeschreibungen

Online Kurse Modulbeschreibungen Online Kurse Modulbeschreibungen K0100 SQL Basics M0101 DB Theorie Dieses Modul führt in die Thematik von Datenbanken und deren grundlegenden Begriffen und Konzepten ein. Es werden Fragen beantwortet,

Mehr

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski. www.iit.tu-cottbus.de

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski. www.iit.tu-cottbus.de 08 Datenbanken Übung SQL Einführung Eckbert Jankowski www.iit.tu-cottbus.de Datenmodell (Wiederholung, Zusammenfassung) Objekte und deren Eigenschaften definieren Beziehungen zwischen den Objekten erkennen/definieren

Mehr

SQL als ETL Tool. DOAG Konferenz Nürnberg 2014 Christian König, CGI Business Intelligence Expert 18. November CGI Group Inc.

SQL als ETL Tool. DOAG Konferenz Nürnberg 2014 Christian König, CGI Business Intelligence Expert 18. November CGI Group Inc. SQL als ETL Tool DOAG Konferenz Nürnberg 2014 Christian König, CGI Business Intelligence Expert 18. November 2014 CGI Group Inc. Referent: Christian König Business Intelligence Expert, CGI (Germany) GmbH

Mehr

GROUP BY, HAVING und Sichten

GROUP BY, HAVING und Sichten GROUP BY, HAVING und Sichten Tutorübungen 09/33 zu Grundlagen: Datenbanken (WS 14/15) Michael Schwarz Technische Universität München 11.11 / 12.11.2014 1/12 GROUP BY HAVING Sichten Eine Tabelle studenten

Mehr

Abfragen (Queries, Subqueries)

Abfragen (Queries, Subqueries) Abfragen (Queries, Subqueries) Grundstruktur einer SQL-Abfrage (reine Projektion) SELECT [DISTINCT] {* Spaltenname [[AS] Aliasname ] Ausdruck} * ; Beispiele 1. Auswahl aller Spalten SELECT * ; 2. Auswahl

Mehr

Oracle OLAP 11g: Performance für das Oracle Data Warehouse

Oracle OLAP 11g: Performance für das Oracle Data Warehouse Oracle OLAP 11g: Performance für das Oracle Data Warehouse Marc Bastien Oracle BI Presales Agenda Performanceprobleme in Oracle DWH: gibt s das überhaupt? Mögliche Gründe und Lösungen

Mehr

Datenbank und Tabelle mit SQL erstellen

Datenbank und Tabelle mit SQL erstellen Datenbank und Tabelle mit SQL erstellen 1) Übung stat Mit dem folgenden Befehlen legt man die Datenbank stat an und in dieser die Tabelle data1 : CREATE DATABASE stat; USE stat; CREATE TABLE data1 ( `id`

Mehr

mit konventionellen Datenbanksystemen konventionellen Datenbanksystemen

mit konventionellen Datenbanksystemen konventionellen Datenbanksystemen Stream-Verwaltung mit konventionellen Datenbanksystemen Christian Rensch.06.005 Seminar Data Streams Thema Verwaltung von Datenströmen in konventionellen Datenbanksystemen optimiert auf Daten geringer

Mehr

Datenbanksysteme Kapitel 5: SQL - Grundlagen

Datenbanksysteme Kapitel 5: SQL - Grundlagen Datenbanksysteme Kapitel 5: SQL - Grundlagen Prof. Dr. Peter Chamoni Mercator School of Management Lehrstuhl für Wirtschaftsinformatik, insb. Business Intelligence Prof. Dr. Prof. Peter Dr. Chamoni Peter

Mehr

Data Cube. 1. Einführung. 2. Aggregation in SQL, GROUP BY. 3. Probleme mit GROUP BY. 4. Der Cube-Operator. 5. Implementierung des Data Cube

Data Cube. 1. Einführung. 2. Aggregation in SQL, GROUP BY. 3. Probleme mit GROUP BY. 4. Der Cube-Operator. 5. Implementierung des Data Cube Data Cube 1. Einführung 2. Aggregation in SQL, GROUP BY 3. Probleme mit GROUP BY 4. Der Cube-Operator 5. Implementierung des Data Cube 6. Zusammenfassung und Ausblick Dank an Hanna Köpcke! 1 On-line Analytical

Mehr

Datenbanksysteme Kapitel 5: SQL Grundlagen Teil 1

Datenbanksysteme Kapitel 5: SQL Grundlagen Teil 1 Datenbanksysteme Kapitel 5: SQL Grundlagen Teil 1 Prof. Dr. Peter Chamoni Mercator School of Management Lehrstuhl für Wirtschaftsinformatik, insb. Business Intelligence Prof. Prof. Dr. Dr. Peter Peter

Mehr

Materialized Views. Jan-Peter Timmermann. DOAG Regiotreffen Hamburg: Materialized Views Seite 1

Materialized Views. Jan-Peter Timmermann. DOAG Regiotreffen Hamburg: Materialized Views Seite 1 Materialized Views Jan-Peter Timmermann DOAG Regiotreffen Hamburg: Materialized Views Seite 1 Klassische View Sind virtuelle Tabellen Erstellung nicht aufwendig, da nur ein Eintrag im Data Dictionary vorgenommen

Mehr

Anfragesprachen für On-Line Analytical Processing (OLAP)

Anfragesprachen für On-Line Analytical Processing (OLAP) Anfragesprachen für On-Line Analytical Processing (OLAP) Seminar Business Intelligence Teil I: OLAP & Data Warehousing René Rondot rondot@informatik.uni-kl.de Universität Kaiserslautern Anfragesprachen

Mehr

Universität Augsburg, Institut für Informatik WS 2008/2009 Prof. Dr. W. Kießling 23. Nov Dr. A. Huhn, M. Endres, T. Preisinger Lösungsblatt 5

Universität Augsburg, Institut für Informatik WS 2008/2009 Prof. Dr. W. Kießling 23. Nov Dr. A. Huhn, M. Endres, T. Preisinger Lösungsblatt 5 Universität Augsburg, Institut für Informatik WS 2008/2009 Prof. Dr. W. Kießling 23. Nov. 2007 Dr. A. Huhn, M. Endres, T. Preisinger Lösungsblatt 5 Aufgabe 1: SQL-Queries Datenbanksysteme I a) Geben Sie

Mehr

Vorlesung Wissensentdeckung in Datenbanken

Vorlesung Wissensentdeckung in Datenbanken Vorlesung Wissensentdeckung in Datenbanken Data Cube Katharina Morik, Uwe Ligges Informatik LS 8 22.04.2010 1 von 26 Gliederung 1 Einführung 2 Aggregation in SQL, GROUP BY 3 Probleme mit GROUP BY 4 Der

Mehr

SQL. SQL SELECT Anweisung SQL-SELECT SQL-SELECT

SQL. SQL SELECT Anweisung SQL-SELECT SQL-SELECT SQL SQL SELECT Anweisung Mit der SQL SELECT-Anweisung werden Datenwerte aus einer oder mehreren Tabellen einer Datenbank ausgewählt. Das Ergebnis der Auswahl ist erneut eine Tabelle, die sich dynamisch

Mehr

SELECT dient dazu, aus einer vorhandenen Datenbank bestimmte Spalten und Zeilen auszugeben es handelt sich also um eine Auswahlabfrage.

SELECT dient dazu, aus einer vorhandenen Datenbank bestimmte Spalten und Zeilen auszugeben es handelt sich also um eine Auswahlabfrage. SELECT-FROM SELECT dient dazu, aus einer vorhandenen Datenbank bestimmte Spalten und Zeilen auszugeben es handelt sich also um eine Auswahlabfrage. Inhaltsverzeichnis 1 Der grundlegende Aufbau 2 Doppelte

Mehr

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo. Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten

Mehr

Analysemöglichkeiten mit SQL:

Analysemöglichkeiten mit SQL: Analysemöglichkeiten mit SQL: Mehr als SUM und GROUP BY Carsten Czarski ORACLE Deutschland B.V. & Co KG Analysemöglichkeiten mit SQL: Mehr als SUM und GROUP BY Aggregatsfunktionen:

Mehr

Welche Kunden haben die gleiche Ware bestellt? select distinct a1.name, a2.name from Auftrag a1, Auftrag a2 where a1.ware = a2.ware.

Welche Kunden haben die gleiche Ware bestellt? select distinct a1.name, a2.name from Auftrag a1, Auftrag a2 where a1.ware = a2.ware. *HVFKDFKWHOWH$QIUDJHQ In einer SQL-Anweisung können in der where-klausel, from-klausel, select-klausel wieder SQL-Anweisungen auftreten. Man spricht dann auch von einer geschachtelten Anfrage oder Unteranfrage.

Mehr

ARBEITSBLATT ZUR SQL-BEFEHLEN

ARBEITSBLATT ZUR SQL-BEFEHLEN Gegeben ist die folgende Datenbank: ARBEITSBLATT ZUR SQL-BEFEHLEN In einer Firma gibt es Mitarbeiter. Jeder Mitarbeiter ist eindeutig einer Abteilung zugeordnet. Manche Mitarbeiter sind an einem Projekt

Mehr

Introduction to Data and Knowledge Engineering. 6. Übung SQL

Introduction to Data and Knowledge Engineering. 6. Übung SQL Introduction to Data and Knowledge Engineering 6. Übung SQL Aufgabe 6.1 Datenbank-Schema Buch PK FK Autor PK FK ISBN Titel Preis x ID Vorname Nachname x BuchAutor ISBN ID PK x x FK Buch.ISBN Autor.ID FB

Mehr

Index- und Zugriffsstrukturen für. Holger Brämer, 05IND-P

Index- und Zugriffsstrukturen für. Holger Brämer, 05IND-P Index- und Zugriffsstrukturen für Data Warehousing Holger Brämer, 05IND-P Index- und Zugriffstrukturen für Data Warehousing Materialisierte Sichten Bitmap-Indexe Verbundindexe Materialisierte Sichten gehören

Mehr

Vorlesung Wissensentdeckung in Datenbanken

Vorlesung Wissensentdeckung in Datenbanken Gliederung Vorlesung Wissensentdeckung in Datenbanken Data Cube Katharina Morik, Claus Weihs 14.07.2009 1 Einführung 2 Aggregation in SQL, GROUP BY 3 Probleme mit GROUP BY 4 Der Cube-Operator 5 Implementierung

Mehr

Aggregatfunktionen in SQL

Aggregatfunktionen in SQL Aggregatfunktionen in SQL Michael Dienert 14. April 2008 1 Definition von Aggregatfunktionen Ihren Namen haben die Aggregatfunktionen vom englischen Verb to aggregate, was auf deutsch anhäufen, vereinigen,

Mehr

Die bisher bereits bekannten Aggregatsfunktionen MIN, MAX, SUM, AVG, COUNT, VARIANCE und STDDEV wurden um FIRST und LAST erweitert.

Die bisher bereits bekannten Aggregatsfunktionen MIN, MAX, SUM, AVG, COUNT, VARIANCE und STDDEV wurden um FIRST und LAST erweitert. Betrifft Autor FIRST, LAST Markus Jägle (markus.jaegle@trivadis.com) Art der Info Technische Background Info (April 2002) Quelle Aus dem NF9i-Kurs, NF9i-Techno-Circle der Trivadis und Oracle9i Data Warehousing

Mehr

Data Cubes PG Wissensmangement Seminarphase

Data Cubes PG Wissensmangement Seminarphase PG 402 - Wissensmangement Seminarphase 23.10.2001-25.10.2001 Hanna Köpcke Lehrstuhl für Künstliche Intelligenz Universität Dortmund Übersicht 1. Einführung 2. Aggregation in SQL, GROUP BY 3. Probleme mit

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Übung zur Vorlesung Einsatz und Realisierung von Datenbanksystemen im SoSe18 Alexander van Renen, Maximilian

Mehr

Rückblick. SQL bietet viele Möglichkeiten zur Anfrageformulierung

Rückblick. SQL bietet viele Möglichkeiten zur Anfrageformulierung Rückblick SQL bietet viele Möglichkeiten zur Anfrageformulierung mathematische Funktionen (z.b. ABS(A) und SIGN(A)) Aggregatfunktionen (z.b. MIN(A) und SUM(A)) Boole sche Operatoren (AND, OR, EXCEPT) Verknüpfungen

Mehr

Optimale Performance durch Constraints im Data Warehouse

Optimale Performance durch Constraints im Data Warehouse Optimale Performance durch Constraints im Data Warehouse DOAG Konferenz, 17. November 2016 Dani Schnider, Trivadis AG @dani_schnider BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENF HAMBURG

Mehr

SQL. DDL (Data Definition Language) Befehle und DML(Data Manipulation Language)

SQL. DDL (Data Definition Language) Befehle und DML(Data Manipulation Language) SQL DDL (Data Definition Language) Befehle und DML(Data Manipulation Language) DML(Data Manipulation Language) SQL Abfragen Studenten MatrNr Name Vorname Email Age Gruppe 1234 Schmidt Hans schmidt@cs.ro

Mehr

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language:

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language: SQL Structured Query Language: strukturierte Datenbankabfragesprache eine Datenbanksprache zur Definition, Abfrage und Manipulation von Daten in relationalen Datenbanken In der SQL-Ansicht arbeiten In

Mehr

ZWISCHEN ALBTRAUM UND OPTIMALER PERFORMANCE

ZWISCHEN ALBTRAUM UND OPTIMALER PERFORMANCE ZWISCHEN ALBTRAUM UND OPTIMALER PERFORMANCE Indexierungsstrategie im Data Warehouse Dani Schnider, Trivadis AG DOAG Konferenz, Nürnberg BASEL BERN LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR.

Mehr

Kleine Helferlein. Jens Behring its-people. Copyright its-people

Kleine Helferlein. Jens Behring its-people. Copyright its-people Jens Behring its-people Werbung Agenda Werbung Vorstellung Jens Behring its-people Vorstellung des Vortragsthemas Analytische Funktionen Reguläre Ausdrücke Count Listagg Rank Lead / Lag Werbung Agenda

Mehr

Grundlagen von SQL. Informatik 2, FS18. Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich

Grundlagen von SQL. Informatik 2, FS18. Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich Grundlagen von SQL Informatik 2, FS18 Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich Markus Dahinden 13.05.18 1 Grundlagen von SQL (Structured Query Language)

Mehr

ACCESS SQL ACCESS SQL

ACCESS SQL ACCESS SQL ACCESS SQL Datenbankabfragen mit der Query-Language ACCESS SQL Datenbankpraxis mit Access 34 Was ist SQL Structured Query Language Bestehend aus Datendefinitionssprache (DDL) Datenmanipulationssprache

Mehr

Merge und andere schnelle Statements

Merge und andere schnelle Statements Merge und andere schnelle Statements Dr. Andrea Kennel InfoPunkt Kennel GmbH CH-8600 Dübendorf Schlüsselworte: Merge, Multitable Insert, Analytische Funktionen, hilfreiche Befehle für DWH und ETL Einleitung

Mehr

5/14/18. Grundlagen von SQL. Grundlagen von SQL. Google, Facebook und Co. setzen auf SQL. Whatsapp

5/14/18. Grundlagen von SQL. Grundlagen von SQL. Google, Facebook und Co. setzen auf SQL. Whatsapp 5/14/18 Grundlagen von SQL (Structured Query Language) Datenbanksprache Befehle Datenbanken und Tabellen erstellen/verändern Daten manipulieren (eingeben, ändern, löschen) Datenbank durchsuchen (Queries

Mehr

SQL als Zugriffssprache

SQL als Zugriffssprache SQL als Zugriffssprache Der Select Befehl: Aufbau Select- und From-Klausel Where-Klausel Group-By- und Having-Klausel Union Join-Verbindung Order-By-Klausel Der Update-Befehl Der Delete-Befehl Der Insert-Befehl

Mehr

Wir bauen uns ein Data Warehouse mit MySQL

Wir bauen uns ein Data Warehouse mit MySQL Wir bauen uns ein Data Warehouse mit MySQL Oli Sennhauser FromDual GmbH Uster / Schweiz Schlüsselworte MySQL, DWH, Data Warehouse, ETL, BI, Business Intelligence, OLAP Einleitung MySQL Datenbanken verbreiten

Mehr

Multidimensionale Modellierung

Multidimensionale Modellierung Multidimensionale Modellierung Vorlesung: Übung: Patrick Schäfer Berlin, 27. November 2017 patrick.schaefer@hu-berlin.de https://hu.berlin/vl_dwhdm17 https://hu.berlin/ue_dwhdm17 Grundlagen Fakten (Kennzahlen/Messgrößen):

Mehr

Business Intelligence

Business Intelligence Hochschule Darmstadt Business Intelligence Fachbereich Informatik Praktikumsaufgabe 3 Prof. Dr. C. Wentzel Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.06.2007 Business Intelligence Aufgabenstellung 1.

Mehr

Firebird-3-Vorschau Teil 3

Firebird-3-Vorschau Teil 3 Die neuen analytischen Funktionen und deren Anwendung -3-Vorschau Teil 3 Im dritten Teil dieser -3-Artikelreihe beschäftigen wir uns mit den hinzugekommenen SQL-Spracherweiterungen zur einfacheren Beantwortung

Mehr

Globale Statistiken im Oracle Data Warehhouse

Globale Statistiken im Oracle Data Warehhouse Globale Statistiken im Oracle Data Warehhouse Dani Schnider Principal Consultant 29. Januar 2012 Aktuelle und vollständige Optimizer-Statistiken sind Voraussetzung für die Ermittlung von guten Execution

Mehr

27 Transact-SQL-Erweiterungen in Bezug auf Analysis Services

27 Transact-SQL-Erweiterungen in Bezug auf Analysis Services 531 27 Transact-SQL-Erweiterungen in Bezug auf Analysis Services Im zweiten Teil dieses Buches haben wir die Eigenschaften der Transact-SQL- Sprache in Bezug auf die Bearbeitung von operativen Daten gezeigt.

Mehr

Erstellung von multidimensionalen Würfeln

Erstellung von multidimensionalen Würfeln Donnerstag, 10. November 2005 14h00, Variohalle 2 Erstellung von multidimensionalen Würfeln César Ortiz ORACLE Deutschland GmbH Schlüsselworte: OLAP, Business Intelligence, DWH, Analytic Workspace Manager

Mehr

Oracle 10g Einführung

Oracle 10g Einführung Kurs Oracle 10g Einführung Teil 5 Einführung Timo Meyer Administration von Oracle-Datenbanken Timo Meyer Sommersemester 2006 Seite 1 von 16 Seite 1 von 16 Agenda 1 Tabellen und Views erstellen 2 Indizes

Mehr

SQL. Ziele. Grundlagen von SQL. Beziehung zur relationalen Algebra SELECT, FROM, WHERE. Joins ORDER BY. Aggregatfunktionen. dbis.

SQL. Ziele. Grundlagen von SQL. Beziehung zur relationalen Algebra SELECT, FROM, WHERE. Joins ORDER BY. Aggregatfunktionen. dbis. SQL Lehr- und Forschungseinheit Datenbanken und Informationssysteme Ziele Grundlagen von SQL Beziehung zur relationalen Algebra SELECT, FROM, WHERE Joins ORDER BY Aggregatfunktionen Lehr- und Forschungseinheit

Mehr

Datenbanksysteme 2009

Datenbanksysteme 2009 Datenbanksysteme 2009 Kapitel 17: Data Warehouse Oliver Vornberger Institut für Informatik Universität Osnabrück 1 OLTP versus OLAP OLTP (Online Transaction Processing) z.b. Flugreservierung, Handelsunternehmen

Mehr

PRG2 Folien Zicari Teil 5. Einführung in Datenbanken SS 2007

PRG2 Folien Zicari Teil 5. Einführung in Datenbanken SS 2007 PRG2 Folien Zicari Teil 5 Einführung in Datenbanken SS 2007 Prof. Dott. Ing. Roberto Zicari Johann Wolfgang Goethe-Universität Frankfurt am Main PRG2 V-1 Fachbereich Informatik und Mathematik SQL SQL =

Mehr

SQL: Abfragen für einzelne Tabellen

SQL: Abfragen für einzelne Tabellen Musterlösungen zu LOTS SQL: Abfragen für einzelne Tabellen Die Aufgaben lösen Sie mit dem SQL-Training-Tool LOTS der Universität Leipzig: http://lots.uni-leipzig.de:8080/sql-training/ Wir betrachten für

Mehr

Teil II: Architektur eines Data-Warehouse-Systems... 57

Teil II: Architektur eines Data-Warehouse-Systems... 57 O:/Wiley/Reihe_Dummies/9783527714476_Gerken/3d/ftoc.3d from 08.08.2018 14:02:02 Auf einen Blick Einleitung... 19 Teil I: Was ist ein Data Warehouse?... 25 Kapitel 1: Ein Beispiel zur Einführung..... 27

Mehr

Oracle 10g Einführung

Oracle 10g Einführung Kurs Oracle 10g Einführung Teil 6 Vertiefung Relationale Algebra Anzeigen von Daten aus mehreren Tabellen Timo Meyer Administration von Oracle-Datenbanken Timo Meyer Sommersemester 2006 Seite 1 von 22

Mehr

Datenbanken Unit 9: OLAP, OLTP und objektrelationale Datenbanken

Datenbanken Unit 9: OLAP, OLTP und objektrelationale Datenbanken Datenbanken Unit 9: OLAP, OLTP und objektrelationale Datenbanken 31. V. 2016 Outline 1 Organisatorisches 2 SQL 3 OLTP, OLAP, SAP, and Data Warehouse OLTP and OLAP SAP 4 Objekt-relationale Datenbanken Beispiel

Mehr

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar Qt-Seminar Dienstag, 10.2.2009 SQL ist......die Abkürzung für Structured Query Language (früher sequel für Structured English Query Language )...ein ISO und ANSI Standard (aktuell SQL:2008)...eine Befehls-

Mehr

Tabellen verknüpfen: Joins

Tabellen verknüpfen: Joins SQL2-1 - Tabellen verknüpfen: Joins Bisher haben wir Tabellen mittels Unterabfragen verknüpft d. h. eine Spalte einer anderen Tabelle kann ein Selektionskriterium liefern. Wie kann man aber eine "echte"

Mehr

Oracle Analytic Functions

Oracle Analytic Functions Mittwoch, 13.02.2008, 17:00 Uhr Regionaltreffen München/Südbayern Oracle Analytic Functions Seit Jahren auf dem Markt (8.1.6), jedoch unbekannt und selten im Einsatz S e i t e 1 Agenda Einsatzmöglichkeiten

Mehr

Business Intelligence Praktikum 1

Business Intelligence Praktikum 1 Hochschule Darmstadt Business Intelligence SS 2014 Fachbereich Informatik Praktikumsversuch 1 Prof. Dr. C. Wentzel Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 07.05.2014 Business Intelligence Praktikum

Mehr

Developing SQL Data Models MOC 20768

Developing SQL Data Models MOC 20768 Developing SQL Data Models MOC 20768 In diesem Kurs lernen Sie das Implementieren von multidimensionale Datenbanken mithilfe der SQL Server Analysis Services (SSAS) und durch das Erstellen von tabellarische

Mehr

Datenbanksysteme Kapitel 5: SQL Data Manipulation Language

Datenbanksysteme Kapitel 5: SQL Data Manipulation Language Datenbanksysteme Kapitel 5: SQL Data Manipulation Language Prof. Dr. Peter Chamoni Mercator School of Management Lehrstuhl für Wirtschaftsinformatik, insb. Business Intelligence Prof. Dr. Peter Chamoni

Mehr

Themenblock: Erstellung eines Cube

Themenblock: Erstellung eines Cube Themenblock: Erstellung eines Cube Praktikum: Data Warehousing und Data Mining Einführung relationale Datenbanken Problem Verwaltung großer Mengen von Daten Idee Speicherung der Daten in Form von Tabellen

Mehr

SQL: Weitere Funktionen

SQL: Weitere Funktionen Vergleich auf Zeichenketten SQL: Weitere Funktionen LIKE ist ein Operator mit dem in Zeichenketten andere Zeichenketten gesucht werden; zwei reservierte Zeichen mit besonderer Bedeutung sind hier % (manchmal

Mehr

SQL mit ORACLE. Wolf-Michael Kahler

SQL mit ORACLE. Wolf-Michael Kahler Wolf-Michael Kahler SQL mit ORACLE Eine aktuelle Einfuhrung in die Arbeit mit relationalen und objektrelationalen Datenbanken unter Einsatzvon ORACLE Express Mit 311 Abbildungen 3., aktualisierte und erweiterte

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 06 Übung zur Vorlesung Grundlagen: Datenbanken im WS16/17 Harald Lang, Linnea Passing (gdb@in.tum.de

Mehr

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird. Thomas Studer Relationale Datenbanken: Von den theoretischen Grundlagen zu Anwendungen mit PostgreSQL Springer, 2016 ISBN 978-3-662-46570-7 Dieser Foliensatz darf frei verwendet werden unter der Bedingung,

Mehr

Fachbereich Informatik Praktikum 1

Fachbereich Informatik Praktikum 1 Hochschule Darmstadt DATA WAREHOUSE SS2015 Fachbereich Informatik Praktikum 1 Prof. Dr. S. Karczewski Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 14.April.2015 1. Kurzbeschreibung In diesem Praktikum geht

Mehr

Nested Tables Types als Ergänzung zu Pivot XML

Nested Tables Types als Ergänzung zu Pivot XML Nested Tables Types als Ergänzung zu Pivot XML Thomas Strub Logica Deutschland GmbH & Co. KG Frankfurt Schlüsselworte Nested Tables, pivot, pivot xml, unpivot, collect, PL/SQL Einleitung Die Verknüpfung

Mehr

BIW - Überblick. Präsentation und Discoverer Demonstration - Teil 1 - Humboldt Universität zu Berlin am 10. Juni 2004

BIW - Überblick. Präsentation und Discoverer Demonstration - Teil 1 - Humboldt Universität zu Berlin am 10. Juni 2004 BIW - Überblick Präsentation und Discoverer Demonstration - Teil 1 - Humboldt Universität zu Berlin am 10. Juni 2004 Annegret Warnecke Senior Sales Consultant Oracle Deutschland GmbH Berlin Agenda Überblick

Mehr

Summarization-based Aggregation

Summarization-based Aggregation Summarization-based Aggregation Daten Generalisierung: Prozess, der Anwendungsdaten schrittweise von niedrigen auf höhere konzeptuelle Level aggregiert Conceptual levels 2 3 4 5 example: all federal states

Mehr

Datenmodellierung im Zeitalter agiler Softwareentwicklung

Datenmodellierung im Zeitalter agiler Softwareentwicklung Datenmodellierung im Zeitalter agiler Softwareentwicklung Sebastian Graf, PROMATIS software GmbH DOAG 2013, Nürnberg, 1 Agenda u Über den Referenten u Datenmodellierung Begriffsdefinition und Abgrenzung

Mehr

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel Anwendungsentwicklung Datenbanken SQL Stefan Goebel SQL Structured Query Language strukturierte Abfragesprache von ANSI und ISO standardisiert deklarativ bedeutet was statt wie SQL beschreibt, welche Daten

Mehr

Vorlesung Datenbankmanagementsysteme

Vorlesung Datenbankmanagementsysteme Vorlesung Datenbankmanagementsysteme SQL zur Datenanalyse & Einführung Online Analytical Processing (OLAP) (auf Basis von Oracle) Vorlesung Datenbankmanagementsysteme SQL zur Datenanalyse M. Lange, S.

Mehr

SQL-Befehlsliste. Vereinbarung über die Schreibweise

SQL-Befehlsliste. Vereinbarung über die Schreibweise Vereinbarung über die Schreibweise Schlüsselwort [optionale Elemente] Beschreibung Befehlsworte in SQL-Anweisungen werden fett und in Großbuchstaben geschrieben mögliche, aber nicht zwingend erforderliche

Mehr

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten Einführung in SQL Die Sprache SQL (Structured Query Language) ist eine Programmiersprache für relationale Datenbanksysteme, die auf dem ANSI-SQL-Standard beruht. SQL wird heute von fast jedem Datenbanksystem

Mehr

6.5 Workshop: Operationen auf dem Cube Multidimensional Expressions (MDX)

6.5 Workshop: Operationen auf dem Cube Multidimensional Expressions (MDX) 6.5 Workshop: Operationen auf dem Cube Multidimensional Expressions (MDX) Was ist MDX? Microsoft Terminologie im OLAP Bereich MDX Basiskonstrukte MDX weiterführende Konstrukte Fazit MDX.- 1 Was ist MDX?

Mehr

SQL - Datenbankdesign - Aufbau

SQL - Datenbankdesign - Aufbau SQL - Datenbankdesign - Aufbau Kompakt-Intensiv-Training Unsere fünftägige ANSI SQL Schulung vermittelt Ihnen alle nötigen Kenntnisse zur Erstellung von Datenauswertungen und Programmierung wiederkehrender

Mehr