Databases Unlocked: A Beginner's Journey


Interactive Database Systems Course with LiaScript

📚 Über diesen Kurs

Diese Vorlesung bietet eine praxisnahe Einführung in die Welt der Datenbanken und vermittelt einen systematischen Überblick über unterschiedliche Paradigmen und ihre Einsatzszenarien.

Beginnend bei einfachen Datenquellen wie Textdateien, CSV, JSON, YAML oder TOML werden schrittweise moderne Systeme vorgestellt – von Key-Value Stores über Object Stores und Column Stores bis hin zu relationalen Datenbanken mit SQL und graphbasierten Ansätzen.

Besonderheit: Alle Paradigmen werden mit Hands-on-Beispielen direkt im Browser erlebbar (über LiaScript und DBMS wie DuckDB-Wasm, SQLite-Wasm, IndexedDB, PouchDB).

Session 0 – Vorstellung: Mein Weg zu Datenbanken & interaktivem OER

Persönliche Vorstellung des Dozenten: Von der Promotion in Robotik über NoSQL-Systeme (Cassandra), deklarative Abfragesprachen (SelectScript), Remote Labs (Industrial eLab) bis zur Entwicklung von LiaScript und Edrys-Lite. Diese Session erklärt den Hintergrund der Vorlesung, warum Browser-basierte Technologien (IndexedDB, DuckDB-Wasm, SQLite-Wasm) im Fokus stehen und wie GitHub Copilot als Co-Autor für interaktive OER-Materialien eingesetzt wird.

EinführungÜbersichtOrganisatorisches


Block 1: Daten-Paradigmen – Vom File zum Column Store

In diesem Block lernen Sie verschiedene Datenbank-Paradigmen kennen: Von einfachen Dateiformaten über Key-Value und Document Stores bis zu Column Stores. Jedes Paradigma wird mit praktischen Beispielen im Browser demonstriert.

L1: Daten & Serialisierung + DIKW

Grundlagen der Datenspeicherung: Von der DIKW-Pyramide (Daten → Informationen → Wissen → Weisheit) über Serialisierungsformate (CSV, JSON, YAML, XML) bis zur praktischen Motivation für Datenbanksysteme. Hands-on Ad-hoc-Analyse von CSV/JSON-Daten direkt im Browser.

CSVJSONYAMLSerialisierungDIKWGrundlagen

L2: Key-Value Stores

Key-Value Stores als Lösung für das O(n)-Suchproblem: Von Hash-Maps über TTL (Time-To-Live) bis zu Atomic Operations. Praktische Patterns für Session-Storage, Caching und Rate-Limiting mit Redis-Beispielen. Einführung in Big-O-Notation zur Performance-Analyse. Trade-offs: O(1) Zugriff vs. fehlende Bereichsabfragen und limitierte Ausdrucksstärke. Hands-on mit Redis im Browser und JavaScript Map/Set APIs.

Key-ValueRedisNoSQLCachePerformance

L3: Document Stores

Grundlagen und Besonderheiten von Document Stores wie PouchDB und CouchDB. Sie lernen, wie strukturierte JSON-Dokumente effizient gespeichert, durchsucht und synchronisiert werden. Der Kurs behandelt Vorteile gegenüber Key-Value Stores, Mango-Queries, Index-Strategien, Schema-Evolution, Offline-First und typische Einsatzszenarien.

Document StoreMongoDBPouchDBIndizesAbfragenNoSQLSynchronisation

L5: Relationale Datenbanken (SQL) – Von der Idee zum Model

Einführung in das relationale Modell: Tabellen, Zeilen, Spalten, Primär-/Fremdschlüssel, Normalisierung und Integritätsbedingungen. Diese Session liefert das konzeptionelle Fundament für die SQL-Praxis ab L7.

Relationale DatenbankenSQLNormalisierungER-ModellDatenmodellierung


Block 2: Relationale Grundlagen

Block 2 startet mit einer interaktiven Live-Session (L7):
SQL Introduction & Query Data (SELECT) – Hands-on, direkt im Browser.
Relationales Modell, Relationale Algebra und weitere SQL-Themen folgen schrittweise.
Die Materialien für Block 2 werden nach und nach ergänzt.

L7: SQL Introduction & Query Data (SELECT)

Interaktiver SQL-Kurs mit Fokus auf praxisnahen Aufgaben, Live-Hands-on-Session und direkter Anwendung von SELECT-Statements in SQL. Studierende lernen, eigenständig Abfragen zu formulieren und Datenbankkonzepte praktisch umzusetzen.

SQLHands-onLive-SessionSELECTQueryPraxis

