Kapitel 9: Operationen auf dem Cube Multidimensional Expressions (MDX) Was ist MDX? MDX Queryinterface und API. Konzepte - Microsoft Terminologie

Größe: px
Ab Seite anzeigen:

Download "Kapitel 9: Operationen auf dem Cube Multidimensional Expressions (MDX) Was ist MDX? MDX Queryinterface und API. Konzepte - Microsoft Terminologie"

Transkript

1 Kapitel 9: Operationen auf dem Cube Multidimensional Expressions (MDX) Was ist MDX? Microsoft Terminologie im OLAP Bereich MDX Basiskonstrukte MDX weiterführende Konstrukte Fazit Was ist MDX? Ist SQL für OLAP genügend? Nicht bequem genug, unterstützt nicht die multidimensionale Sicht. Bisher hieß es, ein wichtiges Ziel seien intuitive Mechanismen für die Datenanalyse. Wieso brauchen wir jetzt eine komplexe Querysprache? Nicht jede Sicht läßt sich zusammenklicken, wie wir sehen werden. Man möchte Anwender vielleicht nicht immer mit generischem Interface belasten, sondern das Arbeiten durch Einschränkung auf spezielle anwendungsspezifische Interaktionsmöglichkeiten erleichtern. MDX ist kurz für Multidimensional Expressions, DDL und DML für multidimensionale Daten ( Definieren, Ändern und Abfragen ), MDX Microsoft-Entwicklung, Andere Hersteller von DBMSen/Data Warehouses (Oracle, SAP) bieten vergleichbare Anfragesprachen. Data Warehousing und Mining: MDX. 1 Data Warehousing und Mining: MDX. 2 MDX Queryinterface und API Konzepte - Microsoft Terminologie Query-Interface, mit dem im folgenden gearbeitet wird, illustriert nur das Querying. Query-Interface illustriert nicht den Zugriff über die Programmierschnittstelle, das Definieren von Hilfsstrukturen und das Wiederverwenden von Definitionen. Cubes Grundkonzept in OLAP multidimensionale Strukturen [maximal 64 Dimensionen] Dimensions Menge von Attributen, die Dimension sein können; sie können nicht Measures sein, Selektion über diese Attribute ist möglich, genau wie beim Microsoft OLAP-Browser, Dimension ist hierarchisch aufgebaut, private oder shared ( shared Dimension wurde für mehrere Cubes definiert) Data Warehousing und Mining: MDX. 3 Data Warehousing und Mining: MDX. 4

2 Konzepte - Microsoft Terminologie Hierarchien in einer Dimension - Erläuterung Measures Menge von Attributen, die nur Measures sein können (bis auf Spezialfälle), Measure ist eine spezielle Dimension in der MDX- Vorstellungswelt, flache Hierarchie Members Knoten der Hierarchie einer Dimension, vorgegeben vs. calculated, Beispiel: Halbjahr. Typ-Perspektive: Store Store Country Store State Store City Instanzen-Perspektive: Canada USA Mexico CA WA Store Name Data Warehousing und Mining: MDX. 5 Data Warehousing und Mining: MDX. 6 Data Warehousing und Mining: MDX. 7 Data Warehousing und Mining: MDX. 8

3 Sonderrolle der Measures in MDX Illustration für unsere erste MDX-Query Im allgemeinen hat man Vektor von Measures: SALES TIME Year Month Jan Feb Jan Feb CATEGORY Part City (Cost, Sale) PC Montreal (5,6) (5,7) (4,6) (4,8) Toronto (5,7) (5,8) (4,8) (4,9) Inkjet Montreal (7,8) (7,9) (6,9) (6,8) New York (6,9) (6,9) (5,8) (5,9) Location ( Store ) Location ( Store ) MDX behandelt Gesamtheit der möglichen Measures wie eine Dimension. CATEGORY Store Type Store Type Unit Sales Measure Sales Avg. Measure Cost Sale MEASURES TIME Data Warehousing und Mining: MDX. 9 Data Warehousing und Mining: MDX. 10 Beispiele, die Aufbau von MDX-Queries illustrieren Query, die Ausschnitt des Data Cubes mit _herkömmlichen_ Dimensionen definiert: SELECT {[Store Type].[Store Type].MEMBERS} ON COLUMNS, {[Store].[Store State].MEMBERS} ON ROWS WHERE (Measures.[Sales Average]) Measures ist spezielle Dimension im MDX-Kontext. Erläuterungen zum Aufbau der Ausdrücke in der SELECT-Klausel (vor ON COLUMNS bzw. ON ROWS ): Dimensionsname, gefolgt von Hierarchiebezeichnungen auf der Typebene (von oben nach unten), Hierarchiebezeichnungen auf der Typebene können ausgelassen werden (wenn eindeutig), Wiederholung des Dimensionsnamen, wenn keine richtige Hierarchie, Mengenklammern können hier weggelassen werden; werden gebraucht, wenn Ausschnitt in einer Dimension durch mehrere Ausdrücke definiert ist, eckige Klammern werden nur gebraucht, wenn Dimensionsname oder Hierarchiebezeichnung Leerzeichen enthält. Beispiel-Query von eben: SELECT {[Store Type].[Store Type].MEMBERS} ON COLUMNS, {[Store].[Store State].MEMBERS} ON ROWS WHERE (Measures.[Sales Average]) Erläuterungen: Query, die Ausschnitt des Data Cubes mit _herkömmlichen_ Dimensionen definiert (s. b. Abbildung links auf vorangegangener Folie), Auswahl des Measures erfolgt durch die WHERE-Klausel, mehrere Measures sind NICHT zulässig, d. h. MDX-Interpreter generiert keine integrierte Tabelle, Einschränkungen der Dimensionen sind möglich (Definitionsmöglichkeiten hierzu, die im folgenden vorgestellt werden, sind sehr mächtig), WHERE-Klausel kann weggelassen werden Default-Measure wird verwendet nicht empfehlenswert, wird im folgenden wegen Übersichtlichkeit trotzdem oft gemacht. Data Warehousing und Mining: MDX. 11 Data Warehousing und Mining: MDX. 12

