| |
Globally Unique Identifier (GUID), Systemschlüssel
Allgemein
Da bei komplexen, mehrteiligen Schlüsseln die Handhabung teilweise recht
kompliziert ist, insbesondere wenn - wie bei Arzneimittelanwendung noch ggf.
automatisch hochzählbare laufende Nummern enthalten sind, wird für ausgewählte
Entitäten zusätzlich eine Identifikationsspalte mit einem Globally Unique
Identifier (GUID) eingeführt. Diese kann vom Anwender beim Senden generiert
werden oder falls nicht geliefert wird sie vom System gebildet und gefüllt. Die
GUID kann dann nachfolgend anstelle des Primärschlüssels zur Identifikation
verwendet werden.
Kann vom sendenden System generiert werden, wird andernfalls von HIT gefüllt,
Format xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (lower case)
Ablaufschema bei der Verarbeitung
GUID
geliefert |
suche PK zum
gelieferten GUID |
PK
identisch |
suche GUID zum
gelieferten PK |
GUID
identisch |
Daten
identisch |
Aktion |
Situation |
Konsequenz |
LEER |
-- |
-- |
LEER |
-- |
-- |
IS,XS,US,CS |
neuer Satz zum PK |
generiere new GUID |
|
|
|
|
|
|
SS,DS |
|
-- |
|
-- |
-- |
VOLL |
-- |
-- |
IS,XS,US,CS |
Satz schon da |
fülle aktuellen Satz mit aktueller GUID, normale HIT-Aktionen |
|
|
|
|
|
|
SS,DS |
|
-- |
VOLL |
LEER |
-- |
LEER |
-- |
-- |
IS,XS,US,CS |
neuer Satz zum PK und zur GUID |
schreibe GUID als alternativen Key in DB |
|
|
|
|
|
|
SS,DS |
|
-- |
|
|
-- |
VOLL |
ja |
-- |
-- |
kann nicht sein, sonst hätte er GUID zu PK |
Systemfehler |
|
|
|
|
nein |
|
|
will neuen Satz, aber PK schon woanders da |
Fehler Einfügen nicht möglich, Key-Werte schon da (Ändern der GUID nicht
möglich) |
|
VOLL |
unvollst. |
-- Suche unnötig |
-- |
-- |
-- |
System ergänzt fehlende PK-Teile |
normale HIT-Aktionen |
|
|
ja |
-- Suche unnötig |
-- |
-- |
-- |
einfach, konventionelle Datenänderung |
normale HIT-Aktionen |
|
|
nein |
LEER |
-- |
-- |
|
will im Key einfach "Werte" ändern |
der PK ist neu, kein Problem nur beim Abschließen den alten PK zur GUID
nehmen |
|
|
|
VOLL |
ja |
|
|
kann nicht sein, sonst hätte er GUID zu PK |
Systemfehler |
|
|
|
|
nein |
|
|
will im Key einfach "Werte" ändern |
zu den neuen PK-Werte existiert anderer Satz - Fehler Ändern nicht
möglich, Key-Werte schon da |
|