Überblick über aktuelle Daten- Abfragesprachen fileXPath –XML Path Language •Abfragesprache...

19
Überblick über aktuelle Daten- Abfragesprachen David Schäfer

Transcript of Überblick über aktuelle Daten- Abfragesprachen fileXPath –XML Path Language •Abfragesprache...

Überblick über aktuelle Daten-AbfragesprachenDavid Schäfer

Das Universum der Programmiersprachen

imperativ deklarativ

prozedural

objektorientiert

CF#

C# Java

Das Universum der Programmiersprachen

deklarativ

SQL

MDX

DAX

XPath /

XQuery

Das Universum der Programmiersprachen

deklarativ

SQL

SQL – Structured Query Language

• relationale Datenbanken

• Industrie Standard ISO/IEC 9075:2011 (SQL:2011)

• Sub Sets: DRL, DML, DDL, DCL

• Hersteller-spezifische Erweiterungen:

• T-SQL (Transact SQL von Microsoft & Sybase)

• PL/SQL (Procedural Language / SQL von Oracle)

• SQL/PSM (SQL / Persistent Stored Module von u. A. MySQL)

• Etc.

Das Universum der Programmiersprachen

deklarativ

XPath

XQuery

XPath – XML Path Language

• Abfragesprache für XML Dokumente

• W3C Standard

• Adressierungs-Syntax auf Basis von „Pfad“durch logischer Dokumentstruktur, wie ein Navi:DE/HE/Darmstadt/Schlossgraben/1/darmstadtium

• Kein XML-Syntax sondern:• Concept Node (Begin der Adresse)

• Logical Tree (Festgelegter Dokumentstruktur)

• Logical Relationships (ancestor, attribute, child, parent, etc.)

XML Datei books.xml:

XQuery – XML Query Language

• Abfragesprache für XML Dateien

• W3C Empfehlung

• Nutzt XPath-Expressions

• Mehr vordefinierte Funktionen

• „XQuery ist das SQL für XML Dateien“:

for $par in $page//p

let $words := fn:count(fn:tokenize($par/content(), " \n\t"))

where $words gt 0

return <p>

{$par/content()}<br/>

Size: { $words }

</p>

Das Universum der Programmiersprachen

deklarativ

MDX

MDX – Multi Dimensional eXpressions

• multidimensionale Datenbanken (Cubes)

• von Microsoft definiert in OLEDB for OLAP specification

• industriebreit akzeptiert und unterstützt (Microsoft, IBM Cognos, SAS, SAP BW, etc.)

• Hersteller-spezifischer Einschränkungen/Erweiterungen

MDX – Multi Dimensional eXpressions

MDX sieht aus wie SQL, aber nicht ganz:

Das Universum der Programmiersprachen

deklarativ

DAX

DAX – Data Analysis eXpressions

• Abfragesprache für • PowerPivot

• Analysis Services - Tabular Model

• Entwickelt von Microsoft

• Wurzeln:• MDX

• Excel Funktionen

• Zeilenbasiert

DAX - Anwendungsbereiche

• Berechnete Spalte• Spalte in der Datenbank – Basis DAX Ausdruck

• Persistente Speicherung

• Berechnete Felder• DAX Formeln auf aggregierten Werten

• Werden zur Laufzeit berechnet

• Erzeugung neuer Tabelle• Definition einer neuen Tabelle – Basis DAX Tabellen Ausdruck

DAX – ZeilenbasiertBerechnete Spalte

Berechnetes Feld

DAX - Funktionsgruppen

• Zeitintelligenz, Datums- und Uhrzeit• NEXTYEAR, PREVIOUSDAY, PARALLELPERIOD

• YEAR, DAY, NOW

• Filter• DISTINCT, FILTER(S), RELATED(TABLE)

• Text & Information• RIGHT, SEARCH, UPPER

• ISTEXT, ISNUMBER, ISERROR

• Logik• IF, AND, SWITCH

• Mathematik, Statistik & Trigonometrie• ABS, FLOOR, LOG, COUNT, SUM

• SUMX, COUNTX

Weiterführende Links:

• Andreas Wolter's SQL Server & BI Blog

• MSDN - OLEDB for OLAP Specification

• Chris Webb's BI Blog

• MSDN - DAX Overview

• MSDN - DAX Referenz

• MSDN - Analysis Services & Power Pivot Blog

• PowerPivot (Pro) Blog

Vielen Dank für die Aufmerksamkeit!

Herzlichen Glückwunsch an die PASS und viel Spaß auf der Abendveranstaltung

David Schäfer – Senior Software Ingenieur HMS Analytical Software ([email protected])