Wissensmanagement in der Bioinformatik
Data Warehousing
Übung zur Vorlesung im Sommersemester 2004
Professor Ulf Leser, Jörg Hakenberg
Organisatorisches
Zeit: | Donnerstag, 15-17 Uhr |
---|---|
Ort: | RUD 25, 3.113 |
Anmeldung: | über GOYA |
Abgabe der Lösungen: | Jeweils am Mittwoch vor der Besprechung der Aufgabe, 16 Uhr |
Übungsschein: | Voraussetzung für den Erhalt eines Übungsscheines ist die Bearbeitung sämtlicher Aufgaben (in Gruppen) und die Vorstellung mindestens einer Lösung in einer der Übungsstunden (pro TeilnehmerIn). Mindestens die Hälfte der erreichbaren Punkte (20 pro Blatt) sollte dabei am Semesterende erzielt worden sein. |
Die Übung wird in Gruppen á 2-3 Personen stattfinden. Es gilt, insgesamt 6 Aufgabenblätter zu lösen. Für die Bearbeitung stehen jeweils 2-3 Wochen zur Verfügung. Der Ablauf wird sich so gestalten, dass in einer Woche die neue Aufgabe gestellt und die Lösungen der alten Aufgabe besprochen werden, in der nächsten gibt es dann eine freie Frage- & Diskussionsstunde. Zudem stehen weitere Sprechzeiten sämtlichen Gruppen zur freien Verfügung.
Mindestens 3 von den 5 (oder 6) Aufgaben werden konkurrierend zu lösen sein. Zusätzlich zu den Bewertungen für korrekt gelöste Aufgaben, die für den Übungsschein ausschlaggebend sind, gibt es 'Wettbewerbspunkte'. Die Lösungvorschläge entsprechen einem vorgegebenen Format und werden bewertet nach Effizienz, Rechenzeit, Speicherplatz u.ä. Für die am Semesterende insgesamt beste Gruppe denken wir uns eine schöne Überraschung aus!
Bei der Besprechung stellt jede Gruppe ihre eigene Lösung kurz vor, jedes Gruppenmitglied muss im Semester mindestens einmal diese Präsentation übernehmen.
Für die Entwicklung und den Test der eigenen Lösung steht ein dedizierter DualProzessor-Server zur Verfügung, als Datenbank kommt Oracle9i zum Einsatz.
Im Folgenden finden sich kurze Beschreibungen zu den Übungsterminen und in Aufgaben behandelten Themen. Verweise auf das jeweils benötigte Material, Quellen und Folien finden sich zusätzlich im Anhang.
Übung am 15. April
- Organisatorisches, Einteilung in Gruppen, Vergabe von Accounts
- Wdh. DDL/DML, kurze Einführung in JDBC und PL/SQL, Benutzung von
EXPLAIN PLAN
- Aufgabenblatt 1
Thema: Oracle, DDL/DML: SQL, JDBC; PL/SQL; EXPLAIN PLAN, Optimierung
Programmiersprachen: Java, PL/SQL
Bearbeitungszeit: 2 Wochen
Übung am 22. April
- Fragen und Diskussion zur aktuellen Aufgabe, ggf. JDBC
Übung am 29. April
- Präsentation der Lösungen zu Aufgabe 1
- Aufgabenblatt 2
Thema: Externe Speicher
Programmiersprache: Java
Bearbeitungszeit: 2 Wochen
Übung am 6. Mai
- Fragen und Diskussion zur aktuellen Aufgabe
Übung am 13. Mai
- Präsentation der Lösungen zu Aufgabe 2
- Lösungen
- Aufgabenblatt 3
Thema: Modellierung / Schema Design
Bearbeitungszeit: 4 Wochen
Feiertag am 20. Mai
Übung am 27. Mai
- Fragen und Diskussion zur aktuellen Aufgabe
Übung am 3. Juni
- Fragen und Diskussion zur aktuellen Aufgabe
Übung am 10. Juni
- Präsentation der Lösungen zu Aufgabe 3
- Aufgabenblatt 4
Thema: Physikalisches Tabellenlayout, Index Selection
Bearbeitungszeit: 2 Wochen
Übung am 17. Juni
- Fragen und Diskussion zur aktuellen Aufgabe
Übung am 24. Juni
- Präsentation der Lösungen zu Aufgabe 4
- Lösungen
- Aufgabenblatt 5
Thema: Materialized Views, Query Rewrite, Präaggregation
Bearbeitungszeit: 3 Wochen
Übung am 1. Juli
- Fragen und Diskussion zur aktuellen Aufgabe
Übung am 8. Juli
- Fragen und Diskussion zur aktuellen Aufgabe
Übung am 15. Juli
- Präsentation der Lösungen zu Aufgabe 5
- Lösungen
- Abschlussbesprechung, Preisverleihung
Material für die Übung
Im Verzeichnis $HOME/DATEN/ auf Eurem Gruppenaccount findet Ihr die für die jeweilige Aufgabe benötigten Dateien. Dies sind z.B. SQL-Skripte zum Erstellen und Auslesen der plan_table oder Coderümpfe z.B. für die Benutzung von JDBC.
Aufgabe 1
- Einführung PL/SQL,
Benutzung von EXPLAIN PLAN,
JDBC-Beispiel - die Tabelle plan_table kann über das Skript create_plantable angelegt werden
- Tabellen: Mitarbeiterverzeichnis der
Fakultät
(URL des Originals: http://webmania.rz.hu-berlin.de/statcgi/adr_hubn/telanfr4.sh - wir verwenden allerdings die Kopie, da sich Änderungen ergeben könnten) - JDBC-Conntect-String: jdbc:oracle:thin:@141.20.27.142:1521:LEHRE
- Folien: Organisatorisches, Aufgabe 1, Explain Plan, PL/SQL, JDBC
- SQL-Konsolen und -Tools
- Aquafold: www.aquafold.com
- Query Analyzer, Scheme & Script Browser, Table Editor, Query
Results Viewer - kurzum so ziemlich alles, was man so brauchen
kann.
Frei verwendbar für den persönlichen Gebrauch und die Lehre. Erhältlich für Linux, Windows, MacOS X, Solaris, Java (ca. 8-30 MB) - SQL-Tools: www.sqltools.net
- FreeWare. Graphisches Explain Plan, Object View, PL/SQL Editor, Syntax Highlighting, etc. Nur Windows, man braucht eine Oracle Client Installation.
- TORA: www.globecom.se/tora/
- Ein Tool für Windows & Linux. Benötigt den Oracle Client.
- TOAD: www.toadsoft.com/downld.html
- Erhältlich auch in einer FreeWare-Version. Nur Windows, benötigt den Oracle Client.
- DB Designer 4: fabforce.net/dbdesigner4/
- Graphische Modellierung, Oracle-Unterstützung. Für Windows und Linux
- Oracle Client Installation: otn.oracle.com --> otn.oracle.com/software/products/oracle9i/
- -> 9.2.0.1 für Windows oder Linux (ca. 600 MB)
- Informationen zu PRAGMAS finden sich im PL/SQL User's Guide and
Reference,
www.csis.gvsu.edu .. oder
OTN
- die Oracle9i
Database Online Documentation
Ggf. braucht man einen Account bei Oracle, dieser ist aber gratis zu bekommen.
Aufgabe 2
- die benötigten Textdateien data1 und data2 liegen
auf dem Server morawetz unter:
~$HOME/DATEN/Uebung2/
Aufgabe 3
- SQL-Skripte zur formatierten Ausgabe der plan_table:
siehe Einführung zu Explain Plan, Abschnitt Ausgabe
oder Material zur Aufgabe 1: $HOME/DATEN/Uebung1/*.sql
Aufgabe 4
- die Tabelle a4_order findet sich im Schema des Oracle-Users muster der Datenbank lehre auf morawetz
- Rahmenskript zur Einbettung der
eigenen Anfragen, Start von der UNIX-Konsole mittels
morawetz> sqlplus name/passwort@lehre @query
- wir verwenden für diese Aufgabe das TPC-H - Schema von www.tpc.org
- das Schema im Überblick und die Tabellendefinitionen
- Hinweise zur Benutzung von Indizes finden sich hier
- Gegenüberstellung B*-tree vs. Bitmap-Indexes als Foliensatz
Aufgabe 5
- Erläuterungen zu Materialized
Views
Folien aus der Übungsstunde - Fragen vom letzten Mal und Infos
zur aktuellen Aufgabe
- Es gibt zu Oracle9i einen Data
Warehousing Guide, der sich u.a. mit Materialized Views (
Kapitel 8) beschäftigt.
- die Statistiken einer Tabelle lassen sich ansehen mit dem Skript stat_view.sql
ein Beispiel findet sich in statistics.log
Das Skript fragt zunächst nach Eurem Benutzernamen (GRUPPEx) und dann nach dem Namen der Tabelle. Gebt hier nur Namen von Tabellen an, die zuvor analysiert wurden, sonst gibt es eine Fehlermeldung! Einfach RETURN zu drücken, um alle Tabellen angezeigt zu bekommen, funktioniert in den meisten Fällen nicht!
Die Ergebnisse werden zusätzlich in der Datei statistics.log abgelegt.
- Wir verwenden für diese Aufgabe wieder das TPC-H - Schema, siehe
Aufgabe 4
Näheres findet Ihr bei Interesse in der Dokumentation (150 Seiten!)
Last modified: [jh, 2004-07-01]