Files
MABEA/06_datenmodell.md
T
2026-09-03 17:26:12 +02:00

118 lines
6.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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]]