4 Data Warehousing und Mining: MDX. 13 Data Warehousing und Mining: MDX. 14 Query, die verdeutlicht, daß Measures eine Dimension ist/ vorhin angesprochener Spezialfall : SELECT Measures.MEMBERS ON COLUMNS, [Store].MEMBERS ON ROWS Erläuterungen: Angenommen, man würde die folgende WHERE-Klausel dazunehmen: WHERE (Measures.[Unit Sales]) Fehler, da WHERE-Klausel und Achsenspezifikation unabhängig sein müssen. Dieser Zusatz macht die Query außerdem sinnlos. Die folgende WHERE-Klausel WHERE ([Time].[Year].[1997]) ist dagegen OK. Weiterer Aspekt: Dimension ohne Hierarchie-Spezifikation führt dazu, daß alle Members angezeigt werden, unabhängig von der Position in der Hierarchie. Data Warehousing und Mining: MDX. 15 Data Warehousing und Mining: MDX. 16

5 Measures als gesonderte Dimension Von herkömmlicher Dimension kann man abstrahieren, z. B. 'über alle Stores aufsummieren'. Macht hier keinen Sinn. 'Default Measure' hat keine Entsprechung bei herkömmlichen Dimensionen. Wenn bei herkömmlicher Dimension keine Einschränkung, wird sie als Ganzes betrachtet. Default Measure wird bei Definition des Cubes festgelegt. Data Warehousing und Mining: MDX. 17 Data Warehousing und Mining: MDX. 18 Slicing vs. Filtering Filtering Auswahl der Axis Members, d. h. Achse ist schon vorgegeben. Slicing definiert das Maß bzw. schränkt Ausschnitt des Raums ein. (Begriffe für Konzepte, die z. T. schon illustriert wurden.) Illustration des Begriffs Slicing anhand der folgenden Query: SELECT {[Store Type].[Store Type].MEMBERS} ON COLUMNS, {[Store].[Store State].MEMBERS} ON ROWS WHERE (Product.[Drink]) Store ( Location ) Store Type Drink Food Product Was bedeuten diese Zahlen? Data Warehousing und Mining: MDX. 19 Data Warehousing und Mining: MDX. 20

6 Slicing Fortsetzung Slicing auch in mehreren Dimensionen möglich. Beispiele: SELECT {[Store Type].[Store Type].MEMBERS} ON COLUMNS, {[Store].[Store State].MEMBERS} ON ROWS WHERE ([Product].Drink, Measures.[Unit Sales]) Dimensionen: Product, Store (Ortsangabe), Time, Bildungsniveau (z. B. Fachabitur, Abitur), Measure (z. B. Umsatz, Gewinn) Tabelle mit Dimensionen Store und Zeit, die Gewinn mit Beer enthält. SELECT {[Store Type].[Store Type].MEMBERS} ON COLUMNS, {[Store].[Store State].MEMBERS} ON ROWS WHERE ([Product].Drink, Measures.[Unit Sales], [Time].[Year].[1997]) Was bedeutet es, diesen Teil der Anfrage wegzulassen? Was bedeutet es, diesen Teil der Anfrage wegzulassen? Data Warehousing und Mining: MDX. 21 Data Warehousing und Mining: MDX. 22 MDX Struktur der Abfragen Aufbau einer MDX-Query mit allen obligatorischen Bestandteilen: SELECT axis_specification ON COLUMNS, axis_specification ON ROWS FROM cube_name WHERE slicer_specification Erläuterungen: axis_specification = Selektieren der Dimensionen und Members für die Achse, Weitere Achsen sind möglich: ON COLUMNS ROWS PAGES CHAPTERS SECTIONS ON AXIS(0)... AXIS(63) Query-Tool gibt Fehlermeldung aus bei mehr als zwei Achsen. slicer_specification = Definition möglicher Projektionen des Data Cubes. Konstrukte für den Zugriff auf Members Beispiel-Query: SELECT Measures.MEMBERS ON COLUMNS, {[Store].[Store State].[CA].CHILDREN, [Store].[WA].CHILDREN} ON ROWS Erläuterungen (teilweise Wiederholung): MEMBERS - alle Elemente der Dimension, mit/ohne Beschränkung auf bestimmte Ebene der Hierarchie, CHILDREN alle Elemente in der entsprechenden Position, in diesem Fall Städte in CA und WA, [Store].[Store State].[WA] ist kein fully qualified name, wie bereits zuvor erwähnt (nicht alle Stufen der Hierarchie, Store Country wird übersprungen), ist aber OK wegen Uniqueness, WHERE Slicer-Spezifizierung weglassen = Standard-Measure wird angezeigt, Mehrere Member-Spezifikationen für eine Achse der Tabelle möglich. State kann man zusätzlich ausgeben. Data Warehousing und Mining: MDX. 23 Data Warehousing und Mining: MDX. 24

7 Konstrukte für den Zugriff auf Members (2) Ziel: Mehrere Levels einer Dimension in einer Tabelle, aber im Gegensatz zu MEMBERS wird Kontrolle über die Levels gewünscht. Konstrukt DESCENDANTS löst dieses Problem - Syntax: DESCENDANTS (member, level[, flag]) Flexibilität kommt über das Flag. Beispiel-Query: SELECT Measures.MEMBERS ON COLUMNS, {[Store].[Store State].[CA], DESCENDANTS([Store].[Store State].[CA], [Store City])} ON ROWS Online-Hilfe erläutert gut weitere Parameter, z. B. SELF, SELF_AND_AFTER. Data Warehousing und Mining: MDX. 25 Data Warehousing und Mining: MDX. 26 Data Warehousing und Mining: MDX. 27 Data Warehousing und Mining: MDX. 28 z

