|
Link zum Campus LSF
Relationale Datenbanksysteme
Die Vorlesung Datenbanksysteme I ist die klassische Einführung in das spannende Gebiet der Datenbanksysteme. Zentrales Thema sind die Relationalen Datenbanksysteme, in denen Daten in tabellarischer Form modelliert, gespeichert und angefragt werden. Dieser strikt tabellarische Blick auf Daten ist elegant, intuitiv aber dennoch formal und durch Datenbanksysteme effizient implementierbar, wirft aber auch interessante Fragen auf, denen wir uns in dieser Vorlesung widmen werden:
- Genau welche Services kann ein Datenbanksystem bieten?
[ Datenbankbegriff ]
- Wie bringt man Daten sinnvoll in tabellarische Form, auch wenn Daten zunächst in Form von Objekten, Bäumen, etc. vorliegen?
[ Datenmodellierung, ER-Modelle ]
- Welche Charakteristika von Tabellen können wir ausnutzen, um Daten effizient und redundanzfrei speichern und wieder extrahieren zu können?
[ Relationales Modell, Normalformen ]
- Welche Sprachen eignen sich für den deklarativen Zugriff auf und die Transformation von Massen von Tabellendaten?
[ Relationale Algebra, SQL ]
- Wie kann der Zugriff auf relationale Datenbanken programmiert werden? Wie kann web-basierter Zugriff auf Datenbanksysteme realisiert werden? ("Wie passen denn Datenbanksysteme und das Web zusammen?" — "Ganz hervorragend!")
[ Embedded SQL, Web-Interfaces für Datenbanken, Ruby on Rails ]
|
|
Read more...
|
|
Link zum Campus LSF
Harddisk RAM
Offensichtlich spielt der effiziente Zugriff auf den Sekundärspeicher (Festplatten) für Datenbanksysteme ein Schlüsselrolle. Vielleicht nicht ganz so offensichtlich ist, daß Charakteristika moderner CPUs und Primärspeicher (RAM) die Performance von Datenbanksystemen mindestens ebenso bestimmen:
- Die RAM-Kapazität hat schon seit einiger Zeit Größenordnungen erreicht, die eine Verlagerung aller Datenbankoperationen von der Festplatte in den Hauptspeicher ermöglichen. Zugriffe wollen aber sorgfältig geplant sein: in der für einen Speicherzugriff benötigten Zeit kann eine moderne CPU bis zu 106 Instruktionen ausführen.
- Moderne, pipelined CPUs bieten weitreichende Möglichkeiten, die Ausführung von Datenbankoperationen zu parallelisieren. In spezifischen Situationen spekulieren CPUs gar über die Notwendigkeit, eine Instruktion auszuführen, um höheren Durchsatz zu erzielen.
|
|
Read more...
|
|
Die objekt-orientierte Skriptsprache Ruby und das Web-Framework Ruby on Rails (RoR) haben in den letzten Jahren eine Menge (virtuellen) Staub aufgewirbelt. Auf Basis von Ruby on Rails können moderne datenbank-getstützte Web 2.0-Anwendungen entwickelt werden — und das oft in kürzester Zeit. Twitter, GitHub, Xing und YellowPages sind nur einige Beispiele für Web-Sites, die mittels RoR realisiert wurden. Rails-Applikationen basieren auf dem bekannten Model–View–Controller–Paradigma (MVC).
In diesem Praktikum werdet Ihr Eure eigene Ruby on Rails Applikation bauen. Dazu vermischt Ihr Konzepte aus der Welt der Relationalen Datenbanken und innovative Web 2.0-Technologien. Für ansprechende Visualisierungen findet die Google Maps API Einsatz (deren Möglichkeiten demonstriert bspw. SwissTrains).
|
|
Read more...
|
|
Link zum Campus LSF
Jedes Jahr entstehen auf Konferenzen, in Journals und auf Workshops eine Vielzahl hochinteressanter Veröffentlichungen im Datenbankbereich. Von den vielen neuen Ideen und Forschungsergebnissen, die im Rahmen dieser Veröffentlichungen präsentiert werden, schaffen es nur sehr wenige tatsächlich in heutige und morgige Computersysteme.
In diesem Seminar werden die TeilnehmerInnen Paper diskutieren, die 10 Jahre nach ihrer Veröffentlichung auf einer der wichtigsten beiden DB-Konferenzen SIGMOD und VLDB jeweils als Paper mit der stärksten Wirkung des jeweiligen Jahrganges ausgezeichnet wurden und somit die Datenbankforschung ihrer Zeit wesentlich vorangebracht haben.
|
|
Read more...
|
|

In diesem Proseminar werden die TeilnehmerInnen mit jeweils einem ausgewählten Problem des seit 1970 alljährlich stattfindenden ACM Programming Contest konfrontiert. Diese Probleme zeichnen sich einerseits durch recht spassige und interessante Aufgabenstellungen aus, andererseits erlauben diese Aufgaben Lösungen, die oft sehr elegant und kompakt sind (der Kern umfasst typischerweise weniger als 50 Zeilen Programmcode) und fast immer mit “Aha!”-Effekten einhergehen.
|
|
Mehr zum Proseminar Selected Fun Problems of the ACM Programming Contest...
|
|
|
|
|