# Prompt 06 – Erweiterbares Datenmodell Bezug: alle Ergebnisse 01-05, Karten [[04_organisationsstruktur]], [[10_qr_barcode]], [[11_systemumfang_ressourcenmanagement]], [[08_mindermenge_gueltigkeit]]. Reine fachliche Modellierung (Entitäten/Beziehungen), noch kein DB-Schema (folgt Prompt 20). ## 1. Grundprinzip der Trennung Vier klar getrennte Schichten, dürfen nicht vermischt werden: 1. **Materialstamm** – was für Material gibt es grundsätzlich (Prompt 07). 2. **Beladungsvorlage** – welches Material soll in welcher Menge in einem Objekttyp sein (Prompt 08). 3. **Konkretes Objekt** – ein tatsächlicher Rucksack/Fahrzeug/Ressource mit eigener ID. 4. **Ist-Bestand** – tatsächlicher Zustand eines konkreten Objekts zu einem Zeitpunkt. ## 2. Kernentitäten ### Bereich (Karte 11) - Fachliche Domäne, z. B. „Rettungsdienst/KatS". Oberste Gliederungsebene, macht System bereichsoffen. - Attribute: Name, Beschreibung. ### Kategorie - Gliedert Objekttypen/Material innerhalb eines Bereichs (z. B. „Rucksäcke", „Fahrzeuge", „Zelte"). - Kann hierarchisch sein (Kategorie → Unterkategorie), Granularität final in Prompt 07/11 vertiefen. - Attribute: Name, Bereich-Referenz, übergeordnete Kategorie (optional). ### Standort - Physischer Ort/Wache. - Attribute: Name, Adresse (optional). ### Objekttyp / Ressourcentyp - Generischer Oberbegriff statt „Rucksack" fest zu verdrahten (Karte 11): Rucksack, Fahrzeug, Zelt, Feldbett, Stromerzeuger, Funkgerät, ... - Attribute: Name, Bereich-Referenz, Kategorie-Referenz. ### Beladungsvorlage - Vorlage für einen Objekttyp (z. B. „Rucksack Handball Standard"). - Enthält Liste von Vorlagenpositionen (Material + Sollmenge). - Versionierbar (Prompt 08 vertieft). - Attribute: Name, Objekttyp-Referenz, Version, gültig ab. ### Vorlagenposition - Materialstamm-Referenz + Sollmenge innerhalb einer Vorlage. - Attribute: Vorlage-Referenz, Material-Referenz, Sollmenge, Kategorie/Fach (z. B. „Fach 1"). ### Objekt (konkreter Rucksack/Fahrzeug/Ressource) - Konkrete, physische Instanz. - Attribute: eindeutige Objekt-ID, Code-Feld für QR/Barcode (Karte 10, Code128-kompatibel), Name/Bezeichnung, Objekttyp-Referenz, Beladungsvorlage-Referenz (Basis), Standort-Referenz, Status (aktiv/außer Dienst). - Zuständigkeits-Zuordnung: n:m-Beziehung zu Verantwortlichen (Karte 04), nicht starr an Standort gekoppelt. ### Objektposition (Ist-Soll je Objekt) - Individuelle Ist-Situation je Material innerhalb eines konkreten Objekts. - Sollmenge kann von Vorlage abweichen (individuelle Anpassung, Prompt 10) → eigenes Feld „Sollmenge-Override", sonst Vorlagenwert. - Attribute: Objekt-Referenz, Material-Referenz, aktuelle Sollmenge (effektiv), aktuelle Istmenge, optional Sollmenge-Override-Flag. ### Materialstamm-Position (Detail in Prompt 07) - Stammdaten eines Materials (Name, Artikelnummer, Einheit, Materialtyp: Standard/Ablaufdatum-Charge/Gerät-mit-SN). - Bei Materialtyp „Gerät": eigenes Code-Feld für QR/Barcode-SN-Erkennung (Karte 10). ### Kontrolle - Ein Kontrollvorgang zu einem Zeitpunkt an einem Objekt. - Attribute: Objekt-Referenz, durchgeführt von (Benutzer), Start, Ende, Status (nicht gestartet/in Bearbeitung/abgeschlossen/abgebrochen). - Enthält Kontrollpositionen (Snapshot je Material: Soll zum Zeitpunkt, Ist erfasst, Abweichung ja/nein). ### Kontrollposition - Snapshot-Ergebnis je Material innerhalb einer Kontrolle (unveränderlich nach Abschluss, für Historie). ### Fehlbestand (Prompt 03) - Eigenständiger Vorgang, entkoppelt vom Kontrollabschluss. - Attribute: siehe Prompt 03 (Material, Objekt, Standort, Soll, Ist, Fehlmenge, entstanden am, festgestellt von, Ursache, Verantwortlicher, erledigt am). - Statusmaschine wie in Prompt 03 definiert. ### Nachfüllung - Ereignis, das Ist-Menge eines Objekts erhöht. - Attribute: Objekt-Referenz, Material-Referenz, Menge, wer, wann, verknüpfter Fehlbestand (falls vorhanden). ### Mindermengen-Genehmigung (Prompt 04) - Eigene Entität, verknüpft mit Fehlbestand + auslösender Kontrolle. - Attribute: Fehlbestand-Referenz, genehmigt von, Begründung, Zeitstempel, gültig bis (nächste Kontrolle desselben Objekts), Status (aktiv/abgelaufen/durch Erledigung beendet). - NIEMALS Schreibzugriff auf Ist-Menge. ### Benutzer - Attribute: Name, Login-Kennung, Passwort-Hash/PIN (Karte 09), Rollen (n:m, Prompt 05), aktiv/inaktiv. ### Rolle - Mitarbeiter/Kontrollorgan, Materialverantwortlicher, Leitungsverantwortlicher, Administration (Prompt 05). Erweiterbar für Roadmap-Rollen. ### Zuständigkeits-Zuordnung - n:m zwischen Benutzer (mit Rolle Materialverantwortlicher/Leitungsverantwortlicher) und Standort/Objekt (Karte 04), von Administration gepflegt. ### Historieneintrag (Prompt 13 vertieft) - Generisches Audit-Log: wer, was (Entität+ID), wann, alter Wert, neuer Wert, Begründung (optional), Aktionstyp. ## 3. Zentrale Beziehungen (vereinfacht) ``` Bereich 1───n Kategorie Bereich 1───n Objekttyp Objekttyp 1───n Beladungsvorlage 1───n Vorlagenposition n───1 Materialstamm-Position Objekttyp 1───n Objekt Beladungsvorlage 1───n Objekt (Basis-Referenz) Objekt 1───n Objektposition n───1 Materialstamm-Position Objekt n───m Benutzer (Zuständigkeits-Zuordnung) Objekt 1───n Kontrolle 1───n Kontrollposition Objektposition/Kontrolle 1───n Fehlbestand Fehlbestand 1───n Nachfüllung Fehlbestand 1───0..n Mindermengen-Genehmigung (i.d.R. max. 1 aktive) Benutzer n───m Rolle Alles ───1 Historieneintrag (generisch, polymorph auf Entität+ID) ``` ## 4. Erweiterbarkeit ohne Schema-Umbau (Designziel) - Materialtyp als eigenes Attribut in Materialstamm-Position (nicht als Tabellen-Fork) → Medikamente/Chargen/SN später als Zusatzfelder/Zusatztabellen andockbar (Prompt 07). - Lagerbestand (Prompt 15) als eigene Entität analog „Objekt", nur mit Lagerort statt Kontrolle/Fehlbestand-Workflow – gleiche Materialstamm-Basis wiederverwendbar. - Prüfungen (Geräte-TÜV o. ä., Prompt 24) als eigene Entität mit Referenz auf Materialstamm-Position/Objektposition, unabhängig vom Kern-Fehlbestandsmodell. - Code-Feld bereits in Objekt UND Materialstamm-Position vorgesehen (Karte 10), keine Migration nötig, wenn Scan-Funktion kommt. - „Entstanden am" in Fehlbestand bereits vorgesehen (Karte 12) für Eskalation. ## Referenzen Arbeitskarten: [[04_organisationsstruktur]], [[10_qr_barcode]], [[11_systemumfang_ressourcenmanagement]], [[08_mindermenge_gueltigkeit]], [[09_authentifizierung]]