8 Weiterführende Konstrukte Calculated Members und Named Sets Definition neuer Members, z. B. abgeleitete Measures (Beispiel: Rendite als Funktion von eingesetztem Kapital und Profit), Hierarchisches Navigieren Verknüpfung von Zellen an unterschiedlichen Positionen der Hierarchie (Beispiel: Umsatz in CA als Anteil des U.S.A.-Umsatzes) Zeitserien Vergleich von zeitbezogenen Werten mit Werten aus Vergleichszeitraum (Beispiel: Vergleichsmonat Vorjahreszeitraum) Tuples und CROSSJOIN mehr als zwei Dimensionen pro Tabelle, Filtern und Sortieren Top und Bottom Analysen, z. B. Top-N Queries Numerische und bedingte Abfragen, z. B. COUNT, SUM bzw. frei definierte Bedingungen (COUNT z. B. Anzahl der Tupel mit einer bestimmten Eigenschaft) Named Sets Motivation: Explizit benamte Mengen schaffen Übersichtlichkeit und erhöhen Wiederverwendbarkeit und Fehlertoleranz. Wir definieren hier Named Sets von Members. Beispiel: WITH SET bigcitystates AS '{Store.CA, Store.WA}' SET nobigcitystates AS 'EXCEPT(DESCENDANTS(Store,[Store State]), bigcitystates)' SELECT nobigcitystates ON ROWS, Time.MEMBERS ON COLUMNS Erläuterung: EXCEPT ist DIFF-Operator. Data Warehousing und Mining: MDX. 29 Data Warehousing und Mining: MDX. 30 Cross-Dimensional Operations Folie aus vergangenem Kapitel Verknüpfungen von Werten aus unterschiedlichen Dimensionen Beispiel für single-dimensional Berechnung: Anzahl der Angestellten = Belegschaft - Anzahl Arbeiter Allen Werten entspricht die gleiche Position im DataCube. Beispiel für cross-dimensional Berechnung: Bereinigter projizierter Gewinn = Projizierter Gewinn, verrechnet mit Währungsrisiko des jeweiligen Landes. Bildungsgrad Studium Abitur Hauptschule Hessen Bayern Saarland Ort Datum Data Warehousing und Mining: MDX. 31 Data Warehousing und Mining: MDX. 32

9 Calculated Members (1) Ziel: Definition neuer Members, in Abhängigkeit bereits existierender Members, sowohl für Dimensionen als auch für Measures, Beispiele: Abgeleitete Measures, z. B. Profit, wenn Umsatz und Kosten bekannt, Profit = (Umsatz Kosten)/Kosten, Diese Definition ist unabhängig davon, welche Position des Cubes man betrachtet. Neuaufteilung der Dimensionen, z. B. Quartalseinteilung des Jahres, basierend auf Monaten. Calculated Members (2) Beispiel in MDX: WITH MEMBER Measures.ProfitPercent AS '(Measures.[Store Sales] - Measures.[Store Cost]) / (Measures.[Store Cost])', FORMAT_STRING = '#.00%' SELECT {Measures.ProfitPercent} ON COLUMNS, Store.MEMBERS ON ROWS definiert Dimension und Position in Hierarchie Name des Calculated Members Aufbau des Calculated Members -Statements: WITH MEMBER parent.name AS 'expression' Data Warehousing und Mining: MDX. 33 Data Warehousing und Mining: MDX. 34 Calculated Members (3) Weiteres Beispiel: SELECT {[Store Type].[Store Type].MEMBERS} ON COLUMNS, {[Store].[Store State].MEMBERS} ON ROWS WHERE ([Product].Drink, Measures.[Unit Sales]) WITH MEMBER MEASURES.DrinkSales AS '([Product].Drink, Measures.[Unit Sales])' SELECT {[Store Type].[Store Type].MEMBERS} ON COLUMNS, {[Store].[Store State].MEMBERS} ON ROWS WHERE (Measures.[DrinkSales]) WITH MEMBER MEASURES.DrinkSales AS '([Product].Drink, Measures.[Unit Sales])' SELECT {MEASURES.DrinkSales, Measures.[Unit Sales]} ON COLUMNS, {[Store].[Store State].MEMBERS} ON ROWS Beispiel illustriert, daß abgeleitete Measures Einschränkung entlang anderer Dimensionen vornehmen können. äquivalent Data Warehousing und Mining: MDX. 35 Calculated Members (4) Beispiel für Calculated Member-Definition für Dimension, die nicht Measures ist: WITH MEMBER [Time].[First Half 97] AS '[Time].[1997].[Q1] + [Time].[1997].[Q2]' MEMBER [Time].[Second Half 97] AS '[Time].[1997].[Q3] + [Time].[1997].[Q4]' Man beachte: Summe ist hartkodiert. Definition ist wiederum unabhängig von konkreten Werten anderer Dimensionen. Calculated Members müssen unter der Wurzel der Hierarchie eingehängt werden. Beispiel, das nicht funktioniert: WITH MEMBER Measures.ProfitPercent AS '(Measures.[Store Sales] - Measures.[Store Cost]) / (Measures.[Store Cost])', FORMAT_STRING = '#.00%' MEMBER [Time].[Year].[H1] AS '[Time].[Year].[Q1] + [Time].[Year].[Q2] MEMBER [Time].[Year].[H2] AS '[Time].[Year].[Q3] + [Time].[Year].[Q4] SELECT {[Time].[Year].[H1], [Time].[Year].[H2]} ON COLUMNS, {[Store].[Store Name].MEMBERS} ON ROWS WHERE (Measures.ProfitPercent) Data Warehousing und Mining: MDX. 36

