Data Warehousing und Data Mining

Größe: px
Ab Seite anzeigen:

Download "Data Warehousing und Data Mining"

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 Änderungen in den Dimensionen Schemavarianten Beispiel: ROLAP in Oracle Evolution in Daten und Dimensionen Beispiel: ROLAP in Oracle 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 Abbildungen MDDM-Relational existieren Unterschiede in Speicherverbrauch, Redundanz, Performance von INSERT/SELECT/UPDATE,... Ulf Leser: Data Warehousing und Data Mining 3

4 Beispielschema year month day shop_name pg_name amount price sales shop region productgroup product product_name region_name 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 Beispielquery year month day shop_name pg_name amount 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 7

8 Variante 1 - Snowflake year id year productgroup id pg_name month id month year_id day id day month_id sales product_id day_id shop_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 8

9 Snowflake Schema Faktentabelle Measures plus Fremdschlüssel der kleinsten Klassifikationsstufe jeder Dimension Dimensionstabellen Eine Tabelle pro Klassifikationsstufe Attribute: Knotenattribute und ID Ein Tupel pro Klassifikationsknoten Eigenschaften Voll normalisiert Ein Tupel pro Klassifikationsknoten jeder Dimension Speicherplatz: (( d + f )* m + d * n) * b Fremdschlüssel je Dimension Measures Ulf Leser: Data Warehousing und Data Mining 9

10 Snowflake - Query 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 shop_name / year nicht 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: Star Schema 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 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 12

13 Star - 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 13

14 Variante: Knotenattribute im Star Schema Eigenen Tabellen pro Klassifikationsstufe Dimensionstabelle repräsentiert Hierarchie und enthält nur Keys Normalisiert, speicherplatzeffizient, ggf. zusätzliche Joins Dimensionstabelle Keys mehrfach vorhanden, zusätzlichen Joins für sprechende Attribute notwendig sales Product_id Day_id Shop_id amount price 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 14

15 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 15

16 Fullfact Faktentabelle Measures plus Fremdschlüssel jeder Klassifikationsstufe Dimensionstabellen Eine Tabelle pro Klassifikationsstufe Attribute: Knotenattribute 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 16

17 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) Wichtiger Effekt (Vergleich zu Star Schema): DimTabs sind kleiner in allen Klassifikationsstufen mit Level!=0 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 17

18 Speicherverbrauch 1 Speicherplatz nach Anz. Dim., M=10 6, K=4 Speicher snowflake star fullfact Dimensionen Ulf Leser: Data Warehousing und Data Mining 18

19 Speicherverbrauch 2 Speicherplatz nach Anz. Fakten, D=4, K= Speicher snowflake star fullfact Fakten Ulf Leser: Data Warehousing und Data Mining 19

20 Speicherverbrauch 3 Speicherplatz nach Anz. K-Stufen, M=10 6, D=4 Speicher snowflake star fullfact Klassifikationsstufen Ulf Leser: Data Warehousing und Data Mining 20

21 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 (im Idealfall 0) Star braucht meist 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 21

22 Inhalt dieser Vorlesung Relationales OLAP (ROLAP) Snowflake-, Star- und Fullfactschema Speicherplatz und Queries Schemavarianten Evolution in Daten und Dimensionen Änderung in den Werten Änderungen in der Struktur Beispiel: ROLAP in Oracle Multidimensionales OLAP (MOLAP) Ulf Leser: Data Warehousing und Data Mining 22

23 Entartete DWH 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 23

24 Galaxy Schema Mehrere Faktentabellen Jahr Monat Tag Lager Produktgruppe Produkt Verkauf Shop Region Ulf Leser: Data Warehousing und Data Mining 24

25 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 25

26 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 26

27 Unbalancierte Hierarchien Zuordnung von Produkten zu Hauptgruppen, Teilung großer Shops in Abteilungen, Im Snowflake Schema Fakten mit Fremdschlüsseln in mehrere Tabellen Klassifikationsknoten referenzieren verschiedene Elterntabellen DB kann beides nicht prüfen Eine Lösung: Auffüllen mit Dummy-Werte Jeder Shop bekommt eine NULL-Abteilung Einführung einer NULL Produktgruppe Shop1 Müssen vom Client bei Ausgabe unterdrückt werden Im Starschema: Ebenso (Auffüllen mit NULLs) Abt1 Top Shop2 Abt2 Abt3 Ulf Leser: Data Warehousing und Data Mining 27

28 Unbeschränkt tiefe Hierarchien Top Unbeschränkt lange Klassenhierarchien Stücklisten (Teil von...) Stark variierende, länderspezifische Organisationsstrukturen Auch parent-child hierarchies genannt Weder in Star noch Snowflake möglich Snowflake: Verlängerung erfordert neue Tabellen Star: Verlängerung erfordert neue Attribute (und viele NULLs) Immer: Es ist unklar, wie viele Joins man braucht, um ein komplettes Roll-Up zu berechnen K2 Ulf Leser: Data Warehousing und Data Mining 28

29 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 referenzielle Integrität product_id könnte auf höheren Knoten in product zeigen Ulf Leser: Data Warehousing und Data Mining 29

30 Nicht-hierarchische Hierarchien Knoten können mehrere Vorgänger derselben Stufe haben Selbst-Referenzialität reicht nicht mehr Rekursive 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 predecessor_id Ulf Leser: Data Warehousing und Data Mining 30

31 Inhalt dieser Vorlesung Relationales OLAP (ROLAP) Snowflake-, Star- und Fullfactschema Speicherplatz und Queries Schemavarianten Evolution in Daten und Dimensionen Änderung in den Werten Änderungen in der Struktur Beispiel: ROLAP in Oracle Multidimensionales OLAP (MOLAP) Ulf Leser: Data Warehousing und Data Mining 31

