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
.
🔍 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.