Datenbanksysteme Gerhard Wohlgenannt 8. November 2016 Inhaltsverzeichnis 1 Informationen zur Lehrveranstaltung 1.1 Anwesenheitspflicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Tutorium . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 2 2 Unterlagen 2.1 Übungsbeispiele . . . . . . . 2.2 Zusätzliche Übungsbeispiele 2.3 Datenbanken . . . . . . . . 2.4 Weiterführende Literatur . . 2 4 6 6 7 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Druckversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1 1 Informationen zur Lehrveranstaltung 1.1 Anwesenheitspflicht Bitte beachten Sie, dass es sich um eine prüfungsimmanente Lehrveranstaltung mit Anwesenheitspflicht handelt. Sie dürfen somit maximal in zwei Einheiten fehlen. 1.2 Tutorium Es findet ein Tutorium mit Herrn Julian Reindorf statt. Die Termine sind wie folgt: Day Date Time Fr., 4. Nov. 2016 Mi., 9. Nov. 2016 Room 09:00 18:30 11:00 20:00 TC.3.11 Seminarraum (30) TC.3.11 Seminarraum (30) Zu diesen Zeiten betreut Sie der Tutor, rechnet mit Ihnen Beispiele und steht für Fragen zur Verfügung. 2 Unterlagen • WS2016: Im diesem Semester wird die Theorie sehr kompakt besprochen, dafür grosser Fokus auf praktische Arbeit mit SQL und NoSQL DBs. – Organisatorisches1 – Grundkonzepte unit 1+22 – Foliensatz SQL3 1 Folien/Organisatorisches.pdf Folien/concepts1.pdf 3 Folien/SQL.pdf 2 2 – CouchDB4 – MongoDB5 – Redis6 – Neo4j7 – Foliensatz Alternative Konzepte8 Ursprüngliche Foliensätze, als Referenz • Einleitung: – Organisatorisches9 – Foliensatz Grundkonzepte der datenorientierten Modellierung10 – Kurzzusammenfassung Grundkonzepte11 • Das Entity Relationship Modell – Foliensatz ER-Modell12 • Das relationale Datenmodell 4 http://xmdimrill.ai.wu-wien.ac.at/˜wohlg/dbs/Folien/couchdb.pdf http://xmdimrill.ai.wu-wien.ac.at/˜wohlg/dbs/Folien/mongodb.pdf 6 http://xmdimrill.ai.wu-wien.ac.at/˜wohlg/dbs/Folien/redis.pdf 7 http://xmdimrill.ai.wu-wien.ac.at/˜wohlg/dbs/Folien/neo4j.pdf 8 Folien/Alt.pdf 9 Folien/Organisatorisches.pdf 10 Folien/DBGrundkonzepte.pdf 11 Folien/Grundkonzept_summary.pdf 12 Folien/ER-Modell.pdf 5 3 – Foliensatz relationales Datenmodell13 – Wiederholung: Operationen der Relationenalgebra14 • Relationentheorie – Foliensatz Relationentheorie (Kurz)15 • Structured Query Language (SQL) – Foliensatz SQL16 • Alternative Konzepte: NoSQL DBs, GraphenDBs, ObjektDBs, etc – Foliensatz Alternative Konzepte17 – MongoDB18 – Big data ( (c) Aidan Hogan)19 – Open Data (c) Nigel Shadbolt)20 2.1 Übungsbeispiele • Übungsblatt zum ER Modell21 — Lösung22 13 Folien/Rel-Modell.pdf http://www.tinohempel.de/info/info/datenbank/operation.htm 15 Folien/RelTheorieShort.pdf 16 Folien/SQL.pdf 17 Folien/Alt.pdf 18 http://xmdimrill.ai.wu-wien.ac.at/˜wohlg/dbs/pdf/mongo_db.pdf 19 Folien/bigData.pdf 20 Folien/openData.pdf 21 pdf/uebung_stucky/ER_Uebung.pdf 22 pdf/uebung_stucky/ER_Uebung_Loesung.pdf 14 4 • Übungsblatt zum relationalen Modell23 — Lösung24 • Übungsblatt zur Relationentheorie25 — Lösung26 • Übungsblatt zur Minimalen Überdeckung27 (mit Lösung) • Übungsblatt SQL28 — Lösung29 • Übungsbeispiel und Kontrollfragen aus dem Tutorium mit Lösungen (von Matthias Prem und Julia Geyer) – Kontrollfragen30 aus dem Tutorium. – Das Tierpark31 Beispiel aus dem Tutorium mit den Lösungen (Version 132 —Version 233 ) (ER Modell) – Das Basektball34 Beispiel aus dem Tutorium (15. März 2010) – Fragen zur Testvorbereitung35 aus dem Tutorium (22. März 2010) – Beispiel zur kontextfreien Grammatik36 (Relationale Algebra) – Filmdatenbank37 23 pdf/uebung_stucky/RelMod_Uebung.pdf pdf/uebung_stucky/RelMod_Uebung_Loesung.pdf 25 pdf/uebung_stucky/RelTheorie_Uebung.pdf 26 pdf/uebung_stucky/RelTheorie_Uebung_Loesung.pdf 27 pdf/uebung/min_ueberdeckung.pdf 28 pdf/uebung_stucky/SQL_Uebung.pdf 29 pdf/uebung_stucky/SQL_Uebung_Loesung.pdf 30 pdf/tutorium/DBSKontrollfragen.pdf 31 pdf/tutorium/ERM-Tierpark.pdf 32 pdf/tutorium/tierpark_v1.jpg 33 pdf/tutorium/tierpark_v2.jpg 34 pdf/tutorium/julia_geyer-2010-03-15.pdf 35 pdf/tutorium/julia_geyer-2010-03-22.pdf 36 pdf/tutorium/KontextfreieGrammatikBeispiel.pdf 37 pdf/tutorium/dbs_beispiel_prem1.pdf 24 5 – Beispiele zur Relationale Algebra und SQL38 – Beispiele zur Relationentheorie39 mit Lösungen – Beispiele zum Tableau Algorithmus40 (Relationentheorie) 2.2 Zusätzliche Übungsbeispiele Die Übungsbeispiele können zur Prüfungsvorbereitung selbst bearbeitet und mit dem Tutor besprochen werden. • ER Modell und Relationales Modell41 (vorzubereiten für die Übungsstunde) • Relationentheorie/Relationales Modell/SQL42 (vorzubereiten für die Übungsstunde) 2.3 Datenbanken • Online Übungsdatenbank43 - zum Ausprobieren von Abfragen über ein Web Interface. • Die Projektdatenbank44 zum Downloaden. • Uni-Datenbank45 (von Martin Schuch) zum Download. • SQL Fiddle46 Interaktives Herumspielen mit unterschiedlichen Datenbanken (PostgreSQL, MySQL, Oracle, ...) 38 pdf/tutorium/RA_Beispiele_Tutorium.pdf pdf/tutorium/Relationentheorie_Beispiele.pdf 40 pdf/tutorium/TableauAlgorithmus_Beispiele.pdf 41 hausuebungen/hue1.pdf 42 hausuebungen/hue2b.pdf 43 http://xmdimrill.ai.wu.ac.at/˜aweichse/projects/dbs/2006/dbs/ 44 projektdatenbank.sql 45 unidb.sql 46 http://sqlfiddle.com 39 6 • W3schools try SQL47 Interactive SQL 2.4 Weiterführende Literatur • Some good fun when you understand DB design: O’Reilly Webcast: 10 Ways to Wreck Your Database48 • SQLzoo.net49 - An interactive SQL tutorial • Map/Reduce a Major Step Backwards: Part I50 and Part II51 - Thoughts on Map/Reduce from David J. DeWitt and Michael Stonebraker 3 Druckversion Die Druckversion dieser Seite finden Sie auf (pdf/dbs.pdf). 47 http://www.w3schools.com/sql/trysql.asp?filename=trysql_delete http://www.youtube.com/watch?v=uFLRc6y\_O3s 49 http://www.sqlzoo.net 50 http://databasecolumn.vertica.com/2008/01/mapreduce-a-major-step-back.html 51 http://databasecolumn.vertica.com/2008/01/mapreduce-continued.html 48 7