32 Änderungen in den Dimensionen DWH speichern Daten über lange Zeiträume In langen Zeiträumen passieren oftmals Änderungen In den Werten (Namen / Eigenschaften von Produkten, Status von Kunden etc.) In den Dimensionsstrukturen (Neue Organisationsebenen, Zusammenfassung von Produktgruppen, Auslistung, ) Alte Fakten sollen im alten Bezugsrahmen bleiben Echtes, ständig vorhandenes, schwieriges Problem Keine Silver Bullets, nur Workarounds Ulf Leser: Data Warehousing und Data Mining 32

33 Slowly Changing Dimensions Updates bei den Klassifikationsknoten einer Hierarchie Gemeint sind nicht Korrekturen (Buch hätte schon immer gebunden sein sollen), sondern Änderungen (Buch wurde bisher nur gebunden verkauft, jetzt nur noch broschiert) Auch Deletes und Inserts Knoten existieren nur in Zeiträumen (mit unterschiedlichen Werten) Alte Werte sollten von alten Fakten adressiert werden, neue Werte von neuen Fakten Ausführen des Updates führt zu Verfälschungen Verkäufe eines gebundenen Buchs vor Stichtag werden plötzlich zu Verkäufen eines broschierten Buchs Lösung: Daten versionieren Ulf Leser: Data Warehousing und Data Mining 33

34 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. in CVS Deutlich komplexer Ulf Leser: Data Warehousing und Data Mining 34

35 Versionen im relationalen Modell RDBMS soll Versionen auf Tupelebene verwalten Änderung in einem Attribut eine neue Version Änderungen in mehreren Attributen eine neue Version Keine Schemaänderungen Anforderungen (Schneller) Zugriff auf aktuelle Version Zugriff auf Version zu beliebigem Zeitpunkt d 0 Zwei prominente Varianten Single-Table Schattentabellen Ulf Leser: Data Warehousing und Data Mining 35

36 Variante 1: Single-Table Erweiterung jeder Tabelle T um die folgenden Attribute Versionsnummer ALIVE VALIDFROM Schlüsselveränderung id (id, version) product product_id name packungsgröße farbe gewicht product product_id version alive validfrom name packungsgröße farbe gewicht Ulf Leser: Data Warehousing und Data Mining 36

37 INSERT INSERT Objekt k in T Gibt es k schon in T? Nein Ja INSERT INTO T VALUES (id=k, version=0, alive=true, validfrom=sysdate, ) Letzte Version von k in T finden (v ) k.v.alive=true? Ja Nein» Fehlermeldung» INSERT INTO T VALUES (id=k, version=v +1, alive=true, validfrom=sysdate, ) Ulf Leser: Data Warehousing und Data Mining 37

38 DELETE DELETE Objekt k aus T Gibt es k schon in T? Nein Ja Nichts tun Letzte Version von k in T finden (v ) k.v.alive=true? Ja Nein» INSERT INTO T VALUES (id=k, version=v +1, alive=false, validfrom=sysdate, )» UPDATE T SET alive=false WHERE (id, version) = (k, v )» Nichts tun Ulf Leser: Data Warehousing und Data Mining 38

39 UPDATE UPDATE Objekt k in T k in T vorhanden? Nein Ja Nichts tun Letzte Version von k in T finden (v ) k.v.alive=true? Ja Nein» INSERT INTO T VALUES (id=k, version=v +1, alive=true, validfrom=sysdate, )» UPDATE T SET alive=false WHERE (id, version) = (k, v )» Nichts tun Ulf Leser: Data Warehousing und Data Mining 39

40 SELECT SELECT aktuellste Version von k SELECT * FROM T WHERE alive=true AND id=k; SELECT aktueller Zustand von T SELECT * FROM T WHERE alive=true; SELECT alle Tupel gültig zum Zeitpunkt d SELECT * FROM T WHERE validfrom = (SELECT MAX(validfrom) FROM T1 WHERE T.id=T1.id AND T2.validfrom <= d); Vorsicht: Gelöschte Tupel werden nicht korrekt behandelt Ulf Leser: Data Warehousing und Data Mining 40

41 Bewertung Bewertung INSERT / DELETE / UPDATE erfordern Trigger Version/alive sollte in praktisch alle Indexe aufgenommen werden Relativ schneller Zugriff auf aktuellste Version alive hat nur zwei Werte; schlechte Selektivität, also meist Scan Nur bei sehr vielen Änderungen steigt Selektivität und Index lohnt sich Tendenziell Verlangsamung durch wachsende Tabelle Schwierige Rekonstruktion alter Datenbestände Varianten Versionsnummer weglassen (Datum reicht eigentlich) VALIDFROM und VALIDUNTIL verwenden Einfachere Rekonstruktion, mehr Speicherplatz Ulf Leser: Data Warehousing und Data Mining 41

42 Variante 2: Schattentabellen Anlegen einer Tabelle T s pro Tabelle T Alle Attribute auf T plus Versionsnummer version validfrom und validuntil Schlüsselveränderung id (id, version) Außerdem: T um Attribut validfrom erweitern T S speichert alte Versionen T speichert nur aktuellste Version Ulf Leser: Data Warehousing und Data Mining 42

43 INSERT INSERT Objekt k in T k in T vorhanden? Nein Ja INSERT INTO T VALUES (id=k, validfrom=sysdate, ) Fehlermeldung Ulf Leser: Data Warehousing und Data Mining 43

44 Variante 2: DELETE DELETE Objekt k aus T k in T vorhanden? Nein Ja Nichts tun Letzte Version von k in T S suchen (v ) v existiert nicht INSERT INTO T S VALUES (id=k, version=0, validuntil=sysdate, ) v existiert INSERT INTO T S VALUES (id=k, version=v +1, validuntil=sysdate, ) DELETE FROM T WHERE id=k Ulf Leser: Data Warehousing und Data Mining 44

