Zur Homepage www.HI-Tier.de Systemschlüssel GUID
Zurück Home Nach oben
Öffentlicher Bereich für Entwickler

 

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