Logo - Fakult�t f�r Mathematik und Informatik Moving Point - Secondo Logo

01591 Fachpraktikum "Erweiterbare Datenbanksysteme"
im Wintersemester 2006/07

Beschreibung:

Am Lehrgebiet „Datenbanksysteme für neue Anwendungen“ wird seit einigen Jahren ein Prototyp eines erweiterbaren Datenbanksystems, genannt SECONDO, entwickelt. SECONDO implementiert kein festes DBMS-Datenmodell, sondern bietet eine Architektur, einen Systemrahmen und wohldefinierte Schnittstellen für die Realisierung verschiedener Datenmodelle. Als Erweiterungen kann man z.B. Implementierungen von Nicht-Standard-Datentypen (etwa Polygone, Bilder, chemische Formeln), neue Indexstrukturen oder Join-Methoden, Optimierungsregeln oder Kostenfunktionen ins System einbringen. Das Ziel des Praktikums besteht darin, Studierende in diese Forschungsarbeiten
miteinzubeziehen und ein eingehendes Verständnis für die Architektur und Implementierung von Datenbanksystemen und die Möglichkeiten erweiterbarer Systeme zu vermitteln. Absolventen des Praktikums haben eine ausgezeichnete Basis für Abschlußarbeiten (Bachelor, Master, Diplom) in dieser Umgebung.
Im Praktikum sollen kleine Gruppen von jeweils etwa 4 Personen zusammenarbeiten. In einem ersten Praktikumsabschnitt ist eine Reihe kleinerer Aufgaben zu bearbeiten, um SECONDO kennenzulernen. Im zweiten Abschnitt ist eine größere Erweiterungsaufgabe von der Gruppe mit mehr Selbständigkeit und Kreativität zu lösen. Zum Praktikum gehören 3 kurze Präsenzphasen in Hagen zu Anfang, zwischen den beiden Abschnitten, und am Ende des Semesters (3/3/1 Tage; insgesamt 5 Urlaubstage benötigt). Zwischen den Präsenzphasen arbeiten die Teilnehmer miteinander und mit den Betreuern über das Internet zusammen.
Die Programmierung erfolgt im wesentlichen in C++. Bei der Erweiterung oder Konstruktion von Benutzerschnittstellen wird Java verwendet. Wer PROLOG-Kenntnisse besitzt, hat die Chance, Erweiterungen am Optimierer vorzunehmen (optional).

Zeitplan:

Anmeldeschluß: 27.08.2006
Mitteilung über Zulassung und Versand erster Kursmaterialien: 13.09.2006
1.Präsenzphase: 09.-11.10.2006
(Folien zu den Vortägen, Aufgaben für Phase 1)
2.Präsenzphase: 30.11.-02.12.2006 (Aufgaben für Phase 2)
3.Präsenzphase: 10.02.2007

Material:

Die Materialien, die Sie für das Praktikum benötigen, werden Ihnen zugesandt. Darüberhinaus gibt es auch die Möglichkeit, sie hier über die Praktikumsseiten herunterzuladen.

R.H. Güting, T. Behr, V. Almeida, Z. Ding, F. Hoffmann, und M. Spiekermann,
Secondo:An Extensible DBMS Architecture and Prototype,
März 2004.
S.Dieker und R.H. Güting,
Plug and Play with Query Algebras: A Generic DBMS Development Environment,
Februar 1999
R.H. Güting,
Integrating Programs and Documentation,
Mai 1995.
Almeida, R.H. Güting,
Querying Moving Objects in Secondo,
November 2006.

Newsgroup:

Auf dem FernUniversitäts-Newsserver (newsguard.fernuni-hagen.de) steht auch eine Newsgroup mit dem Namen feu.informatik.kurs.1590 für das Praktikum zur Verfügung.

Die Teilnehmer:

Allgemeines