45 UPDATE UPDATE Objekt k in T k in T vorhanden? Nein Ja Nichts tun Letzte Version von k in T S finden (v ) v existiert nicht INSERT INTO T S VALUES( id=k, version=0, validuntil=sysdate, ) v existiert INSERT INTO T S VALUES( id=k, version=v +1, validuntil=sysdate, ) UPDATE T SET validfrom=sysdate, WHERE id=k Ulf Leser: Data Warehousing und Data Mining 45

46 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 Kompliziert... Alle k in T mit validfrom d nehmen Von allen anderen k: Wert von T S nehmen mit max(validuntil), aber kleiner d Erfordert Zugriff auf T und T S Ulf Leser: Data Warehousing und Data Mining 46

47 Bewertung Bewertung INSERT / DELETE / UPDATE erfordern Trigger Sehr schneller Zugriff auf aktuellste Version Kein Unterschied zu nicht-versioniert Komplexer Zugriff auf Zustand zu Zeitpunkt d Komplizierteres INSERT /DELETE / UPDATE Meistens zwei Tabellen betroffen Gut geeignet zur Archivierung (T bleibt unangetastet) Ulf Leser: Data Warehousing und Data Mining 47

48 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 Vorsicht vor unvorhergesehenen Effekten (Indexdegradierung, Tabellenfragmentierung, etc.) Vorsicht vor Referenzen / Fremdschlüssel auf versionierte Objekte Hier gibt es weitere implizite Integritätsconstraints Ulf Leser: Data Warehousing und Data Mining 48

49 Inhalt dieser Vorlesung Relationales OLAP (ROLAP) Sich ändernde Dimensionen Änderung in den Werten Änderungen in der Struktur Beispiel: ROLAP in Oracle Multidimensionales OLAP (MOLAP) Ulf Leser: Data Warehousing und Data Mining 49

50 Änderungen in Klassifikationshierarchie Auch Dimensionen verändern sich Mögliche Operationen Gelöschte / neue Klassifikationsknoten Gelöschte / neue Klassifikationsstufen Neue Dimensionen Aufwand für Operationen abhängig von Modellierung Im folgenden: Vier Operationen Ulf Leser: Data Warehousing und Data Mining 50

51 Ä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 51

52 Ä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 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 52

53 Änderung: DelN Löschen eines Klassifikationsknoten in einem Pfad an Level i 0; Umhängen der Nachkommen auf beliebigen anderen Knoten desselben Levels 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 Ulf Leser: Data Warehousing und Data Mining 53

54 Änderung: DelN 0 Löschen eines Klassifikationsknoten in einem Pfad an Level i=0; Umhängen der Fakten auf andere Knoten mit Level 0 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 54

55 Ä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) DelN 1 Delete, 3 Update 0 Delete, 3 Update 1 Delete, m/3 k-i Updates (Level i: 3 k-i Knoten) DelN 0 1 Delete, m/3 k Update 1 Delete, m/3 k Update 1 Delete, m/3 k Updates Ulf Leser: Data Warehousing und Data Mining 55

56 Versionierung in Oracle Oracle Flashback (lineare Versionierung) 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 anschliessendem MERGE Div. Einschränkungen bei Constraints, Trigger, etc. Umsetzung in PL/SQL Packages, eher langsam Ulf Leser: Data Warehousing und Data Mining 56

57 Inhalt dieser Vorlesung Relationales OLAP (ROLAP) Evolution in Daten und Dimensionen Beispiel: ROLAP in Oracle Multidimensionales OLAP (MOLAP) Ulf Leser: Data Warehousing und Data Mining 57

58 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 58

59 Beispiel: Snowflake Schema sales product_id day_id shop_id amount price product id product_name pg_id productgroup id pg_name 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 59

60 Beispiel: Star Schema 1. Name eines Levels 2. Name eines Attributes time day_id day month_id month year_id year sales product_id day_id shop_id amount price 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) Ref. IC innerhalb einer Tabelle Ulf Leser: Data Warehousing und Data Mining 60

61 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 61

62 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 Rewrite (siehe Materialisierte Sichten ) Für Client-Software / Visualisierung / Navigation Ulf Leser: Data Warehousing und Data Mining 62

63 Inhalt dieser Vorlesung Relationales OLAP (ROLAP) Evolution in Daten und Dimensionen Beispiel: ROLAP in Oracle Multidimensionales OLAP (MOLAP) Ulf Leser: Data Warehousing und Data Mining 63

64 Multidimensionales OLAP Grundidee: Speicherung multidimensionaler Daten in multidimensionalen Arrays Tendenziell gibt das Probleme Range-Queries, Einbeziehung prä-aggregierter Daten Wenn Daten nicht in Hauptspeicher passen Siehe auch multidimensionale Indexstrukturen (später) Dafür rasend schnell für passende Zugriffsmuster Im folgenden: Ein Würfel, ein Fakt Ulf Leser: Data Warehousing und Data Mining 64

65 Klassifikationshierarchien Modellierung als eingebettete Knoten der untersten Stufe Jahr Jahr Q3 Q2 Q1 Q4 Q3 Q2 Q1 Q2 Q Q4 Q3 Q2 Q1 Ulf Leser: Data Warehousing und Data Mining 65

66 Array Adressierung Sei d i = D i, d Dimensionen, b: Speicherplatz pro Attribut (Key oder Wert) Linearisierte Darstellung <1,1,1>, <1,1,2>,..., <1,1,d 1 >, <1,2,1>,... Offset der Zelle <a 1,...a d > b* d i= 1 i 1 ( a i 1)* d j j= 1 Ulf Leser: Data Warehousing und Data Mining 66

