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:
- Grundlagen der Datenbank-Paradigmen verstehen und typische Einsatzszenarien erklären
- Relationale Datenbanken mit SQL anwenden, einschließlich Datenmodellierung und Normalisierung
- Praktische Erfahrung sammeln mit verschiedenen Datenbanksystemen direkt im Browser
- Kernkonzepte wie ACID und Transaktionen analysieren und vergleichen
- Stärken und Schwächen unterschiedlicher Ansätze kritisch beurteilen