10 Solve_order (1) Beispiel Halbjahresprofit, verwendet beide abgeleiteten Members von eben. Erster Versuch, nicht ausreichend: WITH MEMBER Measures.ProfitPercent AS '(Measures.[Store Sales] - Measures.[Store Cost]) / (Measures.[Store Cost])', FORMAT_STRING = '#.00%' MEMBER [Time].[First Half 97] AS '[Time].[1997].[Q1] + [Time].[1997].[Q2]' MEMBER [Time].[Second Half 97] AS '[Time].[1997].[Q3] + [Time].[1997].[Q4]' SELECT {[Time].[First Half 97], [Time].[Second Half 97], [Time].[1997].CHILDREN} ON COLUMNS, {[Store].[Store Name].MEMBERS} ON ROWS WHERE (Measures.ProfitPercent) Solve_order (2) Beispiel Fortsetzung: Q1 Q2 Q3 Q4 Sales Cost WITH MEMBER Measures.ProfitPercent AS '(Measures.[Store Sales] - Measures.[Store Cost]) / (Measures.[Store Cost])' Q1 Q2 Q3 Q4 5 2 Profit WITH MEMBER [Time].[H1] AS '[Time].[1997].[Q1] + [Time].[1997].[Q2]' MEMBER [Time].[H2] AS '[Time].[1997].[Q3] + [Time].[1997].[Q4]' H1 H2 Sales Cost Profit H1 H Data Warehousing und Mining: MDX. 37 Man muß explizit angeben, in welcher Reihenfolge Ableitungen zur Anwendung kommen sollen. Data Warehousing und Mining: MDX. 38 Solve_order (3) Cross-Dimensional Operations Folie aus vergangenem Kapitel Beispiel: WITH MEMBER Measures.ProfitPercent AS '(Measures.[Store Sales] - Measures.[Store Cost]) / (Measures.[Store Cost])', FORMAT_STRING = '#.00%', SOLVE_ORDER = 1 MEMBER [Time].[First Half 97] AS '[Time].[1997].[Q1] + [Time].[1997].[Q2]' MEMBER [Time].[Second Half 97] AS '[Time].[1997].[Q3] + [Time].[1997].[Q4]' SELECT {[Time].[First Half 97], [Time].[Second Half 97], [Time].[1997].CHILDREN} ON COLUMNS, {[Store].[Store Name].MEMBERS} ON ROWS WHERE (Measures.ProfitPercent) Größerer SOLVE_ORDER-Wert bedeutet, daß MDX zuerst versucht, diesen Ausdruck aufzulösen. Verknüpfungen von Werten aus unterschiedlichen Dimensionen Beispiel für single-dimensional Berechnung: Anzahl der Angestellten = Belegschaft - Anzahl Arbeiter Allen Werten entspricht die gleiche Position im DataCube. Beispiel für cross-dimensional Berechnung: Bereinigter projizierter Gewinn = Projizierter Gewinn, verrechnet mit Währungsrisiko des jeweiligen Landes. Bildungsgrad Studium Abitur Hauptschule Hessen Bayern Saarland Ort Datum Data Warehousing und Mining: MDX. 39 Data Warehousing und Mining: MDX. 40

11 Beziehungen zwischen Hierarchie-Elementen (1) Motivation: Verknüpfung von Werten, die unterschiedlichen Members in der Hierarchie entsprechen, Beispiel: Anteil des Umsatzes mit Bier am Gesamtumsatz Getränke Data Warehousing und Mining: MDX. 41 Data Warehousing und Mining: MDX. 42 Beziehungen zwischen Hierarchie-Elementen (2) Beispiel MDX-Statement: WITH MEMBER MEASURES.PercentageSales AS '([Product].CURRENTMEMBER, Measures.[Unit Sales]) / ([Product].CURRENTMEMBER.PARENT, Measures.[Unit Sales])', FORMAT_STRING = '#.00%' SELECT {MEASURES.[Unit Sales], MEASURES.PercentageSales} ON COLUMNS, [Product].[Brand Name].MEMBERS ON ROWS Erläuterung: Tupel mit mehreren Komponenten in der Member- Definition, z. B. ([Product].CURRENTMEMBER, Measures.[Unit Sales]), ist Einschränkung über mehrere Dimensionen. Was passiert, wenn ROW-Achse nicht über Product? Data Warehousing und Mining: MDX. 43 Data Warehousing und Mining: MDX. 44

12 Beziehungen zwischen Hierarchie-Elementen Fortsetzung Konstrukt ANCESTOR anstelle von PARENT.PARENT... Übersichtlicher, Einfacher zu programmieren, Änderungsfreundlicher Beispiel: WITH MEMBER MEASURES.PercentageSales AS '([Product].CURRENTMEMBER, Measures.[Unit Sales]) / (ANCESTOR([Product].CURRENTMEMBER, [Product Category]), MEASURES.[Unit Sales])' Query von eben mit Konstrukt ANCESTOR? Data Warehousing und Mining: MDX. 45 Data Warehousing und Mining: MDX. 46 Generieren Sie mit MDX die folgende Tabelle: x-achse ist Zeit, genauer gesagt, die Jahre und die Quartale. y-achse ist Dimension 'Promotions'. Measure ist 'Unit Sale'. GENERATE (1) Motivation: Anwendung eines Templates auf alle Elemente einer Menge, Beispiel: Wir wollen alle Store Cities in NoBigCityStates. Mit unserem jetzigen Wissen müßten wir die NoBigCityStates einzeln aufzählen, für jede Ableitung von Store Cities einzeln. Konstrukt GENERATE löst das Problem Beispiel: 'GENERATE(NoBigCityStates, Store.CURRENTMEMBER.CHILDREN) Menge Template spezieller Platzhalter Data Warehousing und Mining: MDX. 47 Data Warehousing und Mining: MDX. 48

13 GENERATE (2) Beispiel: SELECT {GENERATE([Time].[Year].MEMBERS, {[Time].CURRENTMEMBER, [Time].CURRENTMEMBER.CHILDREN})} ON COLUMNS, [Promotions].[All Promotions].CHILDREN ON ROWS WHERE (Measures.[Unit Sales]) Man braucht das CURRENTMEMBER, um sicherzustellen, daß die Jahre und genau die Quartale aus dem Jahr zusammen aufgeführt werden. SELECT {[Time].[Year].MEMBERS, [Time].[Year].CHILDREN} löst das Problem nicht. Data Warehousing und Mining: MDX. 49 Data Warehousing und Mining: MDX. 50 Zeitserien (1) Zeitserien (2) Motivation: Vergleich von Werten mit Werten aus Vergleichszeitraum, z. B. gleicher Wert im Vorjahr. Parameter: Member der Dimension Time, Beispiel für vollständiges MDX-Statement: WITH MEMBER Measures.[Profit Growth] AS '(Measures.[Profit]) (Measures.[Profit], PARALLELPERIOD([Time].[Quarter]))', FORMAT_STRING = '###,###.00' SELECT {Measures.[Profit], Measures.[Profit Growth]} ON COLUMNS, {DESCENDANTS([Time].[1997], [Month])} ON ROWS Default: Vorgängerperiode. Hier im Beispiel wird Monat des Vorgängerquartals genommen. Data Warehousing und Mining: MDX. 51 Data Warehousing und Mining: MDX. 52

