1 / 70

Data Warehouse

Data Warehouse. Daten übernehmen und vorbereiten. Datenstruktur im Data Warehouse. Star - Schema Snowflake - Schema Starflake - Schema. Star Schema. Kunde. Lieferanten. Verkaufs- transaktionen. Ort. Produkte. Zeit. Fakten. Dimensionsdaten. Snowflake Schema. Fakten.

ponce
Download Presentation

Data Warehouse

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Data Warehouse Daten übernehmen und vorbereiten

  2. Datenstrukturim Data Warehouse • Star - Schema • Snowflake - Schema • Starflake - Schema

  3. Star Schema Kunde Lieferanten Verkaufs- transaktionen Ort Produkte Zeit Fakten Dimensionsdaten

  4. Snowflake Schema Fakten Snowflake Dimensionsdaten Verkaufs- transaktionen Ort Produkte Art Zeit Region Woche Farbe Oster- verkauf SSV Monat

  5. Starflake Schema Fakten Dimensionsdaten Snowflake Dimensionsdaten Lieferanten Kunde Verkaufs- transaktionen Ort Produkte Ort Art Zeit Region Produkte Zeit Farbe Woche Oster- verkauf SSV Monat

  6. Oracle Data Mining Architektur OWB Client Darwin Client Data Warehouse Oracle Intelligent WebHouse Datenbank z.B. Oracle 8.0.5 OCI Net8 Oracle Warehouse Builder ODBC Darwin 8i 8.1.6 Repository Sun Solaris HP UX

  7. Beispieldatenbank Quelle

  8. BeispieldatenbankOWB

  9. Beispieldatenbank Quelle

  10. Beispieldatenbank Quelle

  11. Beispieldatenbank Quelle

  12. Beispieldatenbank Quelle

  13. Beispieldatenbank Quelle

  14. Beispieldatenbank Ziel (Warehouse Schema)

  15. Beispieldatenbank OWBZiel (Faktentabelle)

  16. Beispieldatenbank OWBZiel (Dimensionen) Levels und Hierarchien Beispiel: Zeit H1: YearL->QuarterL->MonthL->WeekL->DayL H2: YearL->WeekL->DayL

  17. Beispieldatenbank OWBZiel (Warehouse Schema)

  18. Beispieldatenbank Ziel (Warehouse Schema)

  19. Tabellen ta_probant probant aufgaben_nr ergebnis_1 ergebnis_2 ergebnis_3 ergebnis_4 richtig datum ip_adresse ta_aufgaben aufgaben_nr augfaben_text loesung_1 loesung_2 loesung_3 loesung_4 kommentar_1 kommentar_2 kommentar_3 kommentar_4 richtige_loesung ta_mathetest_historie datum text ta_seite1 datum ip_adresse

  20. product channel Beispieldatenbank Quelle -> Ziel

  21. BeispielMathetest • Wie sehen die zeitlichen Verläufe aus • Wie lange braucht der einzelnen Probant pro Frage • Welche Einträge sind plausibel • Welche Daten der Eltern sind plausibel? • Wie korrelieren die Antworten auf die Testfragen?

  22. Rohdaten 30.6.196017.4.19571 5 Apr 15 2000 1:28PM deeeeeeeee5 17 Apr 15 2000 1:29PM 24.03.195126.01.19481 7 Apr 15 2000 1:29PM 00.00.0000.00.0040 10 Apr 17 2000 4:07PM 15.11.195023.01.194814 1 Apr 18 2000 2:41PM 1409530805481 1 Jul 13 2000 4:34PM 29.7´5429.9´523 54 Sep 27 2000 8:20AM 01.01.0001.01.009 54 Sep 27 2000 2:05PM 20.05.195623.03.19531. 54 Oct 26 2000 9:54PM 1.1.19601.1.19601 2 Oct 30 2000 12:29PM ab0 3 Jan 10 2001 1:46PM ab0 54 Jan 11 2001 6:57PM

  23. Import der FaktendatenSybase -> Oracle • select – insert • dump - restore

  24. Sybase

  25. Faktentabelle drop table ta_zeitreihe; create table ta_zeitreihe( schluessel number(6) not null, probant char(24) not null, aufgaben_nr number(3) not null, ergebnis_1 number(1) null, ergebnis_2 number(2) null, ergebnis_3 number(1) null, ergebnis_4 number(4) null, richtig char(1) not null, datum date null, ip_adresse char(15) null, jahrestag char(7) null );

  26. select - insertFaktentabelle select "insert into ta_zeitreihe values (sq_zeitreihe.nextval,"+"'" +probant+"',"+convert(char(2),aufgaben_nr)+"," +convert(char(1),isnull(ergebnis_1,0))+"," +convert(char(1),isnull(ergebnis_2,0))+"," +convert(char(1),isnull(ergebnis_3,0))+"," +convert(char(1),isnull(ergebnis_4,0))+",'"+richtig +"',to_date('"+convert(char(12),datum,104)+convert(char(8),datum,108) +"','dd.mm.yyyy hh24:mi:ss')" +",'"+ip_adresse+"');" from ta_probant

  27. Daten bank SQL*LoaderÜbersicht Loader Control File Input Datenfiles SQL*Loader Log File Bad File Discard File

  28. Funktionen von SQL*Loader • Mehrere Eingabedateien gleichzeitig • SQL-Funktionen für die Eingabefelder • Laden mehrerer Tabellen in einem Lauf • Zusammenfassen mehrerer Zeilen zu einem logischen Datensatz • Generierung von Schlüsseln • Eingabe von Platte, Band, named pipes

  29. Control file • Enthält • Pfade für Eingabe, Log, fehlerhafte Datensätze, verworfene Datensätze • Struktur der Eingabedaten • Feldprüfungen • Zieltabellen • Vorschriften zur Fehlerbehandlung • wird beim Aufruf übergeben

  30. Control fileBeispiel LOAD DATA INFILE 'example.dat' INTO TABLE emp (empno POSITION(01:04) INTEGER EXTERNAL, ename POSITION(06:15) CHAR, job POSITION(17:25) CHAR, mgr POSITION(27:30) INTEGER EXTERNAL, sal POSITION(32:39) DECIMAL EXTERNAL, comm POSITION(41:48) DECIMAL EXTERNAL, ...

  31. Control fileBeispiel LOAD DATA INFILE * INTO TABLE DEPT FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' (DEPTNO, DNAME, LOC) BEGINDATA 12,RESEARCH,"SARATOGA" 10,"ACCOUNTING",CLEVELAND 11,"ART",SALEM 21,"SALES",PHILA. 22,"SALES",ROCHESTER 42,"INT'L","SAN FRAN"

  32. Control fileBeispiel load data infile 'example.dat' "fix 11" badfile 'example.bad' discardfile 'example.dsc' discardmax 999 truncate into table example (rown position(1-5), cmnt position(6-10))

  33. Daten bank Filtern der Datensätze Eingabe SQL*Loader Feldprüfung Discard File Bad File SQL*Loader Auswahl DBMS

  34. Syntax control file -- comment OPTIONS (options) LOAD CONTINUE_LOAD DATA READBUFFERS n infile_clause INSERT APPEND Concatenation_clause REPLACE into_table_clause PRESERVE BLANKS BEGINDATA

  35. Syntax control file infile_clause::= INFILE input_filename * BADFILE bad_file_name DISCARDFILE discard_file_name DISCARDS n DISCARDMAX

  36. Syntax control file concatenation_clause::= n CONCATENATE (n) COTINUEIF pos_spec_operator ‘ char_string‘ THIS ( ) NEXT

  37. Syntax control file pos_spec_operator::= ) = ( start : end != - <> Ø=

  38. Syntax control file into_table_clause::= INTO TABLE tablename INSERT APPEND REPLACE AND FIELDS delimiter_spec WHEN field_condition , ( column_name column_spec )

  39. Syntax control file delimiter_spec::= termination_spec enclosure_spec termination_spec enclosure_spec OPTIONALLY WHITESPACE TERMINATED by ‘ char‘ ‘ char‘ ENCLOSED by AND ‘ char‘

  40. Syntax control file column_spec::= POSITION pos_spec datatype_spec ( * ) +n NULLIF field_condition DEFAULTIF field_condition “ sql_string“

  41. Syntax control file datatype_spec::= delimiter_spec INTEGER FLOAT EXTERNAL (length) DECIMAL ( precision ) , scale EXTERNAL (length) CHAR (length) DATE (length) “ mask“

  42. Aufruf des SQL*Loader SQLLDR80 schlüsselwort=wert [, schlüsselwort=wert ] Gültige Schlüsselworte: USERID - ORACLE userid/password CONTROL - controlfile LOG - logfile BAD - badfile DATA - datafile LOAD - Anzahl der einzulesenden logischen Datensätze ERRORS - Anzahl der erlaubten Fehler

  43. Mathetest

  44. Mathetest Auswertung pro Stunde select to_char(datum,'hh24'), count(*) from ta_zeitreihe group by to_char(datum,'hh24') order by to_char(datum,'hh24');

  45. Mathetest

  46. Mathetest Auswertung pro Wochentag select to_char(datum,'day'), count(*), to_char(datum,'d') from ta_zeitreihe group by to_char(datum,'day'), to_char(datum,'d') order by to_char(datum,'d');

  47. Mathetest

More Related