Während der ersten Präsenzphase hatten wir versucht, die Teilnehmer räumlich zu gruppieren. Dazu sollte jeder Teilnehmer seine Position in eine Karte von Deutschland eintragen. Secondo als erweiterbares Datenbanksystem bietet natürlich auch die Möglichkeit, die Teilnehmer in eine Karte einzutragen. Leider hatten wir die Daten der Teilnehmer bis zu diesem Zeitpunkt nicht entsprechend aufbereitet. Dies haben wir nun nachgeholt. Das Ergebnis können Sie in der nachstehenden pdf-Datei ansehen:

Notwendiges Datenmaterial

Sie haben die Möglichkeit, dies selbst nachzuvollziehen. Dazu benötigen Sie folgende Dateien:

  • Die Daten der OPEN GEO DB , die Sie bereits für Secondo aufbereitet auf Ihrem Praktikumsrechner haben oder von unserer Secondo-Website herunterladen können.
  • Die Liste der Teilnehmer finden Sie unter dem folgenden Link als exportiertes Secondo -Objekt:
    Teilnehmerliste
  • Eine Karte, die als Hintergrundbild verwendet finden kann, können Sie hier herunterladen (optional):
    Hintergrundbild

Daten restaurieren

Zunächst wird die Datenbank OpengeoDB restauriert. Nach Öffnen der Datenbank, wird die Teilnehmerliste ebenfalls über einen restore Befehl in der Datenbank abgelegt.

Hintergrund einrichten

Um das Hintergrundbild nutzen zu können, laden Sie dieses im HoeseViewer unter
Settings->background->set image
und tragen die folgende Box für das Bild ein:

x: 2435611
y: 5190226.5
width: 750730.5
height: 972008.5

Zusätzlich müssen Sie die Gauss-Küger Projektion auswählen.

Query auf der ausführbaren Ebene

Die folgende Query ordnet jedem Teilnehmer seine Position zu:


   query fapra feed {f} PLZ feed {p} hashjoin [Plz_f, plz_p , 900] 
         (Orte feed filter [ (.Staat="DE") or (.Staat="AT")] ) {o} 
         hashjoin [key_p, key_o, 900] sortby[Name_f asc] 
         groupby[ Name_f; pos :  group feed extract[Position_o]] 
       consume

Sie arbeitet wie folgt:
  1. PLZ und fapra werden mittels HashJoin mit Gleichheitbedingung bei den Postleitzahlen zusammengeführt.
  2. Aus den Orten wählen wir solche aus Deutschland oder Österreich.
  3. Über das key Attribut wird das Ergebnis mit dem Ergebnis des ersten Join verbunden.
  4. Die nachfolgende Gruppierung entfernt doppelt vorhandene Positionen mit identischen Postleitzahlen.

Query im Optimierer

Mit einfachen Änderungen am Optimierer, läßt sich diese Query auch in SQL-Syntax formulieren. In der Datei operator.pl, wird dem Optimierer der extract Operator als Aggregationsoperator bekanntgemacht. Dazu fügt man die folgende Zeile in diese Datei ein:


isAggregationOP(extract).

In der Datei opsyntax.pl wird zusätzlich die Syntax dieses Operators erklärt:


secondoOp(extract, postfixbrackets, 2).

Anschließend kann man die gleiche Query wie folgt angeben:


      select  [f:name, f:plz, extract(o:position) as place] 
        from  [fapra as f, plz as p, orte as o] 
        where [(o:staat = "DE") or (o:staat = "AT"), 
                p:key = o:key, f:plz = p:plz] 
      groupby [f:name, f:plz]

Viel Spaß beim Nachmachen.

Auskunft erteilen:

Prof. Dr. Ralf Hartmut Güting Tel.: (02331) 987-4279 Email:rhg@fernuni-hagen.de
Thomas Behr Tel.: (02331) 987-4284 Email: thomas.behr@fernuni-hagen.de
Markus Spiekermann Tel.: (02331) 987-4285 Email: markus.spiekermann@fernuni-hagen.de


Letzte Änderung: 2016-11-22 ()
FernUni-Logo FernUniversität in Hagen, Lehrgebiet Datenbanksysteme für neue Anwendungen, D-58084 Hagen, Telefon: +49 (2331) 987-4277