From ba87c9773c4c2239b3f059a639bdfeca98394a1e Mon Sep 17 00:00:00 2001 From: Jens Beckmann Date: Sun, 14 Jun 2026 16:24:32 +0000 Subject: [PATCH] =?UTF-8?q?Doku/Tasks/02=5Fdatenmodel.md=20hinzugef=C3=BCg?= =?UTF-8?q?t?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Doku/Tasks/02_datenmodel.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 Doku/Tasks/02_datenmodel.md diff --git a/Doku/Tasks/02_datenmodel.md b/Doku/Tasks/02_datenmodel.md new file mode 100644 index 0000000..4d16641 --- /dev/null +++ b/Doku/Tasks/02_datenmodel.md @@ -0,0 +1,18 @@ +Dokument 2: Datenmodell & Persistenz (Backend) + +Ziel: Implementierung der relationalen Struktur zur Verwaltung des Saatgut-Bestands. + + Entity-Definitionen (Doctrine ORM): + Kategorie: id, name (unique), farbe. + Pflanze: id, art_name, sorten_name, kategorie_id (FK → Kategorie), beschreibung. + SaatgutBestand: id, nutzer_id (String aus Keycloak), pflanze_id (FK → Pflanze), menge, kaufdatum, ablaufdatum, notizen. + Daten-Integrität: + Kaskadierendes Löschen: Wenn eine Kategorie gelöscht wird, muss entschieden werden, wie mit den Pflanzen verfahren wird (z.B. Setzen auf null oder Mitlöschen). + Unique Constraint für nutzer_id + pflanze_id, um doppelte Einträge derselben Sorte pro Nutzer zu vermeiden (optional, je nach Wunsch). + Akzeptanzkriterien: + + Datenbank-Migrationen sind erstellt und erfolgreich ausgeführt. + + Testdaten für den globalen Katalog (Kategorie & Pflanze) wurden importiert. + + Die Beziehungen zwischen den Tabellen sind via Doctrine korrekt abgebildet. \ No newline at end of file