14 Zeitserien konkrete Konstrukte PARALLELPERIOD = Element an gleicher Stelle in vorheriger Periode (z. B. gleiches Quartal im vorherigen Jahr) Parameter: Members der Dimension Time, (Es existiert auch allgemeinere Funktion COUSIN.) OPENINGPERIOD = Element an erster Stelle in der Periode (z. B. erstes Quartal im Jahr) CLOSINGPERIOD = Element an letzter Stelle in der Periode (z. B. letztes Quartal im Jahr) PERIODSTODATE = alle Elemente bis an eine spezifizierte Stelle (z. B. alle Quartale bis heute) YTD QTD MTD WTD Abkürzungen für Ausdrücke mit PERIODSTODATE Tuples und CROSSJOIN Motivation: Dimension mit mehr als einem Attribut, Tuples = Kombination von Elementen verschiedener Dimensionen (in der Demo Werte entlang der Achse) Beispiele für Tupel: (Supermarket, CA), (Supermarket, DF),... (Deli, CA),... Wie erzeugt man Tupel automatisch? CROSSJOIN = Kreuzprodukt zweier Elementmengen Beispiel: CROSSJOIN([Customers].[City].MEMBERS, [Time].[Quarter].MEMBERS) Data Warehousing und Mining: MDX. 53 Data Warehousing und Mining: MDX. 54 Data Warehousing und Mining: MDX. 55 Data Warehousing und Mining: MDX. 56

15 Filtern und Sortieren FILTER, ORDER, TOPCOUNT etc., die im folgenden besprochen werden, haben alle den gleichen Aufbau: Operator(Member-Expression, Bedingung/Sortierkriterium etc.) Data Warehousing und Mining: MDX. 57 Data Warehousing und Mining: MDX. 58 Data Warehousing und Mining: MDX. 59 Data Warehousing und Mining: MDX. 60

16 Filtern Motivation: Einschränkung der Elemente einer Achse, man will mehr können als nur die relevanten Members explizit hinzuschreiben. Beispiel: spezielle Filterbedingung SELECT NON EMPTY {[Store Type].[Store Type].MEMBERS} ON COLUMNS, FILTER({[Store].[Store City].MEMBERS}, (Measures.[Unit Sales], [Time].[1997])>25000) ON ROWS Bedingung WHERE (Measures.[Profit], [Time].[Year].[1997]) Erläuterung: NON EMPTY stellt sicher, daß mindestens eine Zelle der Tabelle nicht leer ist. Sortieren Sortieren Aufbau des Sortier-Operators ist wie der einer Filtering Expression: angewendet auf Liste (heißt hier Menge ), liefert ORDER-Operator Liste zurück, Aufbau: ORDER(set, expression[, ASC DESC...]) Sortierkriterium Menge, auf die Filter angewendet wird Data Warehousing und Mining: MDX. 61 Data Warehousing und Mining: MDX. 62 Sortieren Beispiel Side Issue : Spezifikation von Ranges ist möglich: SELECT Measures.MEMBERS ON COLUMNS, {[Store].[Store City].[Beverly Hills]:[Spokane]} ON ROWS Dieselbe Anfrage, dieses Mal mit Sortierung: SELECT Measures.MEMBERS ON COLUMNS, ORDER({[Store].[Store City].[Beverly Hills]:[Spokane]}, [Store].CURRENTMEMBER.Name, BASC) ON ROWS Präfix B bedeutet, daß die Hierarchie für die Sortierung aufgebrochen wird. Data Warehousing und Mining: MDX. 63 Data Warehousing und Mining: MDX. 64

17 Data Warehousing und Mining: MDX. 65 Data Warehousing und Mining: MDX. 66 v Aggregationsfunktionen SUM, COUNT, AVG, MAX Nützlich für die Definition abgeleiteter Measures. Beispiele: SUM(BigCityStates, Measures.[Unit Sales]) WITH MEMBER Measures.[Customer Count] AS 'COUNT(CROSSJOIN({Measures.[Unit Sales]}, [Customers].[Name].MEMBERS), EXCLUDEEMPTY)' SELECT {Measures.[Unit Sales], Measures.[Customer Count]} ON COLUMNS, [Product].[Product Category].MEMBERS ON ROWS Äquivalente Query, allerdings etwas langsamer in der Ausführung: WITH MEMBER Measures.[Customer Count] AS 'COUNT(FILTER((Measures.[Unit Sales], [Customers].[Name].MEMBERS)>0)) SELECT {Measures.[Unit Sales], Measures.[Customer Count]} ON COLUMNS, [Product].[Product Category].MEMBERS ON ROWS Top-N Queries Konstrukte: HEAD = die ersten n Elemente in einem Set TAIL = die letzten n Elemente in einem Set TOPCOUNT TOPPERCENT TOPSUM = die n besten Elemente in einem Set BOTTOMCOUNT BOTTOMPERCENT BOTTOMSUM = die n schlechtesten Elemente in einem Set Beispiel: SELECT Measures.MEMBERS ON COLUMNS, TOPCOUNT({[Store].[Store City].MEMBERS}, 12, Measures.[Sales Count]) ON ROWS Data Warehousing und Mining: MDX. 67 Data Warehousing und Mining: MDX. 68

18 Data Warehousing und Mining: MDX. 69 Data Warehousing und Mining: MDX. 70 Fazit Mögliche Prüfungsfragen Zusammenfassung: MDX ist für IT-Entwickler ein relativ angenehmes und leistungsfähiges Werkzeug. MDX ist für IT-Anwender hingegen kompliziert und schwierig erlernbar. Zielsetzung dieser Sprache: Einbettung von MDX-Queries in Anwendungen, die dem Entscheider vordefinierte Analysen zur Verfügung stellen. Insbesondere der zweite Teil hat verdeutlicht, daß man mit MDX mehr erreichen kann als mit Slice&Dice Interaktionsmechanismen. Vertauschung von Dimensionen und Measures wie im zuvor betrachteten Modell ist hier nicht möglich, außerdem weitere Unschönheiten. <Anfragen mit MDX formulieren können.> Was bedeutet weitere Unschönheiten auf vorangegangener Folie? Data Warehousing und Mining: MDX. 71 Data Warehousing und Mining: MDX. 72

