Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Willkommen zu Database Development, dem Folgemodul zu Relational Databases.

In Relational Databases hast du relationale Datenbanken aus Sicht von SQL, Modellierung, Normalisierung, Transaktionen und ersten ORM-Konzepten kennengelernt. In Database Development verschiebt sich die Perspektive: Die Datenbank ist nicht mehr nur ein System, das du bedienst. Sie wird Teil einer Softwarearchitektur.

Die zentrale Frage lautet:

Wie entwickelst du mit PostgreSQL, Spring Boot, Hibernate/JPA und Flyway eine robuste, wartbare und performante datenbankgestützte Anwendung?

Spring Boot ist in diesem Kurs die konkrete Lernumgebung VMware, Inc. (2026). Für den Datenbankzugriff arbeiten wir mit Spring Data JPA und Hibernate/JPA VMware, Inc. (2026) Hibernate Team (2026). Schemaänderungen werden mit Flyway als versionierte Migrationen gedacht Redgate (2026). PostgreSQL bleibt unser relationales Referenzsystem PostgreSQL Global Development Group (2026).

Die Leitfallstudie

Wir arbeiten durchgehend mit einem Ticket-System für internen Support. Dieses System ist absichtlich nah an typischen Entwicklungsprojekten:

Diese Fallstudie ist klein genug, damit du sie im Unterricht überblicken kannst. Gleichzeitig enthält sie genug Reibung für echte Datenbankentwicklungsfragen: Transaktionsgrenzen, n:m-Beziehungen, Migrationen, ORM-Ladestrategien, Reporting Queries und Performance.

Aufbau des Moduls

Das Modul umfasst neun Blöcke zu je drei Lektionen:

BlockThemaSchwerpunkt
1Wiederholung und StandortbestimmungRelevantes Vorwissen aus Relational Databases aktivieren
2Spring Boot, PostgreSQL und DatenbankzugriffProjektstruktur, Konfiguration, Repository- und Service-Layer
3Hibernate/JPA GrundlagenEntities, Beziehungen, Repositories, CRUD
4Transaktionen und Datenkonsistenz@Transactional, Rollback, Invarianten
5Schema Design für SoftwareprojekteConstraints, IDs, Statusmodellierung, DTO-Abgrenzung
6Flyway und Schema EvolutionMigrationen, Datenmigrationen, sichere Änderungsschritte
7Query DesignRepository Methods, JPQL, native SQL und Reporting
8Performance und ORM-ProblemeN+1, Lazy/Eager Loading, Pagination, EXPLAIN, Indexe
9Projektarbeit und PrüfungsvorbereitungReview, Konsolidierung, Prüfungstraining

Arbeitsweise

Du wirst in diesem Modul viel lesen, vergleichen und begründen. Das ist Absicht. Datenbankentwicklung besteht nicht nur darin, Code zum Laufen zu bringen. Gute Entwicklerinnen und Entwickler können erklären, warum eine Beziehung so modelliert ist, warum eine Query so geschrieben wurde, wo eine Transaktion beginnt und weshalb eine Migration sicher oder riskant ist.

Die Blöcke folgen deshalb einem wiederkehrenden Muster:

  1. Ein realistisches Problem aus der Softwareentwicklung.

  2. Eine kompakte fachliche Einordnung.

  3. Eine angeleitete Umsetzung oder Analyse.

  4. Eine Transferfrage für ähnliche Situationen.

Im ersten Block beginnen wir mit einer Standortbestimmung. Sie zeigt, welche Grundlagen aus Relational Databases du bereits sicher einsetzen kannst und welche Themen in Database Development bewusst vertieft werden.

References
  1. VMware, Inc. (2026). Spring Boot Reference Documentation. https://docs.spring.io/spring-boot/docs/current/reference/html/
  2. VMware, Inc. (2026). Spring Data JPA Reference Documentation. https://docs.spring.io/spring-data/jpa/reference/
  3. Hibernate Team. (2026). Hibernate ORM User Guide. https://docs.jboss.org/hibernate/orm/current/userguide/html_single/Hibernate_User_Guide.html
  4. Redgate. (2026). Flyway Documentation. https://documentation.red-gate.com/fd
  5. PostgreSQL Global Development Group. (2026). PostgreSQL Documentation. https://www.postgresql.org/docs/
  6. AtomicJar, Inc. (2026). Testcontainers Documentation. https://java.testcontainers.org/