67 Arrayspeicherung - Probleme Naive MOLAP: Unterschiedliche Performanz je nach Reihenfolge der Dimensionen in Array / Anfrage Daten liegen nach D n geordnet auf Platte Zugriff auf <2,2,X> - sequentieller Read Zugriff auf <X,1,3> oder <3,X,3> - Zugriff auf viele Blöcke Aber: RDBMS hat ähnliche Probleme Zugriff abhängig von Anordnung der Tupel auf der Platte Forschung: Column stores Problem: Speicherung verschiedener Werte pro Zelle Mehrere Verkäufe von CocaCola an einem Tag in einem Shop? Auflösung durch Listen etc. Ulf Leser: Data Warehousing und Data Mining 67

68 Speicherverbrauch Speicherung Koordinaten Array Implizit (Linearisierung) Relational (Star Schema) Explizit (redundant) Leere Zellen Belegen Platz Belegen keinen Platz Neue Klassifik.- knoten Speicherverbrauch Typisches Zugriffsmuster Komplette Reorganisation Stark wachsender Speicher b i= 1 (plus Listen bei mehreren Fakten pro Koordinate) d d i Sequentiell Neue Zeile in Dim-tabelle Kaum Speicherwachstum * b* m*( d + 1) Random Access Ulf Leser: Data Warehousing und Data Mining 68

69 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 69

70 Sparse Matrices Viele Dimensionen und Klassifikationsknoten Dünn besetzte Matrizen, geringer Füllungsgrad Ineffiziente Speicherplatznutzung Überflüssiges I/O (Auch NULLs müssen gelesen werden) Abhilfe: Komprimierung Run-Length Encoding (RLE): Schlecht indizierbar 2-Ebenen Speicherung Ebene 1: Array mit dünn besetzten Dimensionen Ebene 2: Arrays mit dicht besetzten Dimensionen Gewinn: Viele Ebene 2 Blöcke leer weglassen Siehe multidimensionale Indexstrukturen (später) Ulf Leser: Data Warehousing und Data Mining 70

71 Fazit MOLAP Kein Standard vorhanden, proprietäre Produkte Volksmeinung Prinzipiell schneller Gut für aggregierte Daten (keine Listen etc.) Schlechte Skalierbarkeit, wenn der Hauptspeicher ausgeht Typischer Einsatz (Regelmäßige) Snapshots des (ROLAP) Cubes auf Client in MOLAP Datenbank laden Vorberechnung aller Aggregate Read-Only Verwendung für schnelle, intuitive User-Interfaces Real-Time OLAP Ulf Leser: Data Warehousing und Data Mining 71

Data Warehousing und Data Mining

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

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

Data Warehousing. Speicherung multidimensionaler Daten. Ulf Leser Wissensmanagement in der Bioinformatik

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

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

Data Warehousing und Data Mining

Data Warehousing und Data Mining Data Warehousing und Data Mining Speicherung multidimensionaler Daten Ulf Leser Wissensmanagement in der Bioinformatik Dimension Dimension Top Jahr 1997 1998 1999 2000 Quartal I II III IV I II III IV Klassifikationsstufen

Mehr

Aufgabe 1: [Logische Modellierung]

Aufgabe 1: [Logische Modellierung] Aufgabe 1: [Logische Modellierung] a) Entwerfen Sie für das von Ihnen entworfene Modell aus Aufgabe 2 des 1. Übungsblattes ein Star-Schema. b) Entwerfen Sie für das vorangegangene Modell einen Teil eines

Mehr

Data Warehousing und Data Mining

Data Warehousing und Data Mining Data Warehousing und Data Mining Logische Optimierung Ulf Leser Wissensmanagement in der Bioinformatik Inhaltsübersicht Vorlesung Einleitung & Motivation Architektur Modellierung von Daten im DWH Umsetzung

Mehr

Datenbanksysteme 2 Frühjahr-/Sommersemester 2014 28. Mai 2014

Datenbanksysteme 2 Frühjahr-/Sommersemester 2014 28. Mai 2014 Lehrstuhl für Praktische Informatik III Prof. Dr. Guido Moerkotte Email: moer@db.informatik.uni-mannheim.de Marius Eich Email: marius.eich@uni-mannheim.de Datenbanksysteme 2 8. Übungsblatt Frühjahr-/Sommersemester

Mehr

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

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.

Mehr

Data Warehousing und Data Mining

Data Warehousing und Data Mining Data Warehousing und Data Mining Sprachen für OLAP Operationen Ulf Leser Wissensmanagement in der Bioinformatik Beispielquery Year Month Day Shop_name Pg_name Amount Price Sales Shop Region Productgroup

Mehr

Verwandt, logisch kohärent, zweckspezifisch, an reale Welt orientiert. Entität kann in einer oder mehreren Unterklassen sein

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:

Mehr

SQL: statische Integrität

SQL: statische Integrität SQL: statische Integrität.1 SQL: statische Integrität Im allgemeinen sind nur solche Instanzen einer Datenbank erlaubt, deren Relationen die der Datenbank bekannten Integritätsbedingungen erfüllen. Integritätsbedingungen

Mehr

OPERATIONEN AUF EINER DATENBANK

OPERATIONEN AUF EINER DATENBANK Einführung 1 OPERATIONEN AUF EINER DATENBANK Ein Benutzer stellt eine Anfrage: Die Benutzer einer Datenbank können meist sowohl interaktiv als auch über Anwendungen Anfragen an eine Datenbank stellen:

Mehr

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

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

Mehr

Das Multidimensionale Datenmodell

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

Mehr

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin PhpMyAdmin = grafsches Tool zur Verwaltung von MySQL-Datenbanken Datenbanken erzeugen und löschen Tabellen und Spalten einfügen,

Mehr

Universität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr. Praktikum Datenbanken / DB2 Woche 8: Trigger, SQL-PL

