Christian-Albrechts-Universität zu Kiel Institut für Informatik Arbeitsgruppe Technologie der Informationssysteme Prof. Dr. B. Thalheim Dipl.-Inf. O. Sörensen Sommer 2013 Übungsblatt 2 Übungen zur Vorlesung Datenbankprogrammierung Übungsblatt 2 Themen: Temporale Daten Aufgabe 1 (10 Punkte) Gegeben sei folgendes relationales Schema: CREATE TABLE purchases ( id SERIAL, n varchar(255) NOT NULL, -- Kundenname, eindeutig identifizierend d date NOT NULL, -- Kaufdatum i varchar(50) NOT NULL, -- Artikelnummer PRIMARY KEY (id) ); Formulieren Sie die folgenden Anfragen in SQL. Verzichten Sie auf die Benutzung temporärer Tabellen. Sie können PostgreSQL 9.2 spezifische Funktionen benutzen. Auf der zur Übung gehörenden Website finden Sie ein SQL Skript das zu dieser Aufgabe passende Daten enthält. Testen Sie Ihre Anfragen gegen diesen Datensatz. a) Für jeden Kunden jeder Artikel, den er zwei Monate hintereinander an demselben Tag gekauft hat; z.B. am 15.03.2000 und am 15.04.2000. (1 Punkt) b) Für jeden Kunden die Zeitspanne, in der er aktiv war. D.h. die Anzahl an Tagen, die zwischen seinem ersten und letztem Einkauf lagen. (1 Punkt) c) Alle Umsätze, die im Februar oder März eines Schaltjahres anfielen. (1 Punkt) d) Jedes Paar von Kunden mit mehr als je einem einzigen Einkauf, deren aktive Zeitspannen sich überlappen. (1 Punkt) e) Start- und Enddatum der maximalen Zeitspanne(n) mit der Eigenschaft, daß jeden Tag ein Einkauf irgendeines Kunden stattgefunden hat. (2 Punkte) f) Für den gesamten Zeitraum, der durch den Datenbankzustand abgedeckt wird, die Anzahl aller Einkäufe in jedem Monat. Auch Monate ohne Umsätze die zwischen getätigten Einkäufen liegen, sollen mit 0“ Transaktionen auftauchen. (2 Punkte) ” g) Alle Umsätze, die am letzten Freitag eines Monats anfielen. (2 Punkte) Abgabe: bis Freitag, 24. Mai 2013, 08:00 Uhr per Email an [email protected] als plain text. Der Eingang wird innerhalb von 24 Stunden nach dem Empfang bestätigt. Viel Erfolg!