definiert Dimension und Position in Hierarchie Name des Calculated Members Aufbau des Calculated Members -Statements:

definiert Dimension und Position in Hierarchie Name des Calculated Members Aufbau des Calculated Members -Statements: 6.7 Workshop: Fortsetzung MDX weiterführende Konstrukte Calculated Members und Named Sets Definition neuer Members, z.b. abgeleitete Measures (Beispiel: Rendite als Funktion von eingesetztem Kapital und

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

Kapitel 9: Operationen auf dem Cube Multidimensional Expressions (MDX) Was ist MDX? MDX Queryinterface und API. Konzepte - Microsoft Terminologie

Kapitel 9: Operationen auf dem Cube Multidimensional Expressions (MDX) Was ist MDX? MDX Queryinterface und API. Konzepte - Microsoft Terminologie Kapitel 9: Operationen auf dem Cube Multidimensional Expressions (MDX) Was ist MDX? Microsoft Terminologie im OLAP Bereich MDX Basiskonstrukte MDX weiterführende Konstrukte Fazit Was ist MDX? Ist SQL für

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

Data Warehousing. Ausführung von OLAP Operationen. Ulf Leser Wissensmanagement in der Bioinformatik

Data Warehousing. Ausführung von OLAP Operationen. Ulf Leser Wissensmanagement in der Bioinformatik Data Warehousing Ausführung von OLAP Operationen Ulf Leser Wissensmanagement in der Bioinformatik Variante 1 - Snowflake Year id year Productgroup id pg_name Month Id Month year_id Day Id day month_id

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

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

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

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

Kapitel 5: Vom relationalen zum multidimensionalen Datenmodell

Kapitel 5: Vom relationalen zum multidimensionalen Datenmodell Kapitel 5: Vom relationalen zum multidimensionalen Datenmodell Data Warehousing und Mining 1 Data Warehousing, Gliederung Dimensionen und Measures Schematypen für Data Warehousing GroupBy und Data Cubes

Mehr

Kapitel 5: Vom relationalen zum multidimensionalen Datenmodell

Kapitel 5: Vom relationalen zum multidimensionalen Datenmodell Data Warehousing, Gliederung Kapitel 5: Vom relationalen zum multidimensionalen Datenmodell Dimensionen und Measures Schematypen für Data Warehousing GroupBy und Data Cubes Operatoren für den Data Cube

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

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

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

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

HTW Dresden Fakultät Informatik/Mathematik Prof. Dr.-Ing. A. Toll. Handbuch MDX. Arbeitsmaterial zur Lehrveranstaltung Business Intelligence

HTW Dresden Fakultät Informatik/Mathematik Prof. Dr.-Ing. A. Toll. Handbuch MDX. Arbeitsmaterial zur Lehrveranstaltung Business Intelligence HTW Dresden Fakultät Informatik/Mathematik Prof. Dr.-Ing. A. Toll Handbuch MDX Arbeitsmaterial zur Lehrveranstaltung Business Intelligence 3. überarbeitete Fassung, Dezember 2015 Impressum Titel Handbuch

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

Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL

Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell Jetzt: -> Formulierung in DDL Daten-Definitionssprache (DDL) DDL ist Teil von SQL (Structured

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

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

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

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

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

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

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

Kapitel 3: Indices und Sichten

Kapitel 3: Indices und Sichten Kapitel 3: Indices und Sichten Data Warehousing und Mining - 1 Gliederung im folgenden: Klassifikation Aggregationsfunktionen, Materialisierte Sichten Grundsätzliche Alternativen beim Updaten materialisierter

Mehr

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

Seminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle. Seminar 2 SQL - DML(Data Manipulation Language) und DDL(Data Definition Language) Befehle. DML Befehle Aggregatfunktionen - werden auf eine Menge von Tupeln angewendet - Verdichtung einzelner Tupeln yu

Mehr

SAP BO Web Intelligence auf SQL Server [A4] Üetliberg,

SAP BO Web Intelligence auf SQL Server [A4] Üetliberg, SAP BO Web Intelligence auf SQL Server [A4] Üetliberg, 12.09.2017 www.boak.ch AGENDA Einführung Auswahl des Reporting Werkzeugs Universum & WebI Dokumente erstellen Live Demo Nebenprodukte Vertiefende

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

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

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

Modellierung in SAP HANA Teil 2

Modellierung in SAP HANA Teil 2 Modellierung in SAP HANA Teil 2 Autor Julissa Cusi Datum der Veröffentlichung 01.06.2018 Die Verwendung ist nur für den persönlichen Gebrauch und nur im Rahmen der Nutzung der Bissantz-Softwareprodukte

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

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

Informatik II Vorlesung am D-BAUG der ETH Zürich. Vorlesung 12, 2017 Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen

Informatik II Vorlesung am D-BAUG der ETH Zürich. Vorlesung 12, 2017 Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen Informatik II Vorlesung am D-BAUG der ETH Zürich Vorlesung 12, 2017 Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen Datendefinition (DDL) in SQL Anlegen einer Tabelle create

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

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

Schlüssel. Definition: Ein Schlüssel (key) einer Relation r(r) ist eine Til Teilmenge K von R, so dass für je zwei verschiedene Tupeln t 1

Schlüssel. Definition: Ein Schlüssel (key) einer Relation r(r) ist eine Til Teilmenge K von R, so dass für je zwei verschiedene Tupeln t 1 Schlüssel Definition: Ein Schlüssel (key) einer Relation r(r) ist eine Til Teilmenge K von R, so dass für je zwei verschiedene Tupeln t 1 und t 2 r gilt: - t 1 (K) t 2 (K) und - keine echte Teilmenge K'

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

Kapitel 6. Datenmalipulation (DML) d. h. insert, update, delete, select im Relationenmodell (in Oracle)

Kapitel 6. Datenmalipulation (DML) d. h. insert, update, delete, select im Relationenmodell (in Oracle) Kapitel 6 Datenmalipulation (DML) d. h. insert, update, delete, select im Relationenmodell (in Oracle) 1 Datenmanipulationssprache (DML) SQL Einfügen: Insert-Statement Ändern: Update-Statement Löschen:

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

Informatik II Vorlesung am D-BAUG der ETH Zürich. Vorlesung 12, Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen

Informatik II Vorlesung am D-BAUG der ETH Zürich. Vorlesung 12, Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen Informatik II Vorlesung am D-BAUG der ETH Zürich Vorlesung 12, 30.5.2016 Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen Datendefinition (DDL) in SQL Datentypen character (n),

Mehr

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1)

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1) Vorlesung #3 SQL (Teil 1) Fahrplan Wiederholung/Zusammenfassung Relationales Modell Relationale Algebra Relationenkalkül Geschichte der Sprache SQL SQL DDL (CREATE TABLE...) SQL DML (INSERT, UPDATE, DELETE)

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

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