Universität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr. Praktikum Datenbanken / DB2 Woche 8: Trigger, SQL-PL Betreuer: Sascha Kriewel, Tobias Tuttas Raum: LF 230 Bearbeitung: 26., 27. und 29. Juni 2006 Datum Team (Account) Vorbereitung Präsenz Aktuelle Informationen, Ansprechpartner und Material unter: http://www.is.inf.uni-due.de/courses/dbp_ss07/index.html

Mehr

Data Cube. Aggregation in SQL. Beispiel: Autoverkäufe. On-line Analytical Processing (OLAP) 1. Einführung. 2. Aggregation in SQL, GROUP BY

Data Cube. Aggregation in SQL. Beispiel: Autoverkäufe. On-line Analytical Processing (OLAP) 1. Einführung. 2. Aggregation in SQL, GROUP BY Data Cube On-line Analytical Processing (OLAP). Einführung Ziel: Auffinden interessanter Muster in großen Datenmengen 2. Aggregation in SQL, GROUP BY 3. Probleme mit GROUP BY 4. Der Cube-Operator! Formulierung

Mehr

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5 Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5 Aufgabe 1: Projektion Datenbanksysteme I π A1,...,A n (π B1,...,B

Mehr

Datenintegrität. Bisherige Integritätsbedingungen

Datenintegrität. Bisherige Integritätsbedingungen Datenintegrität Integitätsbedingungen chlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Bedingungen an den Zustand der Datenbasis dynamische Bedingungen an Zustandsübergänge

Mehr

Data Warehousing und Data Mining

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

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 Hochschule Darmstadt DATENBANKEN Fachbereich Informatik Praktikum 3 Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 PL/SQL Programmierung Anwendung des Cursor Konzepts und Stored Procedures Und Trigger

Mehr

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004) Nachtrag: Farben Farbblindheit (Light und Bartlein 2004) 1 Vorgeschlagene Farbskalen (Light and Bartlein 2004) Farbkodierung metrisch skalierter Daten Unterscheide: 1. Sequential Data (ohne Betonung der

Mehr

SQL structured query language

SQL structured query language Umfangreiche Datenmengen werden üblicherweise in relationalen Datenbank-Systemen (RDBMS) gespeichert Logische Struktur der Datenbank wird mittels Entity/Realtionship-Diagrammen dargestellt structured query

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

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

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

Mehr

Übersicht über Datenbanken

Übersicht über Datenbanken Übersicht über Datenbanken Vergleich zwischen normaler Datenorganisation und Datenbanken Definition einer Datenbank Beispiel (inkl. Zugriff) Der Datenbankadministrator Relationale Datenbanken Transaktionen

Mehr

Referentielle Integrität

Referentielle Integrität Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Integritätsbedingungen Bedingungen an den Zustand der Datenbasis dynamische

Mehr

Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung

Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung 6. Datenintegrität Motivation Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung nur sinnvolle Attributwerte (z.b. keine negativen Semester) Abhängigkeiten

Mehr

Urs Meier (urs.meier@trivadis.com) Art der Info Technical Info (Februar 2002) Aus unserer Projekterfahrung und Forschung

Urs Meier (urs.meier@trivadis.com) Art der Info Technical Info (Februar 2002) Aus unserer Projekterfahrung und Forschung Betrifft Optimizer Autor Urs Meier (urs.meier@trivadis.com) Art der Info Technical Info (Februar 2002) Quelle Aus unserer Projekterfahrung und Forschung Einführung Mit jedem Oracle Release nimmt die Anzahl

Mehr

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester

Mehr

Man liest sich: POP3/IMAP

Man liest sich: POP3/IMAP Man liest sich: POP3/IMAP Gliederung 1. Einführung 1.1 Allgemeiner Nachrichtenfluss beim Versenden von E-Mails 1.2 Client und Server 1.2.1 Client 1.2.2 Server 2. POP3 2.1 Definition 2.2 Geschichte und

Mehr

Hetero-Homogene Data Warehouses

Hetero-Homogene Data Warehouses Hetero-Homogene Data Warehouses TDWI München 2011 Christoph Schütz http://hh-dw.dke.uni-linz.ac.at/ Institut für Wirtschaftsinformatik Data & Knowledge Engineering Juni 2011 1 Data-Warehouse-Modellierung

Mehr

Datenintegrität. Arten von Integritätsbedingungen. Statische Integritätsbedingungen. Referentielle Integrität. Integritätsbedingungen in SQL.

Datenintegrität. Arten von Integritätsbedingungen. Statische Integritätsbedingungen. Referentielle Integrität. Integritätsbedingungen in SQL. Datenintegrität Arten von Integritätsbedingungen Statische Integritätsbedingungen Referentielle Integrität Integritätsbedingungen in SQL Trigger 1 Datenintegrität Einschränkung der möglichen Datenbankzustände

Mehr

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Datenintegrität Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Formulierung von Integritätsbedingungen ist die wichtigste Aufgabe des DB-Administrators!

Mehr

3.17 Zugriffskontrolle

3.17 Zugriffskontrolle 3. Der SQL-Standard 3.17. Zugriffskontrolle Seite 1 3.17 Zugriffskontrolle Datenbanken enthalten häufig vertrauliche Informationen, die nicht jedem Anwender zur Verfügung stehen dürfen. Außerdem wird man

Mehr

1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert

1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert Inhalt Einführung 1. Arrays 1. Array unsortiert 2. Array sortiert 3. Heap 2. Listen 1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert 3. Bäume

Mehr

Referentielle Integrität

Referentielle Integrität Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Integritätsbedingungen Bedingungen an den Zustand der Datenbasis dynamische

Mehr

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Datenintegrität Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Formulierung von Integritätsbedingungen ist die wichtigste Aufgabe des DB-Administrators!

Mehr

Nachtrag zu binären Suchbäumen

Nachtrag zu binären Suchbäumen Nachtrag zu binären Suchbäumen (nicht notwendigerweise zu AVL Bäumen) Löschen 1 3 2 10 4 12 1. Fall: Der zu löschende Knoten ist ein Blatt: einfach löschen 2. Fall: Der zu löschende Knoten hat ein Nachfolgeelement

Mehr

MySQL 101 Wie man einen MySQL-Server am besten absichert

MySQL 101 Wie man einen MySQL-Server am besten absichert MySQL 101 Wie man einen MySQL-Server am besten absichert Simon Bailey simon.bailey@uibk.ac.at Version 1.1 23. Februar 2003 Change History 21. Jänner 2003: Version 1.0 23. Februar 2002: Version 1.1 Diverse

Mehr

Veit Köppen Gunter Saake Kai-Uwe Sattler. 2. Auflage. Data Warehouse Technologien

Veit Köppen Gunter Saake Kai-Uwe Sattler. 2. Auflage. Data Warehouse Technologien Veit Köppen Gunter Saake Kai-Uwe Sattler 2. Auflage Data Warehouse Technologien Inhaltsverzeichnis Inhaltsverzeichnis ix 1 Einführung in Data-Warehouse-Systeme 1 1.1 Anwendungsszenario Getränkemarkt...

Mehr

7. Übung - Datenbanken

7. Übung - Datenbanken 7. Übung - Datenbanken Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: DBS a Was ist die Kernaufgabe von Datenbanksystemen? b Beschreiben Sie kurz die Abstraktionsebenen

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

Themen. M. Duffner: Datenbanksysteme

Themen. M. Duffner: Datenbanksysteme Datenbanksysteme Themen Theorie Einführung Datenbank, Datenbankmanagementsystem (DBMS), Aufgaben eines DBMS Relationale Datenbanken Daten als Tabellen Datenbankentwurf im Entity-Relationship-Modell Abfragesprache

Mehr

SQL. Fortgeschrittene Konzepte Auszug

SQL. Fortgeschrittene Konzepte Auszug SQL Fortgeschrittene Konzepte Auszug Levels SQL92 Unterteilung in 3 Levels Entry Level (i.w. SQL89) wird von nahezu allen DBS Herstellern unterstützt Intermediate Level Full Level SQL DML 2-2 SQL92 behebt

Mehr

Softwaretechnologie -Wintersemester 2013/2014 - Dr. Günter Kniesel

Softwaretechnologie -Wintersemester 2013/2014 - Dr. Günter Kniesel Übungen zur Vorlesung Softwaretechnologie -Wintersemester 2013/2014 - Dr. Günter Kniesel Übungsblatt 3 - Lösungshilfe Aufgabe 1. Klassendiagramme (9 Punkte) Sie haben den Auftrag, eine Online-Videothek

Mehr

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

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

Mehr

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007 6. Übung zur Vorlesung Datenbanken im Sommersemester 2007 mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007 Aufgabe 1: Rekursion Betrachten Sie die folgende Tabelle

Mehr

Referenzielle Integrität SQL

Referenzielle Integrität SQL Referenzielle Integrität in SQL aus Referential Integrity Is Important For Databases von Michael Blaha (Modelsoft Consulting Corp) VII-45 Referenzielle Integrität Definition: Referenzielle Integrität bedeutet

Mehr

Prozedurale Datenbank- Anwendungsprogrammierung

Prozedurale Datenbank- Anwendungsprogrammierung Idee: Erweiterung von SQL um Komponenten von prozeduralen Sprachen (Sequenz, bedingte Ausführung, Schleife) Bezeichnung: Prozedurale SQL-Erweiterung. In Oracle: PL/SQL, in Microsoft SQL Server: T-SQL.

Mehr

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler Programmieren für mobile Endgeräte SS 2013/2014 Programmieren für mobile Endgeräte 2 Informationen aus der Datenbank lesen Klasse SQLiteDatabase enthält die Methode query(..) 1. Parameter: Tabellenname

Mehr

Ein Ausflug zu ACCESS

Ein Ausflug zu ACCESS Ein Ausflug zu ACCESS Die folgenden Folien zeigen beispielhaft, wie man sein DB- Wissen auf ACCESS übertragen kann betrachtet wird ACCESS 2002, da gerade im Bereich der Nutzung von SQL hier einiges nachgearbeitet

Mehr

IV. Datenbankmanagement

IV. Datenbankmanagement Wirtschaftsinformatik 2 (PWIN) IV. Datenbankmanagement Kapitel 2: Datenmanipulationssprache SQL Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 1 Agenda 1.

Mehr

Kapitel 8: Physischer Datenbankentwurf

Kapitel 8: Physischer Datenbankentwurf 8. Physischer Datenbankentwurf Seite 1 Kapitel 8: Physischer Datenbankentwurf Speicherung und Verwaltung der Relationen einer relationalen Datenbank so, dass eine möglichst große Effizienz der einzelnen

Mehr

Data Warehouse Technologien

Data Warehouse Technologien Veit Köppen Gunter Saake Kai-Uwe Sattler Data Warehouse Technologien Inhaltsverzeichnis Inhaltsverzeichnis vii 1 Einführung in Data-Warehouse-Systeme 1 1.1 Anwendungsszenario Getränkemarkt...............

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

Vorlesung Dokumentation und Datenbanken Klausur

Vorlesung Dokumentation und Datenbanken Klausur Dr. Stefan Brass 5. Februar 2002 Institut für Informatik Universität Giessen Vorlesung Dokumentation und Datenbanken Klausur Name: Geburtsdatum: Geburtsort: (Diese Daten werden zur Ausstellung des Leistungsnachweises

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

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

Modul Datenbanksysteme 2 Prüfung skizzenhaft SS Aug. 2007. Name: Note:

Modul Datenbanksysteme 2 Prüfung skizzenhaft SS Aug. 2007. Name: Note: 1 Modul Datenbanksysteme 2 Prüfung skizzenhaft SS Aug. 2007 Name: Note: Nr. Aufgaben Max. Punkte Erreichte Punkte 1 Grundlagen ~ 10% Vgl. Hinweis unten 2 Integrität, Procedures, Triggers, Sichten ~ 20%

Mehr

Sortierte Folgen 250

Sortierte Folgen 250 Sortierte Folgen 250 Sortierte Folgen: he 1,...,e n i mit e 1 apple applee n kennzeichnende Funktion: M.locate(k):= addressof min{e 2 M : e k} Navigations Datenstruktur 2 3 5 7 11 13 17 19 00 Annahme:

Mehr

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager Datensatzhistorie mit dem SQL Server 2000 und 2005 Datensatzhistorie mit dem SQL Server 2000 und 2005-2 - Inhalt

Mehr

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

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

Mehr

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man

Mehr

ORM & OLAP. Object-oriented Enterprise Application Programming Model for In-Memory Databases. Sebastian Oergel

ORM & OLAP. Object-oriented Enterprise Application Programming Model for In-Memory Databases. Sebastian Oergel ORM & OLAP Object-oriented Enterprise Application Programming Model for In-Memory Databases Sebastian Oergel Probleme 2 Datenbanken sind elementar für Business-Anwendungen Gängiges Datenbankparadigma:

Mehr

Kapitalerhöhung - Verbuchung

Kapitalerhöhung - Verbuchung Kapitalerhöhung - Verbuchung Beschreibung Eine Kapitalerhöhung ist eine Erhöhung des Aktienkapitals einer Aktiengesellschaft durch Emission von en Aktien. Es gibt unterschiedliche Formen von Kapitalerhöhung.

Mehr

Schlüssel bei temporalen Daten im relationalen Modell

Schlüssel bei temporalen Daten im relationalen Modell Schlüssel bei temporalen Daten im relationalen Modell Gesine Mühle > Präsentation > Bilder zum Inhalt zurück weiter 322 Schlüssel im relationalen Modell Schlüssel bei temporalen Daten im relationalen Modell

Mehr

Options- und Freitext-Modul Update-Anleitung

Options- und Freitext-Modul Update-Anleitung Options- und Freitext-Modul Update-Anleitung Hinweis... 2 Update für Versionen kleiner als 1.2.4 auf 1.3.x... 3 Update für Versionen ab 1.2.4 auf 1.3.x... 6 Update für Versionen ab 1.3.x auf 2.x.x... 7

Mehr

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos in Verbindung mit der Webshopanbindung wurde speziell auf die Shop-Software shop to date von DATA BECKER abgestimmt. Mit

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen

Mehr

Data Warehousing und Data Mining

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

Mehr

Objektrelationale Datenbanken

Objektrelationale Datenbanken Vorlesung Datenbanksysteme vom 26.11.2008 Objektrelationale Datenbanken Konzepte objektrelationaler DBs SQL:1999 OO vs. OR Konzepte objektrelationaler Datenbanken Große Objekte (LOBs: Large Objects) Mengenwertige

Mehr

Künstliches binäres Neuron

Künstliches binäres Neuron Künstliches binäres Neuron G.Döben-Henisch Fachbereich Informatik und Ingenieurwissenschaften FH Frankfurt am Main University of Applied Sciences D-60318 Frankfurt am Main Germany Email: doeben at fb2.fh-frankfurt.de

Mehr

Beispiel 1: Filmdatenbank

Beispiel 1: Filmdatenbank Beispiel 1: Filmdatenbank Die Filmdatenbank hat drei Tabellen (ACTOR, MOVIE, PLAYED) Aufgabe 1: Erstelle mit Hilfe der SQL-DDL die drei Tabellen und die Datenbank (MOVIEDB) ACTOR (ActorID, Name, Birthday,

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se

Mehr

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2 5 Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn 7 7. Datenbank-Zugriff Zum Beispiel aus PHP-Skripten: Client 7-2 Struktur einer Datenbank 7-3 Erzeugen von Datenbanken

Mehr

Labor 3 - Datenbank mit MySQL

Labor 3 - Datenbank mit MySQL Labor 3 - Datenbank mit MySQL Hinweis: Dieses Labor entstand z.t. aus Scripten von Prof. Dr. U. Bannier. 1. Starten des MySQL-Systems MySQL ist ein unter www.mysql.com kostenlos erhältliches Datenbankmanagementsystem.

Mehr

Seminar C16 - Datenmodellierung für SAP BW

Seminar C16 - Datenmodellierung für SAP BW C16: Datenmodellierung für SAP BW Ein Seminar der DWH academy Seminar C16 - Datenmodellierung für SAP BW Dieses Seminar soll einen umfassenden Einblick in die Datenmodellierung beim Einsatz von SAP BW

Mehr

Model Klausel - Der Excel-Killer von Oracle?

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

Mehr

Tag 4 Inhaltsverzeichnis

Tag 4 Inhaltsverzeichnis Tag 4 Inhaltsverzeichnis Normalformen Problem Formen (1-4) Weitere Formen Transaktionen Synchronisationsprobleme Überblick Autocommit Locking Savepoints Isolation levels Übungen RDB 4-1 Normalformen Problematik

Mehr

How to do? Projekte - Zeiterfassung

How to do? Projekte - Zeiterfassung How to do? Projekte - Zeiterfassung Stand: Version 4.0.1, 18.03.2009 1. EINLEITUNG...3 2. PROJEKTE UND STAMMDATEN...4 2.1 Projekte... 4 2.2 Projektmitarbeiter... 5 2.3 Tätigkeiten... 6 2.4 Unterprojekte...

Mehr

PostgreSQL in großen Installationen

PostgreSQL in großen Installationen PostgreSQL in großen Installationen Cybertec Schönig & Schönig GmbH Hans-Jürgen Schönig Wieso PostgreSQL? - Die fortschrittlichste Open Source Database - Lizenzpolitik: wirkliche Freiheit - Stabilität,

Mehr

Whitepaper. Produkt: combit Relationship Manager / address manager. Integration der Ansicht "Adressen" in eigene Solution

Whitepaper. Produkt: combit Relationship Manager / address manager. Integration der Ansicht Adressen in eigene Solution combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager / address manager Integration der Ansicht "Adressen" in eigene Solution Integration der Ansicht "Adressen" in

Mehr

6. Sichten, Integrität und Zugriffskontrolle. Vorlesung "Informa=onssysteme" Sommersemester 2015

6. Sichten, Integrität und Zugriffskontrolle. Vorlesung Informa=onssysteme Sommersemester 2015 6. Sichten, Integrität und Zugriffskontrolle Vorlesung "Informa=onssysteme" Sommersemester 2015 Überblick Sichten Integritätsbedingungen Zugriffsrechte SQL- Schema und SQL- Katalog Das Informa=onsschema

Mehr

MySQL Installation. AnPr

MySQL Installation. AnPr Name Klasse Datum 1 Allgemeiner Aufbau Relationale Datenbank Management Systeme (RDBMS) werden im Regelfall als Service installiert. Der Zugriff kann über mehrere Kanäle durchgeführt werden, wobei im Regelfall

Mehr

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS 2015. Metadaten

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS 2015. Metadaten Fakultät für Informatik & Wirtschaftsinformatik Metadaten Metadaten sind Daten über Daten Data-Dictionary speichert Informationen über die Struktur der Daten, z.b.: Tabellen, Spalten, Datentypen Primär-

Mehr

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12 Grundlagen: Folge 19 - Bäume 19.1 Binärbäume - Allgemeines Unter Bäumen versteht man in der Informatik Datenstrukturen, bei denen jedes Element mindestens zwei Nachfolger hat. Bereits in der Folge 17 haben

Mehr

Einführung Git Interna Workflows Referenzen. Git. Fast Version Control System. Michael Kuhn michael.kuhn@informatik.uni-hamburg.de

Einführung Git Interna Workflows Referenzen. Git. Fast Version Control System. Michael Kuhn michael.kuhn@informatik.uni-hamburg.de Git Fast Version Control System Michael Kuhn michael.kuhn@informatik.uni-hamburg.de Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Universität Hamburg 2011-09-28 1 / 16 1 Einführung Überblick

Mehr

Logische Datenmodellierung zur Abbildung mehrdimensionaler Datenstrukturen im SAP Business Information Warehouse

Logische Datenmodellierung zur Abbildung mehrdimensionaler Datenstrukturen im SAP Business Information Warehouse Logische Datenmodellierung zur Abbildung mehrdimensionaler Datenstrukturen im SAP Business Information Warehouse Vortrag auf der BTW 2003, Leipzig 26.-28.02.2003 Dr. Michael Hahne cundus AG Prokurist,

Mehr

Neuanlage des Bankzugangs ohne das bestehende Konto zu löschen

Neuanlage des Bankzugangs ohne das bestehende Konto zu löschen 1 Neuanlage des Bankzugangs ohne das bestehende Konto zu löschen In moneyplex lässt sich ein Konto und ein Bankzugang nur einmal anlegen. Wenn sich der Bankzugang geändert hat oder das Sicherheitsmedium

Mehr

Updatehinweise für die Version forma 5.5.5

Updatehinweise für die Version forma 5.5.5 Updatehinweise für die Version forma 5.5.5 Seit der Version forma 5.5.0 aus 2012 gibt es nur noch eine Office-Version und keine StandAlone-Version mehr. Wenn Sie noch mit der alten Version forma 5.0.x

Mehr

Anlegen eines SendAs/RecieveAs Benutzer unter Exchange 2003, 2007 und 2010

Anlegen eines SendAs/RecieveAs Benutzer unter Exchange 2003, 2007 und 2010 1 von 6 Anlegen eines SendAs/RecieveAs Benutzer unter Exchange 2003, 2007 und 2010 ci solution GmbH 2010 Whitepaper Draft Anleitung Deutsch Verfasser: ci solution GmbH 2010 Manfred Büttner 16. September

Mehr

Datenbanken: Datenintegrität. www.informatikzentrale.de

Datenbanken: Datenintegrität. www.informatikzentrale.de Datenbanken: Datenintegrität Definition "Datenkonsistenz" "in der Datenbankorganisation (...) die Korrektheit der gespeicherten Daten im Sinn einer widerspruchsfreien und vollständigen Abbildung der relevanten

Mehr

PHP und MySQL. Integration von MySQL in PHP. Zellescher Weg 12 Willers-Bau A109 Tel. +49 351-463 - 32424. Michael Kluge (michael.kluge@tu-dresden.

PHP und MySQL. Integration von MySQL in PHP. Zellescher Weg 12 Willers-Bau A109 Tel. +49 351-463 - 32424. Michael Kluge (michael.kluge@tu-dresden. Zentrum für Informationsdienste und Hochleistungsrechnen (ZIH) PHP und MySQL Integration von MySQL in PHP Zellescher Weg 12 Willers-Bau A109 Tel. +49 351-463 - 32424 (michael.kluge@tu-dresden.de) MySQL

Mehr

Integritätsbedingungen / Normalformen- Beispiel: Kontoführung

Integritätsbedingungen / Normalformen- Beispiel: Kontoführung Technische Universität München WS 2003/04, Fakultät für Informatik Datenbanksysteme I Prof. R. Bayer, Ph.D. Lösungsblatt 8 Dipl.-Inform. Michael Bauer Dr. Gabi Höfling 12.01. 2004 Integritätsbedingungen

Mehr

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer

Mehr