ER Modell.md - JinraGit/travelManager GitHub Wiki

🧱 ER-Modell – Datenbankstruktur der Business Trip App

Dieses ER-Diagramm zeigt den relationalen Aufbau der Datenbank der Business Trip App. Es bildet die logischen Beziehungen zwischen Accounts, Reisen, Transportmitteln, Hotels, Meetings und Rollen ab.

Die Datenbankstruktur wurde so entworfen, dass alle CRUD-Operationen effizient umgesetzt werden können und künftige Erweiterungen (z. B. mehrere Hotels pro Trip oder Meeting-spezifische Filter) möglich bleiben.


🖼️ Diagramm

Das folgende ERD befindet sich im Projekt-Root unter projectPictures/ERD.png.

ER-Modell der Datenbank


🔍 Beschreibung der Haupt-Entitäten

🧍 account

  • Enthält Benutzerinformationen
  • Verknüpft mit Rollen über account_roles

🛫 trip

  • Zentrale Entität zur Reiseverwaltung
  • Verknüpft mit account, transport, meeting, trip_hotel

🏨 hotel & trip_hotel

  • Hotels sind über die Zwischentabelle trip_hotel mit Trips verbunden (Many-to-Many)
  • Adressdaten werden in separater address-Tabelle gehalten (1:1 Beziehung)

📅 meeting

  • Meetings sind einem Trip zugeordnet
  • Nur bei trip_type = BUSINESS erlaubt

🚗 transport

  • Enthält Details zu Reisezeiten und Fortbewegungsmitteln (z. B. Zugnummer, Fluggesellschaft etc.)
  • Gehört immer zu genau einem Trip

🔐 role & account_roles

  • Rollen wie ADMIN, USER, MODERATOR etc. werden über eine Zwischentabelle zugewiesen
  • Grundlage für Zugriffskontrolle im Backend

⚙️ Hinweise zur Nutzung

  • Die Meetings-Tabelle ist aktuell so implementiert, dass nur ein Meeting pro Trip persistiert werden kann. Dies ist in Bearbeitung.
  • Die Tabellenstruktur wird laufend aktualisiert und kann sich im Rahmen des Projekts weiterentwickeln.
  • Das ERD wurde mit DBeaver erstellt und als Bild exportiert.

Änderungen am ERD bitte direkt im projectPictures-Ordner ablegen und hier dokumentieren.