Data Warehousing und Data Mining
|
|
- Willi Huber
- vor 8 Jahren
- Abrufe
Transkript
1 Data Warehousing und Data Mining ETL: Extraction, Transformation, Load Ulf Leser Wissensmanagement in der Bioinformatik
2 Sprachen für OLAP Operationen Sprachen für OLAP Operationen Bereitstellung der notwendigen Operationen Ökonomisches Design Keine vielfach geschachtelten SQL Operationen Keine Programmierung Hauptsächlich zwei Ansätze Multidimensional Expressions (MDX) Basiert direkt auf MDDM Elementen: Cube, Dimension, Fakt,... Auf dem Vormarsch als Standard Erweiterungen von SQL Erweiterungen um spezielle Operationen (ROLLUP, CUBE, ) Daten müssen relational vorliegen MDDM-unaware Anfragen müssen auf Star-/ Snowflake- Schema formuliert werden Ulf Leser: DWH und DM, Sommersemester
3 MDX MDX: Multidimensional Expressions Microsoft s Vorschlag, OLE DB for OLAP Eigene Anfragesprache Standard ohne feste Semantik (by example) MDDM Konzepte als First-Class Elemente Dadurch kompaktere Anfragen als mit SQL SQL-artige Syntax Sehr mächtig und komplex Erzeugung der Objekte (DDL) erfolgt anderweitig DSO Interface (Decision Support Objects) von SQL Server Wird von vielen kommerziellen Tools zur Kommunikation mit OLAP Datenbank benutzt Ulf Leser: DWH und DM, Sommersemester
4 Struktur einer MDX Query SELECT <axis-spec1>, <axis-spec2>,.. FROM <cube-spec1>, <cube-spec2>,... WHERE <slice-specification> Dimensions (SELECT) Angabe der darzustellenden Achsen Abbildung in mehrdimensionale Tabellen ON COLUMNS, ROWS, PAGES, CHAPTER,... Jede Achsenspezifikation muss eine Menge von Members beschreiben Als explizit angegebene Menge (in {}) Oder durch Funktionen Namen von Members werden in [] verpackt Wenn nötig zur syntaktischen Abgrenzung Cube (FROM) Auswahl des Basis-Cubes für die Anfrage Slicer (WHERE) Auswahl des betreffenden Fakten Intuitiv zu lesen als etwas zu tun haben mit Ulf Leser: DWH und DM, Sommersemester
5 Beispiel Member: Unique Names oder Navigation SELECT {Wein, Bier, Limo, Saft} ON COLUMNS {[2000], [1999], [1998].[1], [1998].[2]} on ROWS FROM Sales WHERE (Measures.Menge, Region.Germany) Auswahl des Fakt Menge Beschränkung auf Werte in BRD Verschiedene Klassifikationsstufen in einer Dim möglich Wein Bier Limo Saft Implizite Summierung Ulf Leser: DWH und DM, Sommersemester
6 Navigation in den Hierarchien SELECT {Prodgroup.MEMBERS, [Becks Bier].PARENT} ON COLUMNS {Year.MEMBERS} on ROWS FROM Sales WHERE (Measures.Menge) Navigationsfunktionen MEMBERS: Knoten einer Klassifikationsstufe CHILDREN: Kinderknoten eines Klassifikationsknoten PARENT: Vaterknoten eines Klassifikationsknoten LASTCHILD, FIRSTCHILD, NEXTMEMBER, LAG, LEAD... DESCENDENTS: Rekursives Absteigen Ulf Leser: DWH und DM, Sommersemester
7 SQL und OLAP Übersetzung MDDM in Star- oder Snowflake Schema Triviale Operationen Auswahl (slice, dice): Joins und Selects Verfeinerung (drill-down): Joins und Selects Einfache Operation Aggregation um eine Stufe: Group-by Interessant Hierarchische Aggregationen Multidimensionale Aggregationen Analytische Funktionen (gleitende Durchschnitte etc.) Ist alles in SQL-92 möglich, aber nur kompliziert auszudrücken und ineffizient in der Bearbeitung Ulf Leser: DWH und DM, Sommersemester
8 Hierarchische Aggregation 2- Alle Verkäufe der Produktgruppe Wein nach Tagen, Monaten und Jahren Benötigt UNION und eine Query pro Klassifikationsstufe SELECT T.day_id, sum(amount*price) FROM sales S, product P WHERE P.pg_name= Wein AND SELECT P.product_id T.month_id, = S.product_id sum(amount*price) GROUP BY FROM T.day_id sales S, product P, time T WHERE P.pg_name= Wein AND P.product_id SELECT T.year_id, = S.product_id sum(amount*price) AND T.day_id FROM = S.day_id sales S, product P, time T GROUP BY T.month_id WHERE P.pg_name= Wein AND P.product_id = S.product_id AND T.day_id = S.day_id GROUP BY T.year_id Ulf Leser: DWH und DM, Sommersemester
9 ROLLUP Beispiel SELECT FROM WHERE GROUP BY T.year_id, T.month_id, T.day_id, sum(...) sales S, time T T.day_id = S.day_id ROLLUP(T.year_id, T.month_id, T.day_id) 1997 Jan Jan Jan Jan ALL Feb March ALL ALL ALL Jan ALL ALL ALL... ALL... ALL Ulf Leser: DWH und DM, Sommersemester
10 Multidimensionale Aggregation Verkäufe nach Produktgruppen und Jahren Gesamt Weine Biere Gesamt sum()... GROUP BY pg_id, year_id sum()... GROUP BY pg_id sum()... GROUP BY year_id sum() Wie viele Queries sind notwendig? Ulf Leser: DWH und DM, Sommersemester
11 CUBE - Beispiel SELECT pg_id, shop_id, sum(amount*price) FROM sales S... GROUP BY CUBE (S.pg_id, S.shop_id, T.year_id) Bier Kreuzberg ALL... Bier Charlottenburg ALL... Bier ALL Wein ALL ALL Kreuzberg ALL Charlottenburg Bier ALL ALL... Wein ALL ALL... ALL ALL ALL ALL ALL Kreuzberg ALL... ALL Charlottenburg ALL... ALL ALL ALL... Ulf Leser: DWH und DM, Sommersemester
12 SQL Analytical Functions Erweiterung in SQL3 zur flexibleren Berechnung von Aggregaten und Rankings Ausgabe der Summe Verkäufe eines Tages zusammen mit der Summe Verkäufe des Monats in einer Zeile Rang der Summe Verkäufe eines Monats im Jahr über alle Jahre Vergleich der Summe Verkäufe eines Monats zum gleitenden Dreimonatsmittel OLAP Funktionen Erscheinen in der SELECT Klausel Berechnen für jedes Tupel des Stroms der Groupby-Query einen Wert Diese Werte können von neuen, in der SELECT Klausel angegeben Partitionierungen und Sortierungen abhängen Damit kann man unabhängige Gruppierungen in einer Zeile des Ergebnisses verwenden CUBE etc. erzeugen immer neue Tupel Ulf Leser: DWH und DM, Sommersemester
13 OVER() mit lokaler Partitionierung OVER() gestattet die Angabe attributlokaler Partitionen Ausgabe der Summe Verkäufe eines Tages im Verhältnis zu Verkäufen des Jahres SELECT FROM sales S, GROUP BY S.day_id; day_id S.day_id, sum(amount) AS day_sum, sum(amount) OVER(PARTITION BY YEAR(S.day_id)) AS year_sum, day_sum/year_sum AS ratio day_sum day_id day_sum year_sum Ratio SQL Funktion YEAR() Ulf Leser: DWH und DM, Sommersemester
14 Veranschaulichung S.day_id, sum(amount), sum(amount) OVER(PARTITION BY YEAR(S.day_id)) GROUP BY S.day_id (S.day_id, sum(amount)) FROM sales S GROUP BY YEAR(day_id) Ulf Leser: DWH und DM, Sommersemester
15 Lokale Sortierung Durch lokale Sortierung mit ORDER BY kann die Reihenfolge der Tupel im inneren Strom pro OVER() Klausel bestimmt werden Die Aggregatfunktion iteriert bei einem ORDER BY nur über die Tupel zwischen dem ersten bis zum aktuellen Tupel (bzgl. der angegebenen Ordnung) Dadurch kann man kumulierte Summen erreichen Beispiel: Summe der Verkäufe pro Tag sowie die kumulierten Gesamtverkäufe nach Tagen, und die kumulierten Verkäufe im jeweiligen Monat nach Tagen SELECT S.day_id, sum(amount) AS day_sum, sum(amount) OVER(ORDER BY S.day_id) AS cum_sum, sum(amount) OVER(PARTITION BY S.month_id ORDER BY S.day_id) AS cumm_sum FROM sales S, GROUP BY S.day_id; Ulf Leser: DWH und DM, Sommersemester
16 Dynamische Fenster Der Vergleich der Werte des aktuellen Tuples mit den lokalen Aggregaten zieht immer folgende Tupel in die Aggregation mit ein OVER() ohne Argument: Alle Tupel OVER(PARTITION BY): Alle Tupel der gleichen Partition OVER(ORDER BY): Alle Tupel zwischen Ordungsbeginn und aktuellem Tupel Das Fenster des Vergleichs kann man auch explizit angeben ROWS BETWEEN AND Möglich jeweils UNBOUND PRECEDING / FOLLOWING: Vom Anfang / bis zum Ende K PRECEDING / FOLLOWING: Die k Tupel vorher / nachher CURRENT ROW: aktuelles Tupel Damit kann man gleitende Durchschnitte bilden Ulf Leser: DWH und DM, Sommersemester
17 Inhalt dieser Vorlesung ETL: Extraction, Transformation, Load - Extraktion von Daten aus Quellen - Das Differential Snapshot Problem - Laden von Daten in das DWH - Schema- und Datenheterogenität - Datenkonflikte - Datentransformation Datenqualität Data Cleansing Der Merge/Purge Algorithmus Ulf Leser: DWH und DM, Sommersemester
18 Der ETL Prozess Qrt l. Qrt l. Qrt l. Qrt l. Extraction Transformation Load Ulf Leser: DWH und DM, Sommersemester
19 ETL - Übersicht Daten werden mehrmals physikalisch bewegt Von den Quellen zur Staging Area Extraktion von Daten aus den Quellen Erstellen / Erkennen von differentiellen Updates Erstellen von LOAD Files Von der Staging Area zur Basisdatenbank Data Cleaning und Tagging Erstellung integrierter Datenbestände Ziele Kontinuierliche Datenversorgung des DWH Sicherung der DWH Konsistenz bzgl. Datenquellen Effiziente Methoden essentiell -> Sperrzeiten minimieren Rigorose Prüfungen essentiell -> Datenqualität sichern Ulf Leser: DWH und DM, Sommersemester
20 1. Extraktion Aufgabe: Extraktion von Änderungsdaten aus Quellen Ist auf Kooperation der Quellen angewiesen Quellen müssen ihre Daten preisgeben Überwindet Systemgrenzen Zugriff auf HOST Systeme ohne Online Zugriff BATCH Jobs, Reportwriter Daten in Non-standard Datenbanken Keine Anfragesprachen im eigentlichen Sinne Programmierung in PL-1, COBOL, Natural, IMS,... Verteiltes (Herrschafts-)Wissen Unklare Semantik, Doppelbelegung von Feldern, sprechende Schlüssel Fehlende Dokumentation Oftmals kommerzielle Tools vorhanden Insb. zum Zugriff auf Standardsoftware Ulf Leser: DWH und DM, Sommersemester
21 Extraktion Zwei wichtige Eigenschaften des Extraktionsschritts Zeitpunkt Art der extrahierten Daten Zu beachten Wir betrachten meistens Flow -artige DWH Alle Veränderungen (Verkäufe, Telefonate, ) sollen im Cube repräsentiert werden Nachträgliche Änderungen sind möglich, aber eher selten Stornierungen, Rücksendungen Die Situation ist anders bei Stock -artigen Daten Zustand zu einem bestimmten Zeitpunkt (Lagerbestand) Hier müssen die Zeitpunkte festgelegt werden Ulf Leser: DWH und DM, Sommersemester
22 Zeitpunkt der Extraktion Synchrone Extraktion Quelle propagiert jede Änderung Asynchrone Extraktion Periodisch Push: Quellen erzeugen regelmäßig Extrakte Das ist Standard: Reportgenerierung Pull: DWH fragt regelmäßig Datenbestand ab Ereignisgesteuert Push: Quelle informiert z.b. alle X Änderungen Pull: DWH erfragt Änderungen bei bestimmten Ereignissen Jahresabschluss, Quartalsabschluss, Anfragegesteuert Push: - Pull: DWH erfragt Änderungen bei jedem Zugriff auf die (noch nicht vorhandenen oder potentiell veralteten) Daten Ulf Leser: DWH und DM, Sommersemester
23 Art der Daten Snapshot: Quelle liefert kompletten Datenbestand Lieferantenkatalog, Preisliste, etc. ( Stock -artige Daten) Korrekter Import erfordert Erkennen von Änderungen Differential Snapshot-Problem Alternative: Komplettes Überschreiben (aber IC!) Historie kann nicht exakt abgebildet werden Warum nicht? Log: Quelle liefert jede Änderung seit letztem Export Transaktionslogs oder anwendungsgesteuertes Logging Kann direkt importiert werden Das DWH speichert dann ggf. Ereignis und seine Stornierung Nettolog: Quelle liefert das Delta zum letzten Export Kann direkt importiert werden Bei Stock -artigen Daten keine komplette Historie möglich Ulf Leser: DWH und DM, Sommersemester
24 Datenversorgung Quelle... Technik Aktualität DWH Belastung DWH Belastung Quellen... erstellt periodisch Exportfiles Reports, Snapshots Je nach Frequenz Eher niedrig Eher niedrig... pushed jede Änderung Trigger, Maximal Hoch Hoch Changelogs, Replikation... erstellt Extrakte auf Anfrage (Poll) Vor Benutzung Sehr schwierig Maximal Medium Medium Anwendungsgesteuert Je nachdem Je nach Frequenz Je nach Frequenz Je nach Frequenz Ulf Leser: DWH und DM, Sommersemester
25 Inhalt dieser Vorlesung ETL: Extraction, Transformation, Load - Extraktion von Daten aus Quellen - Das Differential Snapshot Problem - Laden von Daten in das DWH - Schema- und Datenheterogenität - Datenkonflikte - Datentransformation Datenqualität Data Cleansing Der Merge/Purge Algorithmus Ulf Leser: DWH und DM, Sommersemester
26 Differential Snapshot Problem [LGM96] Viele Quellen liefern immer den vollen Datenbestand Molekularbiologische Datenbanken Kundenlisten, Angestelltenlisten Produktkataloge Dumme Reports Problem Ständiges Einspielen aller Daten ineffizient Häufige Wiederholung derselben Operationen Duplikate müssen erkannt und gelöscht werden Erfordert vorheriges Löschen oder Überschreiben Viele Probleme mit Schlüsseln, IC s, Gesucht: Algorithmen zur Berechnung von DELTA-Files für sehr große Dateien Ulf Leser: DWH und DM, Sommersemester
27 Das Differential Snapshot Problem (DSP) Quelle liefert Snapshots als Files F i Einfache und identische Struktur mit Attributen A 1, A n Jedes Tupel hat einen Schlüssel k File = ungeordnete Menge von Records (K, A 1,... A n ) Definition Gegeben zwei Dateien F 1, F 2 gleicher Struktur mit f 1 = F 1, f 2 = F 2. Das Differential Snapshot Problem (DSP) besteht darin, die kleinste Menge O={INS, DEL, UPD}* zu finden für die gilt: O(F 1 ) = F 2 Bemerkung INS, DEL, UPD operieren jeweils auf genau einem Tupel identifiziert über seinen Schlüssel k Änderungen in mehreren Attributen eines Tuples zählen wir nur einmal O ist im Allgemeinen nicht eindeutig O 1 ={ (ins(x)),(del(x)) } {} Ulf Leser: DWH und DM, Sommersemester
28 Szenario Alter Snapshot K104, k,k,... K4, t,r,... K202, a,a,... K102, p,q,... INS K103 INS K3 DEL K4 UPD K202:... Neuer Snapshot K103, t,h,... K104, k,k,... K102, p,q,... K3, t,r,... K202, b,b,... DSP - Algorithmus DWH Ulf Leser: DWH und DM, Sommersemester
29 Annahmen Kostenmodell IO Komplexität Alle Operationen im Hauptspeicher sind umsonst Das Lesen jedes Records kostet 1 Sequentielles Lesen Das Schreiben des DS ignorieren wir Das ist immer gleich teuer (wenn wir das kleinste finden ) Keine Beachtung von Blockgrößen etc. Hauptspeichergröße: m Records Files wesentlich größer als Hauptspeicher Achtung: Ähnlich zu Joins, aber Wir haben keine Duplikate (0-1 : 0-1 Beziehung) Joins erzeugen keine INS, DEL Sondern (in gewisser Weise) nur UPD Ulf Leser: DWH und DM, Sommersemester
30 1. Versuch: DS small - kleine Files Annahme: Hauptspeicher m >f 1 oder >f 2 Algorithmus (sei m>f 1 ) F 1 komplett in den Hauptspeicher lesen F 2 sequentiell lesen. Für Record r r F 1 : O=O (UPD r) (oder ignorieren, wenn keine Änderung) r F 1 : O=O (INS r) A[r]=true Abschließend: Alle Records r F 1 mit A[r]=false: O=O (DEL r) Anzahl IO: f 1 +f 2 Verbesserungen F 1 im Speicher sortieren schnellerer Lookup Ulf Leser: DWH und DM, Sommersemester
31 2. Versuch: DS naive NestedLoop Ab jetzt: m<<f 1 und m<< f 2 Algorithmus Record r aus F 1 lesen r in F 2 suchen, dazu F 2 sequentiell lesen r nicht in F 2 : O=O (DEL r) r verändert in F 2 : O=O (UPD r) r unverändert in F 2 : ignorieren Problem? INS wird nicht gefunden Lösung Array A mit IDs aus F 2 on-the-fly generieren Für jedes r, das in F 2 enthalten ist: A[r]=true Abschließender Lauf über A; A[r]=false : (INS r) Nachteil? Geht nur, wenn A in den Hauptspeicher passt Sonst: Nested Loop in die Gegenrichtung laufen lassen Ulf Leser: DWH und DM, Sommersemester
32 DS naive Verbesserungen Kosten? Anzahl IO : f 1 *f 2 +INS-Erzeugung Verbesserungen? Suche in F 2 abbrechen, wenn r gefunden Verbessert die Laufzeit erheblich, Worst-Case Komplexität bleibt gleich Jeweils Partition mit Größe m von F 1 laden Verbesserung der Kosten auf f 1 /m*f 2 Ähnlich zu Blocked-Nested-Loop Ulf Leser: DWH und DM, Sommersemester
33 3. Versuch: DS sort Sort-Merge Sortieren auf Sekundärspeicher F 1 in Partitionen P i mit P i =m lesen P i im Hauptspeicher sortieren und als F i schreiben Alle F i mergen Dazu müssen wir vielleicht sehr viele Dateien öffnen Kann man umgehen (hierarchisches, externes Sortieren) Sortiertes F 2 aufheben für nächstes DS Pro DS muss dann nur ein F (F 2 ) sortiert werden Algorithmus Sortierte F 1 und F 2 öffnen Mergen (paralleles Lesen mit Skipping) Anzahl IO 1x f 1x f 2xf f 1 + f 2 f 1 +5*f 2 Ulf Leser: DWH und DM, Sommersemester
34 DS sort2 Verbesserung Sortiertes F 1 vorhanden Vom letzten Berechnen Berechnung von O F 2 in Partitionen P i mit P i =m lesen P i im Hauptspeicher sortieren und als F i 2 schreiben Alle F i 2 mergen und gleichzeitig mit F 1 vergleichen Dabei sortierte F i 2 für das nächste Mal schreiben 1x f 2 1x f 2 f 1 + 2*f 2 Anzahl IO: f 1 +4*f 2 Geht s noch besser? Ulf Leser: DWH und DM, Sommersemester
35 4. Versuch: DS hash Partitioned Hash Trick: Persistente Sortierung der P i ist nicht wirklich notwendig Algorithmus F 2 in Partitionen P i mit P i =m/2 hashen Sicherstellen der Obergrenze für Platzbedarf der Hash-Buckets ist hier die Schwierigkeit F 1 liegt noch partitioniert vom letzten Mal vor Mit derselben Hashfunktion Damit hat man genau zwei m/2 große Partitionen von Records, die alle denselben Hashkey haben Partitionen sind nicht sortiert Jeweils P 1,i und P 2,i parallel lesen und DS berechnen Anzahl IO: f 1 + 3*f 2 2x f 2 f 1 + f 2 Ulf Leser: DWH und DM, Sommersemester
36 Warum nicht einfach... UNIX diff verwenden? diff erwartet / beachtet Umgebung der Records Hier: Records sind völlig ungeordnet DSP in der Datenbank lösen? Dreimaliges Lesen jeder Relation notwendig je nachdem, wie gut die Datenbank optimiert INSERT INTO delta SELECT UPD,... FROM F1, F2 WHERE F1.K=F2.K AND K1.W F2.W UNION SELECT INS,... FROM F2 WHERE NOT EXISTS (...) UNION SELECT DEL,... FROM F1 WHERE NOT EXISTS (...) Ulf Leser: DWH und DM, Sommersemester
37 Vergleich - Eigenschaften IO Bemerkungen DS naiv f 1 * f 2 Außerdem INS-Datenstruktur notwendig Ds small f 1 + f 2 Nur für kleine Dateien Ds sort2 f 1 + 4*f 2 Ds hash f 1 + 3*f 2 Gleichverteilende Hashfunktion notwendig Partitionsgröße schwierig zu schätzen Auf keinen Fall größer als 2*m/2 werden Gefahr, beträchtlich Speicher zu verschwenden Ulf Leser: DWH und DM, Sommersemester
38 Weitere DS Verfahren Anzahl Partitionen / Runs größer als Filehandles des OS Hierarchische externe Sortierverfahren Kompression Files komprimieren Größere Partitionen / Runs Größere Chance, Vergleich in-memory durchzuführen In Realität schneller (bei unserem Kostenmodell nicht) Windows Algorithmus Annahme: Files haben eine unscharfe Ordnung Merging mit sliding window über beide Files Liefert u.u. redundante INS-DEL Paare Anzahl IO: f 1 +f 2 Ulf Leser: DWH und DM, Sommersemester
39 DS mit Zeitstempel Annahme: Records sind (K, A 1,...,A n,t) T: Zeitstempel der letzten Änderung Kann man das für einen O(f 2 )-Algorithmus ausnutzen? Algorithmus Festhalten von des letzten Update jedes Files (T 0 ) F 2 sequentiell lesen Nur Records mit T > T 0 interessant Aber: INS oder UPD? Weiteres Problem: DEL wird nicht gefunden Zeitstempel erspart nur Attributvergleich, aber nicht das Lesen der Records Ulf Leser: DWH und DM, Sommersemester
40 Inhalt dieser Vorlesung ETL: Extraction, Transformation, Load - Extraktion von Daten aus Quellen - Das Differential Snapshot Problem - Laden von Daten in das DWH - Schema- und Datenheterogenität - Datenkonflikte - Datentransformation Datenqualität Data Cleansing Der Merge/Purge Algorithmus Ulf Leser: DWH und DM, Sommersemester
41 Load Aufgabe Effizientes Einbringen von externen Daten in DWH Kritischer Punkt Load-Vorgänge blockieren unter Umständen die komplette DB (Schreibsperre auf Faktentabelle) Möglichkeiten Satzbasiert BULK-Load Anwendungsspezifische Schnittstellen Aspekte Z.B. SAP Trigger, Integritätsconstraints, Indexaktualisierung Update oder Insert? Ulf Leser: DWH und DM, Sommersemester
42 Satzbasiert Standard-Schnittstellen: PRO*SQL, JDBC, ODBC,... Arbeitet im normalen Transaktionskontext Trigger, Indexe und Constraints bleiben aktiv Manuelle Deaktivierung möglich Keine großräumigen Sperren Satzsperren Sperren können durch Zwischen-COMMIT verringert werden In Oracle ist das weniger performant shadow blocks Aber andere Prozesse erhalten wieder eine Chance Benutzung von Prepared Statements essentiell Teilweise proprietäre Erweiterungen (Arrays) verfügbar Ulf Leser: DWH und DM, Sommersemester
43 BULK Load DB-spezifische Erweiterungen zum Laden großer Datenmengen Läuft (meist) in speziellem Kontext Oracle: sqlldr mit DIRECTPATH Option Komplette Tabellensperre Keine Beachtung von Triggern oder Constraints Indexe werden erst nach Abschluss aktualisiert Kein transaktionaler Kontext Kein Logging (d.h. kein Recovery etc.) Checkpoints zum Wiederaufsetzen Rasend schnell Praxis: BULK Uploads Ulf Leser: DWH und DM, Sommersemester
44 Beispiel: ORACLE sqlldr Controlfile LOAD DATA INFILE 'book.dat' REPLACE INTO TABLE book ( book_title POSITION(1) CHAR(35), book_price POSITION(37) ZONED(4,2), book_pages POSITION(42) INTEGER, book_id "book_seq.nextval" ) Quelle: Oracle 9.2, Dokumentation Ulf Leser: DWH und DM, Sommersemester
45 BULK Load Beispiel Vielfältige Optionen Behandlung von Ausnahmen (Badfile) Einfache Datentransformationen Checkpoints Optionale Felder Konditionales Laden in mehrere Tabellen Konditionales Laden von Records REPLACE oder APPEND Paralleles Laden... Ulf Leser: DWH und DM, Sommersemester
46 Direct Path Quelle: Oracle 9.2, Dokumentation Ulf Leser: DWH und DM, Sommersemester
47 Technik: Quelle Arbeitsbereich - BasisDB Quelle 1 RDBMS Quelle 2 IMS Rel. Schema Q1 Rel. Schema Q2 Cube; Integriertes Schema BULK Load nur für ersten Schritt Zweiter Schritt INSERT INTO... SELECT... Logging ausschaltbar Parallelisierbar Ulf Leser: DWH und DM, Sommersemester
48 Transformationen beim Laden der Daten Extraktion der Daten aus Quelle mit einfachen Filtern Spaltenauswahl, Keine Reklamationen,... Erstellen eines LOAD Files mit einfachen Konvertierungen Zahl String, Integer Real,... Transformation meist zeilenorientiert Vorbereitung für den DB-spezifischen BULK-LOADER while (read_line) parse_line if (f[10]=2 & f[12]>0) write(file, f[1], string(f[4]), f[6]+f[7], bulk_upload( file) Ulf Leser: DWH und DM, Sommersemester
49 Transformationen in Staging Area Benutzt SQL Effiziente mengenorientierte Berechnungen möglich Vergleiche über Zeilen hinaus möglich Schlüsseleigenschaft, Namensduplikaterkennung,... Vergleiche mit Daten in Basisdatenbank möglich Duplikate, Plausibilität (Ausreißer), Konsistenz (Artikel-Ids) Typisch: Tagging von Datensätzen durch Prüf-Regeln UPDATE sales SET price=price/mwst; UPDATE sales SET cust_name= (SELECT cust_name FROM customer WHERE id=cust_id);... UPDATE sales SET flag1=false WHERE cust_name IS NULL;... INSERT INTO DWH SELECT * FROM sales WHERE f1=true & f2=true &... Ulf Leser: DWH und DM, Sommersemester
50 Quelle Arbeitsbereich Cube Was macht man wo und wann? Quelle -> Arbeitsbereich Arbeitsbereich -> Cube Art des Zugriffs Satzorientiert (read) Mengenorientiert (SQL) Verfügbare Datenbasen Verfügbare Datensätze Programmiersprache Eine Quelle Quellabhängig: Alle, alle Änderungen, Deltas Skripte: Perl, AWK,... oder 3GL Viele Quellen Zusätzlich Cube verfügbar (für Duplikate etc.) SQL, PL/SQL Ulf Leser: DWH und DM, Sommersemester
51 Inhalt dieser Vorlesung ETL: Extraction, Transformation, Load - Extraktion von Daten aus Quellen - Das Differential Snapshot Problem - Laden von Daten in das DWH Schema- und Datenheterogenität - Datenkonflikte - Datentransformation Datenqualität Data Cleansing Der Merge/Purge Algorithmus Ulf Leser: DWH und DM, Sommersemester
52 Heterogenität Zwei Informationssysteme sind heterogen, wenn sie sich irgendwie unterscheiden Verschiedene Ausprägungen von irgendwie => verschiedene Arten von Heterogenität Informationsintegration = Überbrückung von Heterogenität Erstellung eines homogenen Systems Materialisierte Integration Oder: Erweckung des Anscheins eines homogenen Systems Virtuelle Integration Ulf Leser: DWH und DM, Sommersemester
53 Heterogenität DWH CRM- System Produktionsplanung Lagerverwaltung CRM-System der Tocherfirma Ulf Leser: DWH und DM, Sommersemester
54 Übersicht Technische Heterogenität Technische Realisierung des Datenzugriffs Technische Unterschiede in der Darstellung Syntaktische Unterschiede Unterschiede in der Darstellung Gleiche Dinge syntaktisch verschieden repräsentieren Datenmodellheterogenität Strukturelle Heterogenität Strukturelle Unterschiede in der Darstellung Gleiche Dinge verschieden modellieren Semantische Heterogenität Unterschiede in der Bedeutung von Namen (Schema und Daten) Gleiches sagen, verschiedenes meinen (oder andersrum) Ulf Leser: DWH und DM, Sommersemester
55 Syntaktische Heterogenität Unterschiedliche Darstellung desselben Sachverhalts Dezimalpunkt oder komma Euro oder Comma-separated oder tab-separated HTML oder ASCII oder Unicode Notenskala 1-6 oder sehr gut, gut, Binärcodierung oder Zeichen Datumsformate (12. September 2006, , 9/12/2006, ) Überwindung in der Regel nicht problematisch Umrechnung, Übersetzungstabellen, Ulf Leser: DWH und DM, Sommersemester
56 Datenmodellheterogenität Typische Datenmodelle CSV Relational (Tupel) XML (XML) Non-Standard (ASN.1) Domänenspezifisch (ACeDB, EXPRESS, OPEN-GIS, ) Proprietär (UniProt, PDB, ) Unterschied: Zum Austausch oder zur Speicherung XML als Speicherformat? Black-Box-Sicht was zählt, ist was die Quelle liefert Erfordert Konvertierung Spezielle Semantik geht unter Umständen verloren XML-Schachtelung im relationalen Modell? Ulf Leser: DWH und DM, Sommersemester
57 Beispiel Fast dasselbe in verschiedenen Datenmodellen Ulf Leser: DWH und DM, Sommersemester
58 Strukturelle Heterogenität Allgemein Gleiche Dinge in unterschiedlichen Schemata ausdrücken Andere Aufteilung von Attributen auf Tabellen Fehlende / neue Attribute (wenn Intension nicht betroffen ist) Setzt intensionale Überlappung voraus ( gleiche Dinge ) Fast immer mit semantischer Heterogenität verbunden Ausnahme: 1:1 Beziehungen Spezialfall: Schematische Heterogenität Verwendung anderer Elemente eines Datenmodells Kann nicht durch SQL überwunden werden Ulf Leser: DWH und DM, Sommersemester
59 Beispiel Verursacht durch verschiedene Abbildungen eines objektorientierten Modells Gleichwertig? Nur durch zusätzliche IC S1: typ darf nur bestimmte Werte annehmen S1: umsatz darf nicht immer gefüllt sein (abh. von typ) S2: Gleiche film_id darf nicht in verschiedenen Tabellen vorkommen Ulf Leser: DWH und DM, Sommersemester
60 Spezialfall: Schematische Heterogenität maenner( Id, vorname, nachname) frauen( Id, vorname, nachname) Relation vs. Attribut Relation vs. Wert person( Id, vorname, nachname, maennlich?, weiblich?) person( Id, vorname, nachname, geschlecht) Attribut vs. Wert Ulf Leser: DWH und DM, Sommersemester
61 Integrierte Sichten Verlangt viele Verrenkungen Sicht muss angepasst werden, wenn neue Filmtypen vorliegen Datenänderungen bedingen Schemaänderungen Das will man unbedingt vermeiden Ulf Leser: DWH und DM, Sommersemester
62 Exotische Probleme? Oh nein Schema zur Speicherung von Filmen des Verleihers XYZ ACTORS als VARCHAR ORIGINAL bedeutet was? TITLE, YEAR, an drei Stellen ID-Räume DEUTSCH und ORIGINAL getrennt? Ulf Leser: DWH und DM, Sommersemester
63 Exotische Probleme? Schema von eachmovie (HP) Eine einzige Tabelle für Filme Zusätzliche Informationen über Benutzer des Web- Systems Wenig Infos über Filme, aber Links zu weiteren Quellen GENRE sind boolsche Attribute Ulf Leser: DWH und DM, Sommersemester
64 FILM-PERSONEN ist m:n Schema des Filmdienst FILM-GENRE ist m:n Personen können mehrere Namen haben (Aliase, Künstlernamen) Eigene Tabelle für Filmtitel und Filmtiteltypen (?) Ulf Leser: DWH und DM, Sommersemester
65 Schema der IMDB ACTOR und ACTRESS in verschiedenen Tabellen Beteiligte in eigenen Tabellen (FD hat Tabelle FUNKTIONEN) Ulf Leser: DWH und DM, Sommersemester
66 Semantik Fremdwörterduden zu Semantik Teilgebiet der Linguistik, das sich mit den Bedeutungen sprachlicher Zeichen und Zeichenfolgen befasst Bedeutung, Inhalt eines Wortes, Satzes oder Textes Programmiersprachen Syntax: EBNF, Grammatiken Semantik: Wirkungen der Ausführung; operationale Semantik, Fixpunktsemantik, Sprache Syntaktisch falsch: Ich esse Butterbrot ein Semantisch falsch: Ich esse einen Schrank Ulf Leser: DWH und DM, Sommersemester
67 Semantik von was? Name Extension Intension Realweltliche Objekte repräsentiert Konzept Ulf Leser: DWH und DM, Sommersemester
68 Synonyme Verschiedene Namen für dasselbe Konzept Und die selbe Menge von Objekten DB1: Angestellter( Id, Vorname, Name,männlich,weiblich) DB2: Person( Id, Vorname, Nachname, Geschlecht) Ulf Leser: DWH und DM, Sommersemester
69 Homonyme Gleiche Namen für verschiedene Konzepte Treten oft bei Überschreitung von Domänengrenzen auf DB1: Sekr., Sachbearbeiter, Bereichsleiter, etc. Angestellter( Id, Vorname, Name, m, w, Funktion) DB2: Protein( Id, Sequenz, organismus, Funktion, ) Transport, Katalyse, Signal, Ulf Leser: DWH und DM, Sommersemester
70 Probleme Mögliche Beziehungen zwischen Mengen A, B realweltlicher Objekte, die Konzepte c(a), c(b) repräsentieren A=B (Äquivalenz): semantische (echte) Synonyme Kreditinstitut, Bank (?) Gibt es echte Synonyme? A B (Inklusion): c(b) ist Hyperonym (Oberbegriff) zu c(a); c(a) ist Hyponym zu c(b) Tochter Kind A B A B (Überlappung): Schwierigster Fall Küche-Kochnische; Haus-Gebäude; Regisseur-Schauspieler A B = (Disjunktion): nicht verwandte Begriffe (häufigster Fall) Dose-Lohnsteuerjahresausgleich Ulf Leser: DWH und DM, Sommersemester
71 Semantik: Woher nehmen? Was bestimmt die Semantik eines Namens? Für Attributnamen Datentyp Constraints (Schlüssel, FK, unique, CHECK, ) Zugehörigkeit zu einer Relation Andere Attribute dieser Relation Beziehung der Relation zu anderen Relationen Dokumentation Vorhandene Werte Wissen über den Anwendungsbereich Der Kontext Ulf Leser: DWH und DM, Sommersemester
72 Kontext Semantik eines Namens ändert sich mit dem Kontext Beispiel Unternehmen A: angestellte( ) Unternehmen B: mitarbeiter( ) Mitarbeiter und Angestellte kann man als Synonyme betrachten Aber: A.angestellte B.mitarbeiter = Wenn Personen nicht in zwei Unternehmen beschäftigt sind Erst bei einem Merger von A und B werden A.angestellte und B.mitarbeiter zu Synonymen Sollten dann zu einer Tabelle integriert werden Ulf Leser: DWH und DM, Sommersemester
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
MehrUniversitä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
MehrFachbericht 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
MehrInformatik 12 Datenbanken SQL-Einführung
Informatik 12 Datenbanken SQL-Einführung Gierhardt Vorbemerkungen Bisher haben wir Datenbanken nur über einzelne Tabellen kennen gelernt. Stehen mehrere Tabellen in gewissen Beziehungen zur Beschreibung
MehrDATENBANKEN 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.
MehrOPERATIONEN 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:
Mehr7. Ü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
MehrDynamisches 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
MehrIn diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.
In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access Die Grundlagen der Datenbanken kurspc15 Inhaltsverzeichnis Access... Fehler! Textmarke nicht
MehrData Warehousing. Sommersemester 2005. Ulf Leser Wissensmanagement in der Bioinformatik
Data Warehousing Sommersemester 2005 Ulf Leser Wissensmanagement in der Bioinformatik ... Der typische Walmart Kaufagent verwendet täglich mächtige Data Mining Werkzeuge, um die Daten der 300 Terabyte
MehrData Warehousing und Data Mining
Data Warehousing und Data Mining ETL: Extraction, Transformation, Load Ulf Leser Wissensmanagement in der Bioinformatik Inhalt dieser Vorlesung ETL: Extraction, Transformation, Load - Extraktion von Daten
MehrData 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
MehrDatenbanksysteme 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
MehrSuchmaschinen. Universität Augsburg, Institut für Informatik SS 2014 Prof. Dr. W. Kießling 23. Mai 2014 Dr. M. Endres, F. Wenzel Lösungsblatt 6
Universität Augsburg, Institut für Informatik SS 2014 Prof. Dr. W. Kießling 23. Mai 2014 Dr. M. Endres, F. Wenzel Lösungsblatt 6 Aufgabe 1: Pareto mit SV-Semantik Suchmaschinen Pareto Definition: x < P
Mehr1 topologisches Sortieren
Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung
MehrData Warehousing und Data Mining
Data Warehousing und Data Mining ETL: Extraction, Transformation, Load Ulf Leser Wissensmanagement in der Bioinformatik Der ETL Prozess 100 80 60 40 20 0 1. 2. 3. 4. Qrtl. Qrtl. Qrtl. Qrtl. Extraction
MehrSQL 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-
MehrAufgabe 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
MehrExcel Pivot-Tabellen 2010 effektiv
7.2 Berechnete Felder Falls in der Datenquelle die Zahlen nicht in der Form vorliegen wie Sie diese benötigen, können Sie die gewünschten Ergebnisse mit Formeln berechnen. Dazu erzeugen Sie ein berechnetes
MehrData 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
MehrOP-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
MehrVorlesung 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
MehrIhre Interessentendatensätze bei inobroker. 1. Interessentendatensätze
Ihre Interessentendatensätze bei inobroker Wenn Sie oder Ihre Kunden die Prozesse von inobroker nutzen, werden Interessentendatensätze erzeugt. Diese können Sie direkt über inobroker bearbeiten oder mit
MehrUniversitä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
MehrProfessionelle Seminare im Bereich MS-Office
Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion
MehrProfessionelle Seminare im Bereich MS-Office
Serienbrief aus Outlook heraus Schritt 1 Zuerst sollten Sie die Kontakte einblenden, damit Ihnen der Seriendruck zur Verfügung steht. Schritt 2 Danach wählen Sie bitte Gerhard Grünholz 1 Schritt 3 Es öffnet
MehrDatenbanken 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,
MehrData 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
MehrStellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster
Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.
MehrDatenbanken. Prof. Dr. Bernhard Schiefer. bernhard.schiefer@fh-kl.de http://www.fh-kl.de/~schiefer
Datenbanken Prof. Dr. Bernhard Schiefer bernhard.schiefer@fh-kl.de http://www.fh-kl.de/~schiefer Wesentliche Inhalte Begriff DBS Datenbankmodelle Datenbankentwurf konzeptionell, logisch und relational
MehrUrs 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
MehrL10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016
L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 Referentin: Dr. Kelly Neudorfer Universität Hohenheim Was wir jetzt besprechen werden ist eine Frage, mit denen viele
MehrSchlü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
MehrArtikel Schnittstelle über CSV
Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte
MehrMai 2006. Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln
Hauptseminar: Nichtrelationale Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln Mai 2006 Was ist eine Datenbank? Erweiterung relationaler um eine Deduktionskomponente Diese
Mehr4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.
Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel
MehrModul 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%
MehrHandbuch 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
MehrSQL: 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
MehrIm Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.
Excel-Schnittstelle Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können. Voraussetzung: Microsoft Office Excel ab Version 2000 Zum verwendeten Beispiel:
MehrSQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software
SQL Tutorial SQL - Tutorial SS 06 Hubert Baumgartner INSO - Industrial Software Institut für Rechnergestützte Automation Fakultät für Informatik Technische Universität Wien Inhalt des Tutorials 1 2 3 4
MehrWhitepaper. 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
MehrDatenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware
Datenübernahme von HKO 5.9 zur Advolux Kanzleisoftware Die Datenübernahme (DÜ) von HKO 5.9 zu Advolux Kanzleisoftware ist aufgrund der von Update zu Update veränderten Datenbank (DB)-Strukturen in HKO
MehrDipl. 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
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens 1 Organisatorisches Freitag, 05. Mai 2006: keine Vorlesung! aber Praktikum von 08.00 11.30 Uhr (Gruppen E, F, G, H; Vortestat für Prototyp)
MehrSQL - Übungen Bearbeitung der Datenbank Personal (1)
Bearbeitung der Datenbank Personal (1) 1. Abfragen einer einzigen Tabelle 1.1. Zeigen Sie alle Informationen an, die über die Kinder der Mitarbeiter gespeichert sind. 1.2. Zeigen Sie aus der Tabelle stelle
MehrKurzanleitung: Abonnenten-Import
Kurzanleitung: Abonnenten-Import 1 Import-Format... 1 2 Abonnentendaten importieren... 3 2010 Mayoris AG Kurzanleitung: Abonnentendaten-Import 1 Import-Format Daten von (potentiellen) Newsletter-Abonnenten
Mehr3. Das Relationale Datenmodell
3. Das Relationale Datenmodell Das Relationale Datenmodell geht zurück auf Codd (1970): E. F. Codd: A Relational Model of Data for Large Shared Data Banks. Comm. of the ACM 13(6): 377-387(1970) DBMS wie
MehrMotivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.
Kontextfreie Kontextfreie Motivation Formale rundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen Bisher hatten wir Automaten, die Wörter akzeptieren Frank Heitmann heitmann@informatik.uni-hamburg.de
Mehrpro4controlling - Whitepaper [DEU] Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9
Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9 1 Allgemeine Beschreibung "Was war geplant, wo stehen Sie jetzt und wie könnte es noch werden?" Das sind die typischen Fragen, mit denen viele Unternehmer
MehrAbschluss Version 1.0
Beschreibung Der Abschluss wird normalerweise nur einmal jährlich durchgeführt. Dieses Tech-Note soll helfen, diesen doch seltenen aber periodisch notwendigen Vorgang problemlos durchzuführen. Abschlussvarianten
MehrObjektrelationale 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
MehrAlignment-Verfahren zum Vergleich biologischer Sequenzen
zum Vergleich biologischer Sequenzen Hans-Joachim Böckenhauer Dennis Komm Volkshochschule Zürich. April Ein biologisches Problem Fragestellung Finde eine Methode zum Vergleich von DNA-Molekülen oder Proteinen
MehrDie Excel Schnittstelle - Pro Pack
Die Excel Schnittstelle - Pro Pack Die Excel Pro Pack ist eine Erweiterung der normalen Excel Schnittstelle, die in der Vollversion von POSWare Bestandteil der normalen Lizenz und somit für alle Lizenznehmer
MehrPräsentation zum Thema XML Datenaustausch und Integration
Sebastian Land Präsentation zum Thema XML Datenaustausch und Integration oder Warum eigentlich XML? Gliederung der Präsentation 1. Erläuterung des Themas 2. Anwendungsbeispiel 3. Situation 1: Homogene
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik
MehrMit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.
Seite erstellen Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Es öffnet sich die Eingabe Seite um eine neue Seite zu erstellen. Seiten Titel festlegen Den neuen
MehrDatenbanken Kapitel 2
Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,
Mehr6. 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
MehrOracle: Abstrakte Datentypen:
Oracle: Abstrakte Datentypen: Oracle bietet zwei mögliche Arten um abstrakte Datentypen zu implementieren: Varying Array Nested Table Varying Array (kunde) kdnr kdname gekaufteart 1 Mustermann 1 4 5 8
MehrTU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.
TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 7 Übung zur Vorlesung Grundlagen: Datenbanken im WS13/14 Henrik Mühe (muehe@in.tum.de) http://www-db.in.tum.de/teaching/ws1314/dbsys/exercises/
MehrMerchant Center und Adwords Produkterweiterung mit Filter
Letzte Aktualisierung: 02.02.2012 Merchant Center und Adwords Produkterweiterung mit Filter 1. In den USA kann man die Produkte selektieren (filtern), die zu einer Adwords- Anzeige als Produkterweiterung
MehrProzedurale 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.
MehrLeichte-Sprache-Bilder
Leichte-Sprache-Bilder Reinhild Kassing Information - So geht es 1. Bilder gucken 2. anmelden für Probe-Bilder 3. Bilder bestellen 4. Rechnung bezahlen 5. Bilder runterladen 6. neue Bilder vorschlagen
MehrCharakteristikum des Gutachtenstils: Es wird mit einer Frage begonnen, sodann werden die Voraussetzungen Schritt für Schritt aufgezeigt und erörtert.
Der Gutachtenstil: Charakteristikum des Gutachtenstils: Es wird mit einer Frage begonnen, sodann werden die Voraussetzungen Schritt für Schritt aufgezeigt und erörtert. Das Ergebnis steht am Schluß. Charakteristikum
MehrTimeSafe Leistungserfassung
Keep your time safe. TimeSafe Leistungserfassung Adressimport 1/8 Inhaltsverzeichnis Inhaltsverzeichnis... 2 1 Allgemeines... 3 1.1 Adressen in der TimeSafe Leistungserfassung... 3 1.2 Organisationen und/oder
MehrIV. 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.
MehrFragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96
Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96 Dieser Fragenkatalog wurde aufgrund das Basistextes und zum Teil aus den Prüfungsprotokollen erstellt, um sich auf mögliche
MehrBinäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen
Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders
MehrSemantische 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
MehrWas ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,
Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit, Wie kann ein PDF File angezeigt werden? kann mit Acrobat-Viewern angezeigt werden auf jeder Plattform!! (Unix,
MehrDas SQL-Schlüsselwort ALL entspricht dem Allquantor der Prädikatenlogik
Beispielaufgaben Informationssysteme erstellt von Fabian Rump zur IS Vorlesung 2009/10 1 Multiple Choice Aussage richtig falsch Eine SQL-Abfrage beginnt immer mit dem Schlüsselwort SELECT Eine Datenbank
MehrHandbuch Fischertechnik-Einzelteiltabelle V3.7.3
Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3
MehrDossier: Rechnungen und Lieferscheine in Word
www.sekretaerinnen-service.de Dossier: Rechnungen und Lieferscheine in Word Es muss nicht immer Excel sein Wenn Sie eine Vorlage für eine Rechnung oder einen Lieferschein erstellen möchten, brauchen Sie
MehrStep by Step Webserver unter Windows Server 2003. von Christian Bartl
Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird
MehrAGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b
AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität
MehrDer Kalender im ipad
Der Kalender im ipad Wir haben im ipad, dem ipod Touch und dem iphone, sowie auf dem PC in der Cloud einen Kalender. Die App ist voreingestellt, man braucht sie nicht laden. So macht es das ipad leicht,
MehrSQL 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
MehrHinweise zum Ausfüllen der Zeiterfassung
Hinweise zum Ausfüllen der Zeiterfassung Generelle Hinweise zu Excel Ab Version VSA 4.50 wird die dezimale Schreibweise für Zeiteingaben verwendet. Die Zeiterfassung, die Sie erhalten haben wurde für Excel
MehrAdami CRM - Outlook Replikation User Dokumentation
Adami CRM - Outlook Replikation User Dokumentation Die neue Eigenschaft der Adami CRM Applikation macht den Information Austausch mit Microsoft Outlook auf vier Ebenen möglich: Kontakte, Aufgaben, Termine
MehrDatumsangaben, enthält mindestens Jahr, Monat, Tag
Datenbanken mit SQL Informatik - Sprenger Häufig wird mit Tabellenkalkulationen gearbeitet, obwohl der Einsatz von Datenbanken sinnvoller ist. Tabellenkalkulationen wie Microsoft Excel oder LibreOffice
MehrSuche 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
MehrSoftware Engineering Klassendiagramme Assoziationen
Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen
MehrSQL. 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
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
Mehr2. Datenbank-Programmierung
2. Datenbank-Programmierung SQL ist eingeschränkt bezüglich der algorithmischen Mächtigkeit, z.b. Berechnung einer transitiven Hülle ist in Standard-SQL nicht möglich. Die Einschränkung ist von Bedeutung
MehrVerarbeitung der Eingangsmeldungen in einem Callcenter
Q-up ist ein Produkt der: Anwendungsbeispiele Verarbeitung der Eingangsmeldungen in einem Callcenter Der Testdatengenerator Der Testdatengenerator Verarbeitung der Eingangsmeldungen in einem Callcenter
MehrMallux.de CSV-Import Schnittstellen von Mallux.de. Beschreibung für den Import von CSV-Dateien. Stand: 01. Januar 2012. von Mallux.
Mallux.de CSV-Import Schnittstellen von Mallux.de Beschreibung für den Import von CSV-Dateien Stand: 01. Januar 2012 von Mallux.de Mallux.de CSV-Import Schnittstellen von Mallux.de Seite 2 / 6 Vorwort
Mehr1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:
Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:
Mehr5.3 Datenänderung/-zugriff mit SQL (DML)
5.3 Datenänderung/-zugriff mit SQL (DML) Hinweis: - DML-Anweisungen sind mengenorientiert - Mit einer Anweisungen kann mehr als ein Tupel eingefügt, geändert, gelöscht oder gelesen werden Benutzungs- und
MehrAgentur für Werbung & Internet. Schritt für Schritt: Newsletter mit WebEdition versenden
Agentur für Werbung & Internet Schritt für Schritt: Newsletter mit WebEdition versenden E-Mail-Adresse im Control Panel einrichten Inhalt Vorwort 3 Einstellungen im Reiter «Eigenschaften» 4 Einstellungen
MehrDB2 Codepage Umstellung
DB2 Codepage Umstellung Was bei einer Umstellung auf Unicode zu beachten ist Torsten Röber, SW Support Specialist DB2 April 2015 Agenda Warum Unicode? Unicode Implementierung in DB2/LUW Umstellung einer
MehrE-Mail-Inhalte an cobra übergeben
E-Mail-Inhalte an cobra übergeben Sie bieten ihren potentiellen oder schon bestehenden Kunden über ihre Website die Möglichkeit, per Bestellformular verschiedene Infomaterialien in Papierform abzurufen?
MehrTag 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
MehrInteraktive Medien Richtlinien für das Codieren Version vom 18. Juni 2014
Interaktive Medien Richtlinien für das Codieren Version vom 18. Juni 2014 Martin Vollenweider Dateinamen im Internet Da wir im Internet in gemischten Hard- und Softwareumgebungen (z.b. Windows, Unix, Macintosh,
MehrÄnderung des Portals zur MesseCard-Abrechnung
Änderung des Portals zur MesseCard-Abrechnung Seit dem 1. Februar 2010 steht das neue Portal zur Abrechnung der MesseCard zur Verfügung. Dieses neue Portal hält viele Neuerungen für Sie bereit: Das Portal
MehrBerechnungen in Access Teil I
in Access Teil I Viele Daten müssen in eine Datenbank nicht eingetragen werden, weil sie sich aus anderen Daten berechnen lassen. Zum Beispiel lässt sich die Mehrwertsteuer oder der Bruttopreis in einer
MehrKurzanleitung zur Bereitstellung von Sachverhalten und Lösungen zum Universitätsrepetitorium auf dem Server unirep.rewi.hu-berlin.
Humboldt-Universität zu Berlin Juristische Fakultät Kurzanleitung zur Bereitstellung von Sachverhalten und Lösungen zum Universitätsrepetitorium auf dem Server unirep.rewi.hu-berlin.de Stand: 1. Juni 2010
Mehr