Data Warehousing und Data Mining
|
|
|
- Eike Peters
- vor 6 Jahren
- Abrufe
Transkript
1 Data Warehousing und Data Mining Speicherung multidimensionaler Daten Ulf Leser Wissensmanagement in der Bioinformatik
2 Inhalt dieser Vorlesung Relationales OLAP (ROLAP) Snowflake-, Star- und Fullfactschema Speicherplatz und Queries Schemavarianten Beispiel: ROLAP in Oracle Evolution in Dimensionen Multidimensionales OLAP (MOLAP) Ulf Leser: Data Warehousing und Data Mining 2
3 Relationales OLAP MDDM und relationales Modell nicht vergleichbar Konzeptionelle versus logische Ebene Falsch: Relationales Modell ist zweidimensional, MDDM ist beliebig-dimensional, das ist inkompatibel Relationales Modell kann beliebig-dimensionale Daten repräsentieren Verschiedene Arten der Abbildung möglich Unterschiede in Speicherverbrauch, Redundanz, Performance von INSERT/SELECT/UPDATE,... Ulf Leser: Data Warehousing und Data Mining 3
4 Beispiel year month day shop_name amount pg_name price sales shop region productgroup product product_name region_name Summe aller Verkäufe der Produktgruppe Wasser nach Shop und Jahr Ulf Leser: Data Warehousing und Data Mining 4
5 Annahmen für Kostenbetrachtungen d Dimensionen, je k Klassifikationsstufen plus Top Jeder Klassifikationsknoten hat 3 Kinder Level k: 1=3 0 Knoten (Top) Level k-1: 3=3 1 Knoten... Level 0: Höchste Granularität, 3 k Knoten Zusammen: n= i= 0... k i 3 Knoten pro Dimension m Fakten, gleichverteilt in allen Dimensionen Attribut: b Bytes Knoten haben nur ID Es gibt f Measures Ulf Leser: Data Warehousing und Data Mining 5
6 Gleichmäßige Klassifikationshierarchie Zu jedem Knoten gibt es gleich viele Kinder/Fakten Level 2 Top Level 1 K1 K2 K3 Level 0 K1.1 K1.2 K1.3 K2.1 K2.2 K2.3 K3.1 K3.2 K3.3 Fakten Ulf Leser: Data Warehousing und Data Mining 6
7 Variante 1 Voll Normalisiert year id year productgroup id pg_name month id month year_id year pg_name month productgroup day id day month_id amount price day sales product sales product_id day_id shop_id amount price shop_name shop product_name region region_name product id product_name pg_id shop id shop_name region_id region id region_name Ulf Leser: Data Warehousing und Data Mining 7
8 Snowflake Schema Quelle: Ulf Leser: Data Warehousing und Data Mining 8
9 Snowflake Schema Faktentabelle Measures plus Fremdschlüssel der kleinsten Klassifikationsstufe jeder Dimension Dimensionstabellen Eine Tabelle pro Klassifikationsstufe Attribute: Knotenattribute (ignorieren wir) und ID Ein Tupel pro Klassifikationsknoten Eigenschaften Voll normalisiert year id year month id month year_id day id day month_id sales product_id day_id shop_id amount price Ein Tupel pro Klassifikationsknoten jeder Dimension Speicherplatz: (( d + f )* m + d * n) * b product id product_name pg_id shop id shop_name region_id productgroup id pg_name region id region_name Fremdschlüssel je Dimension Measures Ulf Leser: Data Warehousing und Data Mining 9
10 Snowflake Schema: Query Summe aller Verkäufe der Produktgruppe Wasser nach Shop und Jahr 6 Joins SELECT X.shop_name, Y.year, sum(amount*price) FROM sales S,... PG, P, D, M, Y, shop X WHERE PG.name= Wasser AND PG.id = P.pg_id AND P.id = S.product_id AND D.id = S.day_id AND M.id = D.month_id AND Y.id = M.year_id AND X.id = S.shop_id group by X.shop_name, Y.year 4 Joins, wenn weder shop_name noch year notwendig Anzahl Joins steigt in jeder Dimension linear mit Länge der Aggregationspfade in der Anfrage Ulf Leser: Data Warehousing und Data Mining 10
11 Variante 2: Denormalisiert product product_id product_name pg_id pg_name time day_id day month_id month year_id year sales product_id day_id shop_id amount price localization shop_id shop_name region_id region_name Ulf Leser: Data Warehousing und Data Mining 11
12 Star Schema Quelle: Camilovic, A Call Detail Records Data Mart: Data Modelling and OLAP Analysis, Comput. Sci. Inf. Syst, 2009 Ulf Leser: Data Warehousing und Data Mining 12
13 Star Schema Faktentabelle Measures plus Fremdschlüssel der kleinsten Klassifikationsstufe jeder Dimension Dimensionstabellen Eine Tabelle pro Dimension Attribute: ID und Knotenattribute aller Klassifikationsstufen Ein Tupel pro Klassifikationsknoten mit Level 0 Eigenschaften Denormalisierte Dimensionen Speicherplatz Ein Tupel pro Klassifikationsknoten Level 0 ( ) k d + f * m + d *3 * k) * b Ein Attribut pro Klassifikationsstufe Ulf Leser: Data Warehousing und Data Mining 13
14 Star Schema: Query SELECT L.shop_name, T.year, sum(amount*price) FROM sales S, product P, time T, localization L WHERE P.pg_name= Wasser AND P.product_id = S.product_id AND T.day_id = S.day_id AND L.shop_id = S.shop_id group by L.shop_name, T.year 3 Joins Keine Reduktion wenn Jahrname nicht notwendig 2 Joins, wenn Shopname nicht notwendig Anzahl Joins Unabhängig von Länge der Aggregationspfade in der Anfrage Steigt linear mit der Anzahl Dimensionen in der Anfrage Ulf Leser: Data Warehousing und Data Mining 14
15 Variante: Knotenattribute im Star Schema Eigenen Tabellen pro Klassifikationsstufe Dimensionstabelle repräsentiert Hierarchie und enthält nur Keys Normalisiert, speicherplatzeffizient Dimensionstabelle sales Product_id Day_id Shop_id amount price Keys mehrfach vorhanden Zusätzlichen Joins für Knotenattribute notwendig localization shop_id region_id country_id continent_id shop shop_id shop_name address region manager region_id facilities name country... size country_id... name continent size continent_id... name... Ulf Leser: Data Warehousing und Data Mining 15
16 Variante 3: Fullfact year id year productgroup id pg_name month id month year_id day id day month_id sales product_id pg_id day_id month_id year_id shop_id region_id amount price product id product_name pg_id shop id shop_name region_id region id region_name Ulf Leser: Data Warehousing und Data Mining 16
17 Fullfact Faktentabelle Measures plus Fremdschlüssel jeder Klassifikationsstufe Dimensionstabellen Eine Tabelle pro Klassifikationsstufe Attribute: Knotenattribute (ignorieren wir) und ID Ein Tuple pro Klassifikationsknoten Eigenschaften Normalisierte Dimensionen, denormalisierte Fakten Speicherverbrauch (( d * k + f )* m + d * n) * b Ein FK pro Klassifikationsstufe Ulf Leser: Data Warehousing und Data Mining 17
18 Fullfact Query SELECT X.shop_name, T.year, sum(amount*price) FROM sales S, productgroup PG, year Y, shop X WHERE PG.pg_name= Wasser AND PG.id = S.pg_id AND Y.id = S.year_id AND X.id = S.shop_id group by X.shop_name, Y.year 3 Joins (1 Join, wenn Shopname/Jahrname unnötig) Anzahl Joins Unabhängig von Länge der Aggregationspfade in der Anfrage Steigt linear mit der Anzahl Klassifikationsstufen in der Anfrage Ulf Leser: Data Warehousing und Data Mining 18
19 Speicherverbrauch 1 Speicherplatz nach Anz. Dim., m=10 6, k=4 Speicher snowflake star fullfact Dimensionen Ulf Leser: Data Warehousing und Data Mining 19
20 Speicherverbrauch 2 Speicherplatz nach Anz. Fakten, d=4, k=4 Speicher 1,8E+09 1,6E+09 1,4E+09 1,2E+09 1E snowflake star fullfact Fakten Ulf Leser: Data Warehousing und Data Mining 20
21 Speicherverbrauch 3 Speicherplatz nach Anz. K-Stufen, m=10 6, d=4 Speicher snowflake star fullfact Klassifikationsstufen Ulf Leser: Data Warehousing und Data Mining 21
22 Fazit Speicher und Query Speicherverbrauch Snowflake / Star praktisch identisch Bedarf für Dimensionen vernachlässigbar Fullfact mit deutlich höherem Speicherverbrauch Dafür minimale Anzahl Joins Star braucht idr weniger Joins als Snowflake Laufzeitverhalten hängt von vielen Faktoren ab Bereichs- oder Punktanfrage, Selektivität Indexierung Gruppierung und Aggregation... Aber: Joins sind tendenziell immer teuer Ulf Leser: Data Warehousing und Data Mining 22
23 Inhalt dieser Vorlesung Relationales OLAP (ROLAP) Snowflake-, Star- und Fullfactschema Speicherplatz und Queries Schemavarianten Evolution in Dimensionen Beispiel: ROLAP in Oracle Multidimensionales OLAP (MOLAP) Ulf Leser: Data Warehousing und Data Mining 23
24 Entartete DWH Feingranulare Dimensionen Anzahl Klassifikationsknoten nähert sich Anzahl Fakten Bsp.: Experimentelle Daten (Knoten = Gene, Werte = Ergebnisse von Tests) Speicherplatz nach Anz. Knoten, M=10 6, D= Speicher snowflake star fullfact Klassifikationsknoten pro Dimension Ulf Leser: Data Warehousing und Data Mining 24
25 Galaxy Schema Mehrere Faktentabellen Jahr Monat Tag Lager Produktgruppe Produkt Verkauf Shop Region Ulf Leser: Data Warehousing und Data Mining 25
26 Fact Constellation Schema Fact Constellation Schema = Star Schema mit eigenen Summentabellen für prä-aggregierter Daten Alternative: Einbeziehung als spezielle Fakten in Faktentabelle Summe über alle Tage für P=2, S=130 Summe über alle Tage und Produkte für S=130 Verkauf Day Product shop NULL NULL NULL NULL 130 Ulf Leser: Data Warehousing und Data Mining 26
27 Nicht-Standard Hierarchien Bisherige Annahmen: Jede Hierarchie ist balanciert: Blätter haben alle den gleichen Abstand zu Root hat eine feste maximale Tiefe ist eine Hierarchie: Jeder Knoten hat nur einen Vorgänger Top Top K1 K2 K3 K2 K1.1 K1.2 K1.3 K2.1 K2.2 K2.3 K3.1 K3.2 K3.3 Top Top K1 K3 K1 K2 K1.1 K1.2 K1.3 K2.1 K2.2 K1.1 K1.2 K1.3 K2.1 K2.2 K2.3 Ulf Leser: Data Warehousing und Data Mining 27
28 Unbalancierte Hierarchien Top Beispiel: Teilung nur von großen Shops in Abteilungen Im Snowflake Schema Fakten mit Fremdschlüsseln aus verschiedenen Tabellen Fakten adressieren unterschiedliche Ebene 0 Stufen DB kann das über PK-FK Constraints nicht prüfen (Trigger) Eine Lösung: Hierarchie mit Dummy-Werten auffüllen Jeder Shop bekommt eine NULL-Abteilung Müssen bei Ausgabe unterdrückt werden Bei (generierten) hierarchischen Aggregationen entfernen Im Starschema: Auffüllen mit NULLs Shop1 Abt1 Shop2 Abt2 Abt3 Ulf Leser: Data Warehousing und Data Mining 28
29 Unbeschränkt tiefe Hierarchien Unbeschränkt lange Klassenhierarchien Stücklisten (Teil von...) Stark variierende, länderspezifische Organisationsstrukturen Auch parent-child hierarchies genannt In Star noch Snowflake nicht möglich Snowflake: Jede Stufe eine Tabelle aber Zahl der Stufen steht nicht fest Star: Jede Stufe mind. ein Attribut aber Zahl der Stufen steht nicht fest Immer: Es ist unklar, wie viele Joins man braucht, um ein komplettes Roll-Up zu berechnen Top K2 Ulf Leser: Data Warehousing und Data Mining 29
30 Modellierung über Selbst-Referenzialität sales product_id time_id shop_id amount price product id level name predecessor_id Ermöglicht beliebige Hierarchien Umfasst auch unbalancierte Hierarchien Probleme Rekursives SQL oder Traversierung über Host-Language nötig Keine individuellen Attribute pro Stufe Keine Unterstützung durch SQL-OLAP Eingeschränkte Prüfbarkeit der referenziellen Integrität predecessor_id kann auf IDs in allen Stufen zeigen Ulf Leser: Data Warehousing und Data Mining 30
31 Nicht-hierarchische Hierarchien Knoten können mehrere Vorgänger (auf verschiedenen Stufen) haben Selbst-Referenzialität reicht nicht mehr Graphbasierte Modellierung K1.1 Gleiche Nachteile wie Selbst-Referenzialität K1.2 Zuordnung von Werten bei Gruppierung nicht klar K1 K1.3 K2 Top K2.1 K2.2 K2.3 sales product_id... id... product edges child_id parent_id Ulf Leser: Data Warehousing und Data Mining 31
32 Inhalt dieser Vorlesung Relationales OLAP (ROLAP) Beispiel: ROLAP in Oracle Evolution in Dimensionen Multidimensionales OLAP (MOLAP) Ulf Leser: Data Warehousing und Data Mining 32
33 MDDM Konstrukte in Oracle Oracle Sprachelemente Dimensionen Klassifikationsstufen Klassifikationspfade Definition mit eigenen DDL Befehlen Setzen auf existierendes relationales Schema auf Star oder Snowflake Ulf Leser: Data Warehousing und Data Mining 33
34 Beispiel: Snowflake Schema sales product_id day_id shop_id amount price product id product_name pg_id productgroup id pg_name Dimension Klassifikationsstufen Klassifikationspfade CREATE DIMENSION s_pg LEVEL product IS (product.id) LEVEL productgroup IS (productgroup.id) HIERARCHY pg_rollup ( product CHILD OF productgroup JOIN KEY (pg_id) REFERENCES productgroup ); Ulf Leser: Data Warehousing und Data Mining 34
35 Beispiel: Star Schema time day_id day month_id month year_id year sales product_id day_id shop_id amount price 1. Logischer Stufenname 2. Relationales Attribut, dass die Stufe identifiziert CREATE DIMENSION s_time LEVEL day IS (time.day_id) LEVEL month IS (time.month_id) LEVEL year IS (time.year_id) HIERARCHY pg_rollup ( day CHILD OF month CHILD OF year) ATTRIBUTE day_id DETERMINES (day) ATTRIBUTE month_id DETERMINES (month) ATTRIBUTE year_id DETERMINES (year) Relationale Repräsentation der Stufenschritte Ulf Leser: Data Warehousing und Data Mining 35
36 Multiple Pfade Dimension CREATE DIMENSION times_dim LEVEL day IS TIMES.TIME_ID LEVEL month IS TIMES.CALENDAR_MONTH_DESC LEVEL quarter IS TIMES.CALENDAR_QUARTER_DESC Klassifikationsstufen LEVEL year IS TIMES.CALENDAR_YEAR LEVEL fis_week IS TIMES.WEEK_ENDING_DAY LEVEL fis_month IS TIMES.FISCAL_MONTH_DESC LEVEL fis_quarter IS TIMES.FISCAL_QUARTER_DESC LEVEL fis_year IS TIMES.FISCAL_YEAR HIERARCHY cal_rollup ( day CHILD OF month CHILD OF quarter CHILD OF year ) HIERARCHY fis_rollup ( day CHILD OF fis_week CHILD OF fis_month CHILD OF fis_quarter CHILD OF fis_year ) <attribute determination clauses>... Klassifikationspfad 1 Klassifikationspfad 2 Ulf Leser: Data Warehousing und Data Mining 36
37 Eigenschaften Vollständige und überlappungsfreie Hierarchien The child_key_columns must be non-null and the parent key must be unique and non-null. You need not define constraints to enforce these conditions, but queries may return incorrect results if these conditions are not true... the joins between the dimension tables can guarantee that each child-side row joins with one and only one parent-side row. In the case of denormalized dimensions, determine whether the child-side columns uniquely determine the parent-side (or attribute) columns. If you use constraints to represent these relationships, they can be enabled with the NOVALIDATE and RELY clauses if the relationships represented by the constraints are guaranteed by other means. Verwendung und Anzeige über PL/SQL Packages DEMO_DIM, DBMS_OLAP, Sinn Für Query Optimierung (z.b. Materialisierte Sichten ) Für Client-Software / Visualisierung / Navigation Ulf Leser: Data Warehousing und Data Mining 37
38 Inhalt dieser Vorlesung Relationales OLAP (ROLAP) Snowflake-, Star- und Fullfactschema Speicherplatz und Queries Schemavarianten Beispiel: ROLAP in Oracle Evolution in Dimensionen Änderung in den Klassifikationsknoten Änderungen in der Klassifikationshierarchie Multidimensionales OLAP (MOLAP) Ulf Leser: Data Warehousing und Data Mining 38
39 Änderungen in den Dimensionen DWH speichern Daten über lange Zeiträume Fakten ändern sich nicht werden nur hinzugefügt In langen Zeiträumen passieren Änderungen in den Dimensionen In den Werten (Namen / Eigenschaften von Produkten, Status von Kunden etc.) In den Dimensionsstrukturen (neue Organisationsebenen, Zusammenfassung von Produktgruppen, Auslistung, ) Alte Fakten müssen im alten Bezugsrahmen bleiben Sehr reales und eher selten diskutiertes Problem Ulf Leser: Data Warehousing und Data Mining 39
40 Slowly Changing Dimensions Updates bei den Klassifikationsknoten einer Hierarchie In den Werten: Keine Korrekturen (Buch hätte schon immer gebunden sein sollen), sondern Änderungen (Buch wurde bisher nur gebunden verkauft, jetzt nur noch broschiert) In den Strukturen: Deletes und Inserts Knoten existieren nur in Zeiträumen (mit unterschiedlichen Werten) Alte Knoten werden von alten Fakten adressiert, neue Knoten von neuen Fakten Einfaches SQL-Update führt zu Verfälschungen Verkäufe eines gebundenen Buchs vor Stichtag werden plötzlich zu Verkäufen eines broschierten Buchs Lösung: Klassifikationsknoten versionieren Ulf Leser: Data Warehousing und Data Mining 40
41 Versionierungsmodelle Linear Hierarchisch V1 V1 V2 V2 V4 V3 V3 V5 V6 V7 Zu jeden Zeitpunkt existiert von jedem Tupel nur eine Version Standardmodell Zeitliche Reihenfolge halbgeordnet z.b. Software- Versionsverwaltungen Deutlich komplexer Ulf Leser: Data Warehousing und Data Mining 41
42 Lineare Versionen in RDBMS RDBMS muss Versionen von Tupeln verwalten Änderung in einem Attributwert eine neue Version Gleichzeitige Änderungen in mehreren Attributwerten eine neue Version Schemaänderungen werden hier nicht betrachtet Tupel werden referenziert auch beachten (FK / PK) Anforderungen Schneller Zugriff auf aktuelle Version Möglicher Zugriff auf Version zu beliebigem Zeitpunkt d 0 Abfrage eines konsistenten Gesamtzustands zu beliebigem Zeitpunkt (über alle Dimensionen und Fakten) Zwei prominente Varianten Single-Table Schattentabellen Ulf Leser: Data Warehousing und Data Mining 42
43 Variante 1: Single-Table Erweiterung jeder Tabelle T um die folgenden Attribute valid_from valid_until Primärschlüssel: id (id, valid_from) product product_id name packungsgröße farbe gewicht product product_id valid_from valid_until name packungsgröße farbe gewicht Ulf Leser: Data Warehousing und Data Mining 43
44 Interpretation Aktuelle Version: valid_until=-1 Nur eine Version darf valid_until=-1 haben Durch Trigger sicherstellen [valid_from, valid_until] ist das Zeitintervall, in dem ein Tupel gültig ist (war) Intervalle dürfen sich nicht überschneiden Durch Trigger sicherstellen Lücken zwischen Intervallen sind möglich Objekte haben existiert, wurden gelöscht, wieder eingefügt Vorsicht vor Lücken durch Zeitmessungsgenauigkeit Lösung: stunden-/taggenaue Versionen Ulf Leser: Data Warehousing und Data Mining 44
45 DELETE DELETE Objekt k (identifiziert durch ID) aus T Gibt es k in T mit valid_until=-1? Nein: Nichts tun Objekt gibt es gerade nicht oder gab es noch nie Ja: Lebensende der aktuellen Version setzen UPDATE T SET valid_until=sysdate WHERE id=k AND valid_until=-1; FKs in abhängigen Tabellen bleiben gültig Aber: Kein Einfügen mehr mit FK auf gelöschtes Tupel gestatten Trigger Ulf Leser: Data Warehousing und Data Mining 45
46 INSERT INSERT Objekt k (identifiziert durch ID) in T Gibt es k in T mit valid_until=-1? Nein: Objekt gibt es (jetzt) nicht, einfügen INSERT INTO T VALUES (id=k, valid_from=sysdate, valid_until=-1, ) Ja: Fehlermeldung Ulf Leser: Data Warehousing und Data Mining 46
47 UPDATE UPDATE Objekt k (identifiziert durch ID) in T Gibt es k in T mit valid_until=-1? Nein: Nichts tun Objekt gibt es gerade nicht Ja: Aktuelle Version abschließen, neue Version einfügen UPDATE T SET valid_until=sysdate WHERE id=k AND valid_until=-1; INSERT INTO T VALUES (id=k, valid_from=sysdate, valid_until=-1, ) FKs in abhängigen Tabellen bleiben gültig Aber: Einfügen nur noch mit FK auf aktuelles Tupel gestatten Trigger Ulf Leser: Data Warehousing und Data Mining 47
48 Verschiedene SELECTs SELECT aktuelle Version von k SELECT * FROM T WHERE valid_until=-1 AND id=k; SELECT aktueller Zustand (alle gültigen Objekte) von T SELECT * FROM T WHERE valid_until=-1; SELECT alle Tupel gültig zum Zeitpunkt d SELECT * FROM T WHERE valid_from <= d AND (valid_until=-1 OR valid_until=>d); Ulf Leser: Data Warehousing und Data Mining 48
49 Bewertung INSERT / DELETE / UPDATE erfordern Trigger Auch auf abhängigen Tabellen valid_until,valid_from sollte in praktisch alle Indexe aufgenommen werden In dieser Reihenfolge: Schnelle Zugriff auf aktuelle und vergangene Versionen von Objekten Index-Unterstützung (alle aktuellen) schwierig valid_until=-1 hat schlechte Selektivität -> Full Table Scan Nur bei sehr vielen Änderungen steigt Selektivität und Indexierung lohnt sich Verlangsamung der Arbeit mit aktuellen Daten durch wachsende Tabelle Ulf Leser: Data Warehousing und Data Mining 49
50 Variante 2: Schattentabellen Für jede zu versionierende Tabelle T wird zusätzlich eine Schattentabelle T S angelegt Tabelle T speichert nur aktuell gültige Tupel, Tabelle T s nur alte, nicht mehr gültige Versionen Struktur der Tabelle T s für eine Tabelle T Alle Attribute aus T Zusätzlich valid_from und valid_until Primärschlüssel: id (id, valid_from) Außerdem: T um Attribut valid_from erweitern Ulf Leser: Data Warehousing und Data Mining 50
51 INSERT INSERT Objekt k in T k in T vorhanden? Nein: Einfügen in aktuelle Tabelle INSERT INTO T VALUES (id=k, valid_from=sysdate, ) Ja: Fehlermeldung Ulf Leser: Data Warehousing und Data Mining 51
52 Variante 2: DELETE DELETE Objekt k aus T k in T vorhanden? Nein: Nichts tun Ja: Tupel k aus T nach T S verschieben INSERT INTO T S VALUES (id=k.id, valid_from=k.valid_from, valid_until=sysdate, ) DELETE FROM T WHERE id=k FKs in abhängigen Tabellen müssten auf Schattentabelle umgebogen werden Also kann FK kein klassischer FK sein (verschiedene Zieltabellen) Trigger Ulf Leser: Data Warehousing und Data Mining 52
53 UPDATE UPDATE Objekt k in T k in T vorhanden? Nein: Nichts tun Ja: Verschiedenes Altes Tupel k verschieben INSERT INTO T S VALUES (id=k.id, valid_from=k.valid_from, valid_until=sysdate, ) Werte und Zeitstempel in T updaten UPDATE T SET valid_from=sysdate, WHERE id=k FKs in abhängigen Tabellen müssten auf Schattentabelle umgebogen werden Trigger Ulf Leser: Data Warehousing und Data Mining 53
54 SELECT SELECT aktuellste Version von k SELECT * FROM T WHERE id=k; SELECT aktueller Zustand von T SELECT * FROM T; SELECT alle Tupel gültig zum Zeitpunkt d SELECT * FROM T WHERE valid_from<=d UNION SELECT * FROM T S WHERE valid_from<=d AND valid_until >=d; Ulf Leser: Data Warehousing und Data Mining 54
55 Join mit Faktentabelle Faktentabelle erhält t_id und t_valid_from als Referenz Kein überwachter Sekundärschlüssel Das referenzierte Tupel kann in T oder in T S stehen Finde alle Fakten mit zugehörigen Werten aus T zu beliebigem Zeitpunkt SELECT * FROM F, T WHERE F.t_id = t.id AND F.t_valid_from = T.valid_from UNION SELECT * FROM F, TS WHERE F.t_id = TS.id AND F.t_valid_from = TS.valid_from Ulf Leser: Data Warehousing und Data Mining 55
56 Bewertung INSERT / DELETE / UPDATE erfordern Trigger Auch FK-Constraints in abhängigen Tabellen müssen durch Trigger ersetzt werden Sehr schneller Zugriff auf aktuelle Version Kein Unterschied zu nicht-versioniert Komplexer Zugriff auf Zustand zu Zeitpunkt d Zugriff auf zwei Tabellen Kompliziertere DELETE / UPDATE Zwei Tabellen betroffen Ulf Leser: Data Warehousing und Data Mining 56
57 Vergleich Häufige Änderungen, eher wenig Lesezugriffe - Variante 1 Seltenere Änderungen, vor allem Zugriff auf aktuellste Version Variante 2 Variante 2 eher für DWH geeignet Alle Zugriffe ohne Zeitbezug laufen ohne Änderungen Zugriff auf andere Zeitpunkte durch Views vereinfachen Vorsicht vor Effekten auf physischer RDBMS-Ebene Indexdegradierung, Tabellenfragmentierung etc. Fremdschlüsselverwaltung und Konsistenz über Tabellen und Versionen hinweg braucht zusätzliche Maßnahmen Logischer Join in Variante 2, der alle Versionen ab Zeitpunkt X bis heute sucht: 4 physische Joins notwendig Ulf Leser: Data Warehousing und Data Mining 57
58 Beispiel: Versionierung in Oracle Oracle Flashback (lineare Vers., auch time travel ) Rücksetzen der Datenbank auf Status zu Zeitpunkt X Flashback-Queries (AS OF): Zugriff auf Daten zu Zeitpunkt X Änderungen werden gepuffert; UNDO-Buffergröße bestimmt maximalen zeitlichen Abstand DDL Operationen zerstören UNDO Informationen Umsetzung tief im System, schnell, transparente Nutzung Workspace Manager (hierarchische Versionierung) Auf Tabellenebene (funktioniert mit einer Art Schattentabelle) Benutzung für WHAT-IF, oder versuchsweise große Änderungen (ohne TX) mit anschließendem MERGE Div. Einschränkungen bei Constraints, Trigger, etc. Umsetzung in PL/SQL Packages, eher langsam Ulf Leser: Data Warehousing und Data Mining 58
59 Inhalt dieser Vorlesung Relationales OLAP (ROLAP) Beispiel: ROLAP in Oracle Evolution in Dimensionen Änderung in den Klassifikationsknoten Änderungen in der Klassifikationshierarchie Multidimensionales OLAP (MOLAP) Ulf Leser: Data Warehousing und Data Mining 59
60 Änderungen in Klassifikationshierarchie INS von Klassifikationsknoten ändern die Hierarchie Echte DEL gibt es praktisch nicht - Versionierung Das macht Anpassungen in anderen Tabellen nötig Aufwand für Operationen abhängig von Modellierung Im folgenden: Exemplarisch zwei Szenarien Ulf Leser: Data Warehousing und Data Mining 60
61 Änderung: InsN Einfügen eines neuen Klassifikationsknoten ohne Nachkommen in einen Pfad auf Level i 0 Level 2 Top Level 1 K1 K2 K3 K4 Level 0 K1.1 K1.2 K1.3 K2.1 K2.2 K2.3 K3.1 K3.2 K3.3 Ulf Leser: Data Warehousing und Data Mining 61
62 Änderung: InsS Einfügen einer neuen Klassifikationsstufe in einen Pfad zwischen Level i und i-1 (i>1) mit 3 (k+1)-i Klassifikationsknoten mit Umhängen der Knoten auf Level i-1 Level 3 Top Level 2 K1 K2 K3 Level 1 K1.1 K1.2 K1.3 K2.1 K2.2 K2.3 K3.1 K3.2 K3.3 Level 0 K1.1 K1.2 K1.3 K2.1 K2.2 K2.3 K3.1 K3.2 K3.3 Ulf Leser: Data Warehousing und Data Mining 62
63 Änderungskosten Padding: NULL in Knoten mit Level j<i Snowflake Star Fullfact InsN 1 Insert 1 Insert 1 Insert InsS 1 neue Tabelle, 3 (k+1)-i Updates (Umhängung) 1 neues Attribut, 3 k Updates (Wert des Attrib.) 1 neue Tabelle, 1 neues Attribut, m Updates (in Faktentabelle) Ulf Leser: Data Warehousing und Data Mining 63
64 Inhalt dieser Vorlesung Relationales OLAP (ROLAP) Beispiel: ROLAP in Oracle Evolution in Dimensionen Multidimensionales OLAP (MOLAP) Ulf Leser: Data Warehousing und Data Mining 64
65 Multidimensionales OLAP Grundidee: Speicherung multidimensionaler Daten in multidimensionalen Arrays im Hauptspeicher Ideen z.t. auch auf Sekundärspeicher übertragbar Siehe VL multidimensionale Indexstrukturen MOLAP in der Praxis aber immer im Main-Memory umgesetzt Also müssen die Datenmengen reduziert werden Sehr schnell für passende Zugriffsmuster Zugriff auf eine Zelle, Scan entlang primärer Dimension Real-time BI geht nur mit MOLAP im Hauptspeicher Im folgenden: 1 Würfel, 1 Measure, 1 Aggregatsfunktion Sonst braucht man mehrere Array Ulf Leser: Data Warehousing und Data Mining 65
66 Array Adressierung Sei d i = D i, d= D b: Speicherplatz pro Attribut (Key oder Wert) Arrays: Linearisierte Darstellung <1,1,1>, <1,1,2>,..., <1,1,d 1 >, <1,2,1>,... <1,d 2, d 1 >, Offset der Zelle <a 1,...a d > b* d i= 1 i 1 ( a i 1)* d j j= 1 Scans sind nicht gleichschnell in verschiedenen Dimensionen Wegen Caching im Hauptspeicher Schneller Scan Langsamer Scan Ulf Leser: Data Warehousing und Data Mining 66
67 Probleme Umgang mit hierarchischen Dimensionen? Standard: Array speichert höchste Granularität, Zugriff auf höhere Granularitäten durch on-the-fly Berechnung der Werte Oder Einbettung (next slide) Speicherung von Fakten? Müssen außerhalb des Arrays verwaltet werden MOLAP beginnt oberhalb der Faktenebene Aggregationsfunktion muss beim Anlegen festgelegt werden Wenn die Daten nicht in Hauptspeicher passen? Höhere Granularität wählen oder mehr Speicher kaufen Langsamer Zugriff bei unpassenden Zugriffsmustern Siehe multidim. Indexstrukturen (DBS-II) Siehe auch VL zu Hauptspeicherdatenbanken Ulf Leser: Data Warehousing und Data Mining 67
68 Klassifikationshierarchien Knoten höherer Stufen können als artifizielle Knoten in die untersten Stufe eingebettet werden (das sind aber sehr viele Knoten bei vielen Dimensionen / Stufen) Jahr Jahr Q3 Q2 Q1 Q4 Q3 Q2 Q1 Q2 Q Q4 Q3 Q2 Q1 Ulf Leser: Data Warehousing und Data Mining 68
69 Speicherverbrauch Speicherung Koordinaten Array Implizit (Linearisierung) Relational (Star Schema) Explizit (redundant) Leere Zellen Belegen Platz Belegen keinen Platz Neue Klassifik.- knoten Speicherverbrauch Komplette Reorganisation Neue Zeile in Dim-tabelle Stark wachsender Speicher Kaum Speicherwachstum b d * b* m*( d + 1) i= 1 d i Ulf Leser: Data Warehousing und Data Mining 69
70 Unfair! Speicherung Koordinaten Array Implizit (Linearisierung) Relational (Star Schema) Explizit (redundant) Leere Zellen Belegen Platz Belegen keinen Platz Neue Klassifik.- knoten Speicherverbrauch Komplette Reorganisation Neue Zeile in Dim-tabelle Stark wachsender Speicher Kaum Speicherwachstum b d * b* m*( d + 1) i= 1 d i Ohne Fakten Mit Fakten Ulf Leser: Data Warehousing und Data Mining 70
71 Vergleich Speicherplatz Speicherplatz nach Füllgrad, b=8, k=100, d=5 Parameter: Füllgrad, k, d Schon bei kleinen Füllgraden ist Array platzeffizienter Tatsächlicher Füllgrad oft klein, wenn viele Dims / Knoten Bei weitem nicht alle Kombinationen finden sich in den Daten Füllgrad in % Speicherplatz nach Füllgrad, b=8, k=20, d= Füllgrad in % Array Relational Array Relational Ulf Leser: Data Warehousing und Data Mining 71
72 Fazit MOLAP Viel schneller als ROLAP Da nur Hauptspeicher und prä-aggregiert Ermöglicht schnelle, responsive User-Interfaces Datenmengenbegrenzung durch Hauptspeicher Typischer Einsatz (Regelmäßige) Snapshots des (ROLAP) Cubes auf Client in MOLAP Datenbank laden Dabei Vorberechnung aller Aggregate Read-Only Drill-Down auf untere Granularitäten durch Zugriff auf ROLAP Cubes (langsam, IO) Ulf Leser: Data Warehousing und Data Mining 72
73 Selbsttest Erklären Sie Snowflake und Star-Schema. Was sind Vorteile / Nachteile? Arten von Versionierung in RDBMS? Wie kann man die realisieren? Wir könnte man Evolution in Klassifikationsstufen in einem Snowflake-Schema abbilden? Wie funktioniert der Zugriff auf eine Zelle in MOLAP? Was steht in der Zelle? Wie kann man unbeschränkt tiefe Hierarchien in einem RDBMS abbilden? Wie in MOLAP? Was hat das für Auswirkungen? Ulf Leser: Data Warehousing und Data Mining 73
Data Warehousing. Speicherung multidimensionaler Daten. Ulf Leser Wissensmanagement in der Bioinformatik
Data Warehousing Speicherung multidimensionaler Daten Ulf Leser Wissensmanagement in der Bioinformatik Beispiel Z.Tag Z.Monat 4.1.1999 B.Abteilung 4 1999 B.Sparte 3.1.1999 3 1999 2.1.1999 1.1.1999 Skoda.Reparatur
Data Warehousing und Data Mining
Data Warehousing und Data Mining Speicherung multidimensionaler Daten Ulf Leser Wissensmanagement in der Bioinformatik Inhalt dieser Vorlesung Relationales OLAP (ROLAP) Snowflake-, Star- und Fullfactschema
Multidimensionale Modellierung
Multidimensionale Modellierung Vorlesung: Übung: Patrick Schäfer Berlin, 27. November 2017 [email protected] https://hu.berlin/vl_dwhdm17 https://hu.berlin/ue_dwhdm17 Grundlagen Fakten (Kennzahlen/Messgrößen):
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
Data Warehousing und Data Mining
Data Warehousing und Data Mining Logische Optimierung Ulf Leser Wissensmanagement in der Bioinformatik Inhaltsübersicht Vorlesung Architektur Modellierung von Daten im DWH Umsetzung des multidimensionalen
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.
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
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 [email protected]
6.2 Datenmodellierung
Umsetzung des multidimensionalen Modells Interne Verwaltung der Daten durch - Relationale Strukturen (Tabellen) Relationales OLAP (ROLAP) Vorteile: Verfügbarkeit, Reife der Systeme - Multidimensionale
Datenbanksysteme I Data Warehouses Felix Naumann
Datenbanksysteme I Data Warehouses 5.7.2010 Felix Naumann Überblick 2 Einsatzgebiete OLAP versus OLTP Multimensionale i l Modellierung OLAP Operationen Relationale Implementierung Neue Architekturen Folien
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
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
Data Warehousing und Data Mining
Data Warehousing und Data Mining Sprachen für OLAP Operationen Ulf Leser Wissensmanagement in der Bioinformatik Übersicht Konzeptionell: Modellierung und Sprachen Architektur & Prozesse Multidimensionale
Data Warehousing und Data Mining
Data Warehousing und Data Mining Sprachen für OLAP Operationen Ulf Leser Wissensmanagement in der Bioinformatik Inhalt dieser Vorlesung OLAP Operationen MDX: Multidimensional Expressions SQL Erweiterungen
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
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
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
Oracle Database 12c Was Sie immer schon über Indexe wissen wollten
Oracle Database 12c Was Sie immer schon über Indexe wissen wollten Marco Mischke, 08.09.2015 DOAG Regionaltreffen B* Indexe - Aufbau 0-Level Index A-F G-Z 1-Level Index A-F G-Z 2-Level Index A-F G-M N-Z
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)
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
Performance in der Oracle Datenbank von Anfang an
Performance in der Oracle Datenbank von Anfang an Marco Mischke, 26.04.2018 DOAG Regional Agenda Tabellen Indizes Ausführungspläne SQL vs PL/SQL Tabellen Zu 99% werden Standard Strukturen zur Speicherung
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
WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R 1.008. Vorlesung #5. SQL (Teil 3)
Vorlesung #5 SQL (Teil 3) Fahrplan Besprechung der Übungsaufgaben Rekursion Rekursion in SQL-92 Rekursion in DBMS- Dialekten (Oracle und DB2) Views (Sichten) - gespeicherte Abfragen Gewährleistung der
12. Datenschutz: Zugriffsrechte in SQL Datenschutz: Zugriffsrechte in SQL
12. Datenschutz: Zugriffsrechte in SQL 12-1 Datenschutz: Zugriffsrechte in SQL 12. Datenschutz: Zugriffsrechte in SQL 12-2 Inhalt 1. Anforderungen, Allgemeines 2. Die SQL-Befehle GRANT und REVOKE 3. Sichten
Nutzung der Oracle Database InMemory Option für SAP BW
Nutzung der Oracle Database InMemory Option für SAP BW Schlüsselworte Oracle, SAP-BW, InMemory, Star-Schema. Jörn Bartels Oracle München Einleitung In SAP BW wurde bisher ein erweitertes Snow Flake Schema
Triggern. Change Data Capture
Triggern. Change Data Capture Triggers Was sind Triggers? Eine bestimmte Art von gespeicherte Prozedur, die automatisch ausgeführt wird wenn eine DML oder DDL Anweisung ausgeführt wird Eine Menge von Aktionen,
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
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
Wiederholung VU Datenmodellierung
Wiederholung VU Datenmodellierung VL Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester
Praktische SQL-Befehle
Praktische SQL-Befehle Datenbanksysteme I WiSe 2018/2019 Todor Ivanov DB1 WS2018 1 Praktische SQL-Befehle Nested Selects Inserts Updates Views Triggers Constraints Functions Voraussetzung: Laptop + MySQL/
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
Historisierung und Versionierung
DOAG NRW-Regionaltreffen 7. Juli 2005, Aachen Historisierung und Versionierung für ein bestehendes Datenmodell ohne Änderung der Anwendung Martin Friemel, Martin Kubitza Enterprise Web AG, Duisburg fon
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
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?
Wiederholung VU Datenmodellierung
Wiederholung VU Datenmodellierung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester
Das Multidimensionale Datenmodell
Das Multidimensionale Datenmodell Konzeptuelle Modellierung Umsetzung des Modells Beispiel ER-Modell 2 / 36 Probleme ER-Modellierung Keine Unterscheidung Klassifikation, Attribute, Kenngrößen Dimension
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.
Datenschutz: Zugriffsrechte in SQL
12. Datenschutz: Zugriffsrechte in SQL 12-1 12. Datenschutz: Zugriffsrechte in SQL 12-2 Inhalt Datenschutz: Zugriffsrechte in SQL 1. Anforderungen, Allgemeines 2. Die SQL-Befehle GRANT und REVOKE 3. Sichten
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
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
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
Relationales Datenbanksystem Oracle
Relationales Datenbanksystem Oracle 1 Relationales Modell Im relationalen Modell wird ein relationales Datenbankschema wie folgt beschrieben: RS = R 1 X 1 SC 1... R n X n SC n SC a a : i=1...n X i B Information
Partitionierungsstrategien für Data Vault
ierungsstrategien für Data Vault Dani Schnider Trivadis AG Zürich/Glattbrugg, Schweiz Einleitung Während das Laden von Tabellen in Data Vault in der Regel nicht zeitkritisch ist, stellt uns das effiziente
Datenbanken. Zusammenfassung. Datenbanksysteme
Zusammenfassung Datenbanksysteme Christian Moser Seite 1 vom 7 12.09.2002 Wichtige Begriffe Attribut Assoziation API Atomares Attribut Datenbasis DBMS Datenunabhängigkeit Datenbankmodell DDL DML DCL ER-Diagramm
SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99
SQL Früherer Name: SEQUEL SQL: Structured Query Language Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99 SQL ist eine deklarative Anfragesprache Teile von SQL Vier große Teile:
Datenbanksysteme 2013
Datenbanksysteme 2013 Kapitel 8: Datenintegrität Vorlesung vom 14.05.2013 Oliver Vornberger Institut für Informatik Universität Osnabrück Datenintegrität Statische Bedingung (jeder Zustand) Dynamische
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
1 Business-Intelligence-Architektur 1
D3kjd3Di38lk323nnm xi 1 Business-Intelligence-Architektur 1 1.1 Data Warehouse....................................... 1 1.2 OLAP und mehrdimensionale Datenbanken.................. 4 1.3 Architekturvarianten....................................
Aufbau Datenbanksysteme
Aufbau Datenbanksysteme Lehrveranstaltung Datenbanktechnologien Prof. Dr. Ingo Claßen Prof. Dr. Martin Kempa Hochschule für Technik und Wirtschaft Berlin Speichersystem c Ingo Claßen, Martin Kempa Softwarearchitektur
INDEXIERUNGS- STRATEGIE IM DATA WAREHOUSE
INDEXIERUNGS- STRATEGIE IM DATA WAREHOUSE ZWISCHEN ALBTRAUM UND OPTIMALER PERFORMANCE DOAG Konferenz 2011 Dani Schnider Trivadis AG Nürnberg, BASEL BERN LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT A.M. FREIBURG
Prakt. Datenbankprogrammierung. Sommersemester Was sind Constraints? I,11: Verwendung von Constraints. Festlegung von Constraints
Prakt. Datenbankprogrammierung Sommersemester 2005 I,11: Verwendung von Constraints Was sind Constraints? Constraints stellen Regeln auf Tabellenebene sicher. Constraints verhindern das Löschen aus einer
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
Daten- Historisierung. im DWH. Dr. Kurt Franke debitel AG. Historisierung.
Daten- im DWH Dr. Kurt Franke debitel AG [email protected] Dr. Kurt Franke, debitel AG D.O.A.G. SIG Datawarehouse - 17.06.2008 Folie 1 Zeitbezug von Datensätzen Eventbezogene Daten Datensets mit
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
1 Einführung Ziele der Vorlesung Die Idee Lernkarte Selbsttest-Frage 3 Literaturhinweise 3
1 Einführung 1 1.1 Ziele der Vorlesung 1 1.2 Die Idee 1 1.3 Lernkarte 2 1.4 Selbsttest-Frage 3 Literaturhinweise 3 Teilt Die Zukunft von Enterprise-Computing 5 2 Neue Anforderungen an Enterprise Computing
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
Logischer Entwurf. Stufen der Entwicklung einer Datenbank. Inhalt. Übersicht. 1. Datenbank - Entwurf ( ER - Diagramm)
10. Logischer Entwurf 10-1 10. Logischer Entwurf 10-2 Stufen der Entwicklung einer Datenbank 1. Datenbank - Entwurf ( ER - Diagramm) Logischer Entwurf 2. Umsetzen des ER - Diagramms ins relationale Modell
Datenbanken Unit 9: OLAP, OLTP und objektrelationale Datenbanken
Datenbanken Unit 9: OLAP, OLTP und objektrelationale Datenbanken 17. V. 2017 Outline 1 Organisatorisches 2 SQL 3 OLTP, OLAP, SAP, and Data Warehouse OLTP and OLAP SAP 4 Objekt-relationale Datenbanken Beispiel
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
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)
Ü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
Tips und Tricks für die Nutzung der Komponenten der Oracle BI EE
Tips und Tricks für die Nutzung der Komponenten der Oracle BI EE Joachim Schneider HUNKLER GmbH & Co. KG Bannwaldallee 32 76185 Karlsruhe Tips und Tricks Tips und Tricks Tips und Tricks Tips Tips und Tricks
Inhaltsverzeichnis. 1 Einleitung 1. 2 Aufbau von Data-Warehouse-Systemen 15. Lehner, Wolfgang Datenbanktechnologie für Data-Warehouse-Systeme 2003
1 Einleitung 1 1.1 Betriebswirtschaftlicher Ursprung des Data Warehousing 2 1.2 Statistischer Ursprung des Data Warehousing 5 1.3 Fòderativer Ursprung des Data Warehousing 7 1.4 Definition eines Data-Warehouse-Systems
DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER
DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.
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
Data Warehousing. Fragen des Marketingleiters. Beispiel: : Amazon. Technisch... Amazon weltweit... Datenbank. Aufbau eines DWH OLAP <-> OLTP Datacube
Fragen des Marketingleiters Data Warehousing Wie viele Bestellungen haben wir jeweils im Monat vor Weihnachten, aufgeschlüsselt nach? Aufbau eines DWH OLAP OLTP Datacube Beispiel: : Amazon Technisch
SQL-Vertiefung. VL Datenbanksysteme. Ingo Feinerer
SQL-Vertiefung VL Datenbanksysteme Ingo Feinerer Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Gliederung Einführung SQL-Programmteile
Übung PL/SQL Trigger Lösungen
Übung PL/SQL Trigger Lösungen 1) Gebe das aktuelle Datum aus. Wofür steht dual? Ändere das Datum für Deine aktuelle Session auf das Format Jahr (4 Stellen) Monat (2 Stellen) Tag (2 Stellen)[Leerzeichen]Stunde
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
Datenintegrität. Kapitel 5 1
Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Integritätsbedingungen Bedingungen an den Zustand der Datenbasis dynamische
Verwandt, logisch kohärent, zweckspezifisch, an reale Welt orientiert. Entität kann in einer oder mehreren Unterklassen sein
1 Definitionen 1.1 Datenbank Verwandt, logisch kohärent, zweckspezifisch, an reale Welt orientiert Integriert, selbstbeschreibend, verwandt 1.2 Intension/Extension Intension: Menge der Attribute Extension:
Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15
Vorwort..................................................... 13 Kapitel 1 Einleitung.......................................... 15 Kapitel 2 SQL der Standard relationaler Datenbanken... 19 2.1 Die Geschichte................................
Wie modelliere ich mein Core Data Warehouse?
Wie modelliere ich mein Core Data Warehouse? Dani Schnider Trivadis AG Zürich/Glattbrugg, Schweiz Schlüsselworte: Data Warehouse, Datenmodellierung, Historisierung Einleitung Das Core dient im Data Warehouse
Übung Datenbanksysteme Updates, Integritätsbedingungen, funktionale Abhängigkeiten
Übung Datenbanksysteme Updates, Integritätsbedingungen, funktionale Abhängigkeiten 12.1.2004 Änderungsoperationen bei SQL (Daten) Einfügen neuer Tupel (schon bekannt) INSERT INTO Table (Spalte1, Spalte2)