L7: SQL Introduction & Query Data (SELECT) – Vollversion

Interaktiver SQL-Kurs mit Fokus auf praxisnahen Aufgaben, Live-Hands-on-Session und direkter Anwendung von SELECT-Statements in SQL. Studierende lernen, eigenständig Abfragen zu formulieren und Datenbankkonzepte praktisch umzusetzen.

SQLSELECTQueryPraxis

L8: SQL Data Definition (DDL) & Manipulation (DML)

In dieser Session lernen Sie die Grundlagen der SQL Data Definition Language (DDL) und Data Manipulation Language (DML) kennen. Sie erfahren, wie Sie Tabellen und Schemata mit CREATE, ALTER und DROP definieren, wie Sie Daten mit INSERT, UPDATE und DELETE manipulieren und wie Constraints wie PRIMARY KEY, FOREIGN KEY, UNIQUE, CHECK und DEFAULT die Datenintegrität sichern. Praxisnahe Beispiele, Best Practices und interaktive Aufgaben helfen Ihnen, die Konzepte direkt anzuwenden und typische Fehler zu vermeiden. Am Ende sind Sie in der Lage, eigene Datenbankschemata zu entwerfen, zu verändern und sicher zu verwalten.

SQLDDLDMLALTERCREATEINSERTUPDATEDELETE

L9: Normalisierung & ER-Diagramme

Interaktive Session zur Datenbank-Normalisierung und ER-Modellierung: Studierende lernen ER-Diagramm-Basics (Entitäten, Beziehungen, Kardinalitäten 1:1, 1:N, N:M), entwickeln schrittweise ein normalisiertes Online-Shop-Schema (0NF → 1NF → 2NF → 3NF) mit Visualisierung via dbdiagram.io und bauen gemeinsam ein Twitter-Datenmodell von Grund auf (User, Follower, Tweets, Likes, Many-to-Many-Beziehungen). Hands-on Didaktik: Anomalien werden live erlebbar gemacht.

NormalisierungER-Diagramme1NF2NF3NFHands-onLive-Session

L10: Mehr FROM Subqueries, CTEs, Joins

Diese Session erschließt die wahre Macht relationaler Datenbanken: das Kombinieren von Daten über Tabellengrenzen hinweg. Sie lernen vier Techniken kennen – vom kartesischen Produkt über Subqueries und CTEs bis zu expliziten JOINs (INNER, LEFT, RIGHT, FULL, CROSS) – und verstehen, wann welcher Ansatz optimal ist. Praxisnah am E-Commerce-Schema mit 7 normalisierten Tabellen erleben Sie, wie Foreign Keys Beziehungen herstellen, wie Anti-Joins fehlende Daten aufspüren, und wie Set-Operationen (UNION, INTERSECT, EXCEPT) Ergebnisse vertikal kombinieren. Am Ende beherrschen Sie Multi-Table-Queries – das Herzstück von SQL in Produktion.

JoinsSQLSubqueriesCTEsHands-onLive-Session


📖 Zusatzmaterialien

Weitere Ressourcen und Primer für die Vorlesung

SQL Cheat Sheet

Kompaktes SQL-Cheat-Sheet als interaktive LiaScript-Referenz: Von SELECT-Grundlagen über DDL/DML bis zu Joins und Normalisierung. Basiert auf Sessions 7-10 der Datenbankensysteme-Vorlesung.

SQLPrimerGrundlagenAbfragenDDLDMLSQL

JavaScript Primer

Kompakter JavaScript-Primer für Studierende ohne JS-Vorkenntnisse: Variablen (const/let), Datentypen (primitiv & komplex), Kontrollstrukturen (if/loops), Funktionen (klassisch & Arrow), Objekte & Arrays (mit wichtigen Methoden wie map/filter/reduce), Asynchronität (async/await, Promises, fetch), JSON-Parsing und Classes. Fokus auf Code-Verständnis für Browser-basierte Datenbankbeispiele – keine Frontend-Entwicklung, keine Frameworks. Alle Beispiele direkt ausführbar in der Browser Console.

JavaScriptPrimerGrundlagenBrowser


🎯 Lernziele

Nach Abschluss der Vorlesung können Sie:

  1. Grundlagen der Datenbank-Paradigmen verstehen und typische Einsatzszenarien erklären
  2. Relationale Datenbanken mit SQL anwenden, einschließlich Datenmodellierung und Normalisierung
  3. Praktische Erfahrung sammeln mit verschiedenen Datenbanksystemen direkt im Browser
  4. Kernkonzepte wie ACID und Transaktionen analysieren und vergleichen
  5. Stärken und Schwächen unterschiedlicher Ansätze kritisch beurteilen