SQL. Datenmanipulation. Datenmanipulationssprache. Ein neues Tupel hinzufügen. Das INSERT Statement

SQL. Datenmanipulation. Datenmanipulationssprache. Ein neues Tupel hinzufügen. Das INSERT Statement SQL Datenmanipulation Datenmanipulationssprache Ein DML Statement wird ausgeführt wenn: neue Tupel eingefügt werden existierende Tupel geändert werden existierende Tupel aus der Tabelle gelöscht werden

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

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

Inhaltsverzeichnis. Bernd Müller, Harald Wehr. Java Persistence API 2. Hibernate, EclipseLink, OpenJPA und Erweiterungen ISBN:

Inhaltsverzeichnis. Bernd Müller, Harald Wehr. Java Persistence API 2. Hibernate, EclipseLink, OpenJPA und Erweiterungen ISBN: Inhaltsverzeichnis Bernd Müller, Harald Wehr Java Persistence API 2 Hibernate, EclipseLink, OpenJPA und Erweiterungen ISBN: 978-3-446-42693-1 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42693-1

Mehr

XML Datenbanken Quickstart für die Anfragesprachen XPath und XQuery

XML Datenbanken Quickstart für die Anfragesprachen XPath und XQuery XML Datenbanken Quickstart für die Anfragesprachen XPath und XQuery Harald Lang 3. Juli 2014 XQuery (2) XPath (1) (1) Pfadausdrücke mit XPath Adressieren von Elementen innerhalb eines hierarchischen XML-Dokuments

Mehr

Vorlesung Datenbanken I Zwischenklausur

Vorlesung Datenbanken I Zwischenklausur Prof. Dr. Stefan Brass 12. Dezember 2003 Institut für Informatik MLU Halle-Wittenberg Vorlesung Datenbanken I Zwischenklausur Name: Matrikelnummer: Studiengang: Aufgabe Punkte Max. Punkte Zeit 1 (Integritätsbedingungen)

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

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

Kapitel 5: Vom relationalen zum multidimensionalen Datenmodell

Kapitel 5: Vom relationalen zum multidimensionalen Datenmodell Data Warehousing, Gliederung Kapitel 5: Vom relationalen zum multidimensionalen Datenmodell Dimensionen und Measures Schematypen für Data Warehousing Groupy und Data Cubes Operatoren für den Data Cube

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

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

Operationen auf Relationen

