Normalerweise verwenden Sie zur eindeutigen Kennzeichnung eines Datensatzes in einer Tabelle einen numerischen Primärschlüssel, der inkrementell für jeden neuen Datensatz erhöht wird. Manchmal reicht dies allerdings nicht aus – zum Beispiel dann, wenn es mehrere Kopien der Datenbank gibt, in denen Datensätze hinzugefügt und anschließend zusammengeführt werden müssen. Die Anforderung ist durchaus realistisch – es gibt erstens nicht immer und überall Internetzugriff, und zweitens will längst nicht jedes Unternehmen seine Datenbank über das Internet verfügbar machen. Die Lösung für die problemlose Zusammenführung der Daten sind Primärschlüssel, die weltweit eindeutig sind – und dies erreichen Sie mit den sogenannten GUIDs.
Beispieldatenbank
Die Beispiele dieses Artikels finden Sie in der Datenbank 1401_GUIDs.mdb.
Die GUID
GUID ist die Abkürzung für Globally Unique Identifier. Während herkömmliche Primärschlüsselfelder normalerweise mit numerischen Werten des Datentyps Long gefüllt werden, was einem Wertebereich von -2.147.483.648 bis 2.147.483.647 entspricht (also insgesamt 2 hoch 32 Werten und einem Speicherplatz von 4 Byte entspricht, belegt ein GUID-Wert 16 Byte Speicher. Damit lassen sich allerdings auch eine ganze Reihe mehr Werte erzeugen.
Wie ist eine GUID nun aufgebaut Sie besteht aus 32 Buchstaben beziehungsweise Zahlen, wobei die Zahlen von 0 bis 9 und die Buchstaben von A bis F verwendet werden (entsprechend dem hexadezimalen System). Die 32 Zeichen werden typischerweise in einer bestimmten Anordnung notiert, die etwa so aussieht und in geschweifte Klammern eingefasst wird:
{9E0C0079-213E-48F5-9432-BC17E2D2CB9F}
Zwei Zeichen ergeben jeweils ein Byte, sodass die Anordnung bezüglich der Anzahl der verwendeten Bytes wie folgt aussieht:
4-2-2-2-6
Weltweit eindeutig
Was aber macht eine GUID nun weltweit eindeutig und somit zu einem bevorzugten Primärschlüsselwert, wenn es zum die Aufteilung und Synchronisierung von Datenbanken geht Die Eindeutigkeit ist nur gewährleistet, wenn die GUID durch einen Rechner erzeugt wird, der eine Ethernet-Netzwerkkarte verwendet. Wenn Sie sich selbst GUIDs ausdenken, können Sie natürlich leicht zwei gleiche Bytefolgen erzeugen – Gleiches gilt, wenn Sie einen eigenen Algorithmus zur Erstellung von GUIDs verwenden.
Um die Eindeutigkeit zu gewährleisten, wird ein Teil der GUID in Abhängigkeit von der physikalischen Adresse der Ethernet-Netzwerkkarte erzeugt, ein anderer Teil wir inkrementell erhöht – so ist, die Eindeutigkeit der Adresse der Ethernetkarte vorausgesetzt, die doppelter Vergabe einer GUID ausgeschlossen.
GUIDs als Autowert
Es gibt zwei Möglichkeiten, eine GUID zu erzeugen. Die erste liefert Access von Haus aus mit – es handelt sich hierbei um die Möglichkeit, Autowerte des Typs Replikations-ID zu erzeugen. Dazu legen Sie ein Feld einer Tabelle, etwa das Primärschlüssel, mit dem Datentyp Autowert und der Feldgröße Replikations-ID an (siehe Bild 1).
Bild 1: Tabelle mit einem GUID-Feld
Wenn Sie nun in die Datenblattansicht wechseln und einige neue Datensätze anlegen, zeigt das Feld GuidID frisch erzeugte GUID-Werte an (siehe Bild 2).
Unser exklusives Angebot für Dich!
(Das Abo ist jederzeit monatlich kündbar)
Hier geht’s weiter →Die ersten 4 Wochen kostenlos testen – voller Zugriff auf alle Artikel, vollständigen Code und Beispieldatenbanken. Kein Risiko: Wenn es nicht passt, kündigst Du einfach innerhalb der ersten vier Wochen.
Oder hast Du eine konkrete Frage zu Deiner eigenen Access-Anwendung?
Vielleicht stellt Deine Anwendung Dich vor eine Herausforderung, zu der Du bisher keine Lösung findest. Schlechte Performance, kein ausreichender Zugriffsschutz, Du bist unsicher über Dein Datenmodell oder Dein Code liefert unerklärliche Fehler?
In unserem kostenlosen Access-Audit schaut sich André Minhorst persönlich gemeinsam mit Dir Deine Lösung per Zoom an – und zeigt Dir, wo Datenmodell, VBA-Code, Ergonomie und Sicherheit Optimierungspotenzial bieten.
Jetzt kostenloses Access-Audit anfordern →![Access [basics]](https://access-basics.de/wp-content/uploads/2021/02/logo400.png)
