Dieses Repository enthält die Materialien für Database Development, das Folgemodul zu Relational Databases an der HFTM.
Der Kurs zeigt, wie relationale Datenbanken in professioneller Softwareentwicklung eingesetzt werden. Im Zentrum steht die Frage:
Wie entwickle ich mit PostgreSQL, Spring Boot, Hibernate/JPA und Flyway eine robuste, wartbare und performante datenbankgestützte Anwendung?
Die konkrete Unterrichtstechnologie ist Spring Boot. Die behandelten Prinzipien bleiben aber bewusst übertragbar: Datenmodellierung, ORM, Migrationen, Transaktionen, Query Design, Performance und Tests.
Alle Materialien arbeiten mit einem Ticket-System für internen Support. Die Fallstudie ist klein genug für Unterrichtslektionen und reich genug für typische Datenbankentwicklungsfragen:
- Benutzer, Teams und Zuständigkeiten
- Tickets mit Status, Priorität und Verantwortlichen
- Kommentare und Ereignisverlauf
- Labels und n:m-Beziehungen
- Reporting-Abfragen, Transaktionen, Migrationen und Performance-Fragen
docs/- Lehrbuch im MyST/Jupyter-Book-Formatslides/- Marp-Folien mit HFTM-Themeplanning/- Unterrichtsplanungexercises/- Diagnose- und Übungsaufgabenpostgres/- PostgreSQL-Container, Schema und Testdaten
- Python 3.12+
- Poetry
- Node.js 18+
- Docker oder Podman
poetry install
cd docs
jupyter book build --siteMit aktivierter Poetry-Umgebung kannst du alternativ aus dem Projektroot bauen:
npm run docs:buildHinweis: jupyter book build . funktioniert mit dem MyST-basierten Jupyter-Book-CLI nicht, weil . als Dateiargument interpretiert wird.
npm install
npm run slides:serveDie Folien werden standardmässig auf Port 5002 bereitgestellt.
cd postgres
docker compose up --buildVerbindungsdaten:
- Host:
localhost - Port:
5433 - Datenbank:
ticket_system - Benutzer:
ticket_user - Passwort:
ticket_user
Das Container-Image wird über GitHub Actions als ghcr.io/erhardtconsulting/database-development:ticket-system-17.9 gebaut.
Dieses Werk steht unter der Creative Commons Attribution-ShareAlike 4.0 International License (CC-BY-SA 4.0).