SQL und Datenbanken
Ausarbeitung: Klausur Datenbanken
Teil 1 - Grundlagen und Theorie relationaler Datenbanken
Nahezu jede Softwarelösung benötigt eine Möglichkeit, Daten persistent – also dauerhaft – zu speichern. Hierfür gibt es verschiedene Möglichkeiten wie zum Beispiel Dateien oder nicht-flüchtige Hauptspeicher. Datenbanken haben sich aber als das Standard-Mittel der Wahl für die dauerhafte Speicherung von Daten etabliert. Was ist aber eigentlich eine Datenbank? Auf welchen theoretischen Grundlagen basiert die Idee einer Datenbank? Wie kann eine Datenbank für eine spezifische Anwendung zunächst entworfen und spezifiziert werden? Welche Optimierungsmöglichkeiten gibt es.
- Lesen Sie zunächst die Kapitel 1 bis 5 des Buchs „Grundkurs Datenbankentwicklung“ und bearbeiten Sie die Aufgaben.
Teil 2 - Anwendungsentwicklung mit SQL – von SQL bis Test
Nachdem Sie nun die Grundlagen der Datenbank-Entwicklung kennen. Wie kann eine konkrete Datenbank entworfen werden? Wie können Daten in der Datenbank gespeichert, wie wieder gelesen werden? Welche Möglichkeiten zur Manipulation gibt es? SQL ist (für relationale Datenbanken) die etablierte Abfragesprache (eine so genannte deklarative Programmiersprache), mit deren Hilfe diese Aufgaben ermöglicht werden.
Bearbeiten Sie die nachfolgenden Kapitel des Buchs „Grundkurs Datenbankentwicklung“:
- Kapitel 6 .. 12: Lesen Sie die Kapitel 6 bis 13. Lernen Sie SQL verstehen und anzuwenden. Bearbeiten Sie die Aufgaben.
- Kapitel 13: In Kapitel 13 erfahren Sie, wie Sie konkret in einer Software-Anwendung mit einer Datenbank interagieren können.
- Kapitel 14: Softwarelösungen enthalten Fehler. Um diese zu minimieren und systematisch Ihre Datenbank-Anwendung automatisiert zu testen – und somit für eine Qualitätssicherung zu sorgen – können automatisierte funktionale Tests implementiert werden. Lernen Sie, wie Sie Unit Tests für Datenbankanwendungen einsetzen können. Lesen Sie hierfür Kapitel 14 und bearbeiten Sie die Aufgaben.
Wiederholen Sie das oben gelernte nun und lesen Sie Kapitel 3 aus dem Buch „Grundkurs Relationale Datenbanken“ und bearbeiten Sie die Aufgaben.
Festigen Sie Ihr Wissen der SQL Anwendung und bearbeiten Sie die Aufgaben zur SQL Programmierung in Kapitel 6 des Buchs „Grundkurs Relationale Datenbanken“.
Teil 3 - NoSQL Datenbanken
Lehrbuch: SQL- & NoSQL-Datenbanken, Andreas Meier, Michael Kaufmann, Springer 2016
Relationale SQL Datenbanken sind seit vielen Jahrzehnten der de-facto Standard für die persistente Datenhaltung. Dennoch haben sich in den letzten Jahren neue Konzepte etabliert. Der Bedarf nach horizontal hoch skalierbaren Datenbankanwendungen, neue Anforderungen an Schema-lose – vor allem in der Gründungsphase von Startups – schnell anpassbare Datenmodellen, Big Data Anforderungen und der Bedarf an hoch-performanten in-Memory Datenbanken haben neue Konzepte hervorgebracht und etabliert. Key-Value-Stores, Dokumenten- oder Graphen-Datenbanken sind nur einige Beispiele.
- Lesen Sie zunächst Kapitel 6 und 7 aus dem Buch SQL- & NoSQL-Datenbanken und lernen Sie post-relationale und NoSQL Konzepte kennen.
- In Kapitel 15 des Buches „Grundkurs Datenbankentwicklung“ (s.o.) lernen Sie den praktischen Einsatz der Datenbank „MongoDB“ kennen und üben die Implementierung von Anwendungen, die dieses DB Backend nutzen.
