Alle in ArcGIS verwendeten Tabellen und Feature-Classes müssen ein Feld enthalten, das jede Zeile oder jedes Feature eindeutig kennzeichnet.
Um ein Feld als eindeutige Kennung in ArcGIS-Desktop-Apps zu verwenden, darf das Feld nicht NULL sein, muss eindeutige Werte enthalten und einem der folgenden Datentypen entsprechen:
- Integer (nur positive Werte)
- String
- GUID
- Date
Die Feldwerte müssen immer eindeutig und ungleich NULL sein. Sie müssen garantieren, dass die Werte dieses Feldes diese Anforderung erfüllen.
Wenn Sie eine Datenbanktabelle auf eine Karte ziehen oder die Definition eines Abfrage-Layers überprüfen, legt ArcGIS das erste Feld ungleich NULL, das gefunden wird, standardmäßig als eindeutiges Kennungsfeld fest. Sie können dieses Feld verwenden oder die Abfragedefinition ändern und ein anderes Feld auswählen, oder Sie können eine Reihe von Feldern auswählen, die als eindeutige Kennung verwendet werden sollen.
Verwenden eines einzelnen Feldes als eindeutige Kennung
Wenn ein einzelnes Ganzzahlfeld als eindeutige Kennung festgelegt wird, verwendet ArcGIS die Werte in diesem Feld direkt zur eindeutigen Identifizierung aller Features und Zeilen in der Datenbanktabelle.
Wenn die Datenbanktabelle über kein Feld verfügt, das als eindeutige Kennung verwendet werden kann, und Sie eine Dameng-, IBM Db2-, Microsoft SQL Server-, Oracle- oder PostgreSQL-Datenbank verwenden, können Sie das Geoverarbeitungswerkzeug Inkrementelles ID-Feld hinzufügen verwenden, um der Tabelle ein eindeutiges Kennungsfeld mit einem ganzzahligen Wert hinzuzufügen.
Wenn ein einzelnes Zeichenfolgenfeld als eindeutige Kennung verwendet wird, muss ArcGIS diese eindeutigen Werte einer Ganzzahl zuordnen. Dies geschieht in ArcGIS immer dann, wenn das System ein Objekt-ID-Attribut benötigt, z. B. beim Erstellen einer Kartenauswahl oder beim Öffnen der Attributtabelle. ArcGIS fügt ein Attribut namens "ESRI_OID" hinzu und speichert einen eindeutigen Ganzzahlwert darin. Dieses Attribut ist nur Teil der Layer-Definition; die zugrunde liegende Datenbanktabelle wird nicht geändert.
Verwenden einer zusammengesetzten eindeutigen Kennung
Sie können ein einzelnes Feld oder mehrere Felder auswählen, um eine eindeutige Kennung zu definieren. Wenn Sie mehrere Felder auswählen, müssen die kombinierten Werte in diesen Feldern eindeutig sein. Das folgende Beispiel zeigt zwei Textfelder – member_surname und signup_date. Einzeln sind die Werte in diesen Feldern möglicherweise nicht eindeutig. Als Kombination verwendet, sind die Werte eindeutig, wie im Folgenden dargestellt:
member_surname | signup_date |
---|---|
alfred | 2006-09-28 10:15:41 |
dewey | 2006-09-28 10:15:56 |
johnson | 2000-02-19 09:14:50 |
johnson | 2004-12-08 11:02:32 |
mujan | 2011-07-07 12:44:21 |
Die Kombination dieser Werte wird als Schlüssel verwendet, um einen eindeutigen Ganzzahlwert zu erzeugen, der in einem Attribut namens "ESRI_OID" gespeichert wird. Dieses Attribut ist nur Teil der Layer-Definition; die zugrunde liegende Datenbanktabelle wird nicht geändert.
Die Layer-Definition für das vorherige Beispiel enthält eine ESRI_OID-Spalte, wie im Folgenden dargestellt:
member_surname | signup_date | ESRI_OID |
---|---|---|
alfred | 2006-09-28 10:15:41 | 1 |
dewey | 2006-09-28 10:15:56 | 2 |
johnson | 2000-02-19 09:14:50 | 3 |
johnson | 2004-12-08 11:02:32 | 4 |
mujan | 2011-07-07 12:44:21 | 5 |
Wenn die kombinierten Werte des Feldes oder das einzelne Textfeld, das Sie angeben, nicht eindeutig sind, interpretiert ArcGIS diese Datensätze als identisch und ordnet sie dem gleichen ESRI_OID-Wert zu.
Wenn die Tabelle bereits ein Feld mit dem Namen "ESRI_OID" enthält, wird der Layer-Definition ein Attribut mit dem Namen "ESRI_OID_1" hinzugefügt.