Operationen auf Relationen Existierende relationale Datenbanken Beispiele von relationalen DB-Systemen: DB2, SQL (v. IBM), ORACLE, INGRES, INFORMIX, SYBASE, ACCESS u.v.a.m. Die dominierende Query-, DB-Language: SQL (Structured Query

Mehr

DOAG HC ApEx Workshop. OPITZ CONSULTING GmbH 2009 Seite 1

DOAG HC ApEx Workshop. OPITZ CONSULTING GmbH 2009 Seite 1 OPITZ CONSULTING GmbH 2009 Seite 1 Ein Kurzeinstieg in Oracle Application Express Enno Schulte, Werksstudent OPITZ CONSULTING Gummersbach GmbH Fachhochschule Gummersbach, 07.10.2009 OPITZ CONSULTING GmbH

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

Webbasierte Informationssysteme

Webbasierte Informationssysteme SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn - SS 2004 - Prof. Dr. Stefan Böttcher Folie 1 Was ist eine relationale Datenbank? Menge von Relationen (=Tabellen) und Constraints (=Integritätsbedingungen)

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

18. Hinweise zur schriftlichen Abiturprüfung 2021 im Fach Informatik

18. Hinweise zur schriftlichen Abiturprüfung 2021 im Fach Informatik 18. Hinweise zur schriftlichen Abiturprüfung 2021 im Fach Informatik A. Fachbezogene Hinweise Grundlage für die schriftliche Abiturprüfung 2021 in Niedersachsen sind die Einheitlichen Prüfungsanforderungen

Mehr

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

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

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

Datenzugriffskomponente mit JPA 2.1

Datenzugriffskomponente mit JPA 2.1 Datenzugriffskomponente mit JPA 2.1 (Grundlagen der Java Persistence Architecture) Vladislav Faerman Gliederung Einführung Konfiguration Objekt-Relationales Mapping (ORM) mit JPA Das zentrale Konzept der

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

Dimensionen, Measures

Dimensionen, Measures ... Operationen und peicherung Multi-dimensionaler Daten Aggregate um RED WHITE BLUE Group By (with total) By Color um Cross Tab Chevy Ford By Color RED WHITE BLUE By Make um By Make & Year By Year FORD

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

Wiederholung VU Datenmodellierung

Wiederholung VU Datenmodellierung Wiederholung VU Datenmodellierung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester

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

SQL Teil 2. SELECT Projektion Selektion Vereinigung, Schnitt, Differenz Verbund Komplexer SELECT-Ausdruck

SQL Teil 2. SELECT Projektion Selektion Vereinigung, Schnitt, Differenz Verbund Komplexer SELECT-Ausdruck SELECT Projektion Selektion Vereinigung, Schnitt, Differenz Verbund Fahren fort mit SQL Befehlen. Bilden Relationenalgebra auf SQL ab. So Umsetzung von Anfragen an die DB (bzw. Tabellen) möglich. SELECT

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

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

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

Übung Datenbanken in der Praxis. Anfragen an Datenbanken mit SQL

Übung Datenbanken in der Praxis. Anfragen an Datenbanken mit SQL Anfragen an Datenbanken mit SQL Folie 28 Syntax einer Anfrage SFW-Anfrage (Select-From-Where-Anfrage) SELECT Projektion π FROM Kart. Produkt WHERE Selektion

Mehr

Erzeugung und Veränderung von Tabellen

Erzeugung und Veränderung von Tabellen Datenbanken - Objekte Erzeugung und Veränderung von Tabellen Objekt Tabelle View Sequence Index Synonym Basiseinheit zum Speichern; besteht aus Zeilen und Spalten; Logische Repräsentation; kann Teilmengen

Mehr

Wiederholung VU Datenmodellierung

Wiederholung VU Datenmodellierung Wiederholung VU Datenmodellierung VL Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester

Mehr

Strukturierte Spezifikation: Anreicherung um nichtrekursive und rekursive Definitionen

Strukturierte Spezifikation: Anreicherung um nichtrekursive und rekursive Definitionen Strukturierte Spezifikation: Anreicherung um nichtrekursive und rekursive Definitionen 13. Mai 2013 G. Schellhorn, D. Haneberg: Formale Methoden im Software Engineering 128 / 290 Strukturierte Spezifikationen

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

Objektorientierte Datenbanken

Objektorientierte Datenbanken OODB 8 Slide 1 Objektorientierte Datenbanken Vorlesung 8 Sebastian Iwanowski FH Wedel OODB 8 Slide 2 Offene Fragen vom letzten Mal: Kann man in einer JDOQL-Anfrage Elemente herausfiltern, deren Attribute

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

Datenbanken zur Entscheidungsunterstützung - Data Warehousing. Prof. Dr. T. Kudraß 1

Datenbanken zur Entscheidungsunterstützung - Data Warehousing. Prof. Dr. T. Kudraß 1 Datenbanken zur Entscheidungsunterstützung - Data Warehousing Prof. Dr. T. Kudraß 1 Einführung Zunehmender Bedarf nach Analyse aktueller und historischer Daten Identifizierung interessanter Patterns Entscheidungsfindung

Mehr

Christian Kurze BI-Praktikum IBM WS 2008/09

Christian Kurze BI-Praktikum IBM WS 2008/09 Einführung in die multidimensionale Datenmodellierung e mit ADAPT BI-Praktikum IBM WS 2008/09 1 Gliederung Einführung multidimensionale Datenmodellierung 1. Multidimensionales Modell BI-Praktikum IBM WS

Mehr

Einführung relationale Datenbanken. Themenblock: Erstellung eines Cube. Schlüssel. Relationenmodell Relationenname Attribut. Problem.

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

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

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I SQL SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R VII-1 Beispielrelationen Filiale ( Name Leiter Stadt Einlagen ) Konto ( KontoNr KundenNr FilialName Saldo ) Kredit

Mehr

Query-Manager Kurzanleitung Inhalt. Query-Manager. Kurzanleitung

Query-Manager Kurzanleitung Inhalt. Query-Manager. Kurzanleitung Query-Manager Kurzanleitung Inhalt Query-Manager Kurzanleitung 1 Inhalt 1. Selektion über Sachdaten... 3 2. Einfache Abfrage... 3 2.1. Objektklasse und Tabelle auswählen... 3 2.2. Attributeigenschaften

Mehr

Datenbanken Grundlagen und Design

Datenbanken Grundlagen und Design Frank Geisler Datenbanken Grundlagen und Design 3., aktualisierte und erweiterte Auflage mitp Vorwort 15 Teil I Grundlagen 19 i Einführung in das Thema Datenbanken 21 i.i Warum ist Datenbankdesign wichtig?

Mehr

5.8 Bibliotheken für PostgreSQL

5.8 Bibliotheken für PostgreSQL 5.8 Bibliotheken für PostgreSQL Haskell/WASH: Modul Dbconnect PHP: pqsql-funktionen Java/JSP: JDBC Perl: DBI database interface modul Vorläufige Version 80 c 2004 Peter Thiemann, Matthias Neubauer 5.9

Mehr

Anfragen gegen das DataWarehouse

Anfragen gegen das DataWarehouse Anfragen gegen das DataWarehouse Sebastian Kuhs Seminar Data Warehousing und analytische Datenbanken Gliederung 1. Benutzergruppen 2. interaktives OLAP 3. MDX 4. XML-Analysis 5.Produkte 1. Benutzergruppen

Mehr

Datenbanken. Heute dreht sich alles um SQL-Abfragen mit JOINS

Datenbanken. Heute dreht sich alles um SQL-Abfragen mit JOINS Datenbanken Heute dreht sich alles um SQL-Abfragen mit JOINS Bevor du loslegst...... setze bitte die Datenbank zurück, indem du auf Restore Database klickst. Dann werden alle Änderungen, die du bisher

Mehr

KlassifikationsBrowser

KlassifikationsBrowser 2015.05 2016.06 2017.06 2016-05-26 by Kathleen Neumann Funktionsweise des KlassifikationsBrowser Table of contents 1 Klassifikationsbrowser...2 1.1 Konfiguration...2 1.2 Beispiel für Browsen nach Einrichtung...

Mehr

Oracle Indexing Primer

Oracle Indexing Primer Oracle Indexing Primer Data Warehousing and Data Mining Patrick Schäfer Berlin, 18. Dezember 2017 patrick.schaefer@hu-berlin.de Vorlesung: Übung: https://hu.berlin/vl_dwhdm17 https://hu.berlin/ue_dwhdm17

Mehr

Microsoft Access Abfragen: Informationen anzeigen und sortieren

Microsoft Access Abfragen: Informationen anzeigen und sortieren Microsoft Access Abfragen: Informationen anzeigen und sortieren Alle Kunden Die Namen der Mitarbeiter und deren E-Mail-Adresse Bestellungen, nach dem Datum sortiert Anja Aue 16.11.16 Abfragen Zusammenstellung

Mehr

Structured Query Language (SQL) als standardisierte Anfragesprache für relationale Datenbanken

Structured Query Language (SQL) als standardisierte Anfragesprache für relationale Datenbanken Rückblick Structured Query Language (SQL) als standardisierte Anfragesprache für relationale Datenbanken Data Definition Language zur Schemadefinition (z.b. CREATE TABLE zum Anlegen von Tabellen) Data

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

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