Eindeutige Kennungsfelder in Datenbanktabellen

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:

  • Ganze Zahl (nur positive 32- und 64-Bit-Werte)
  • Zeichenfolge
  • GUID
  • Datum

Die Feldwerte müssen immer eindeutig und ungleich NULL sein. Sie müssen garantieren, dass die Werte dieses Feldes diese Anforderung erfüllen.

Hinweis:

Sie erhalten eine Fehlermeldung, wenn ArcGIS einen NULL-Wert feststellt, ArcGIS erzwingt jedoch nicht die Eindeutigkeit von Werten in einem eindeutigen Kennungsfeld, das in einem Abfrage-Layer oder einer Datenbanktabelle verwendet wird. Wenn ArcGIS auf einen nicht eindeutigen Wert stößt, wird kein Fehler zurückgegeben. Möglicherweise sind die Ergebnisse in Auswahlsätzen oder anderen Abfragen in ArcGIS jedoch inkonsistent.

Um den Abfrage-Layer in einem Feature-Layer (einem Feature-Service) zu veröffentlichen, der den registrierten Data Store referenziert, muss die ID ein einziges, eindeutiges, automatisch inkrementiertes ganzzahliges 32-Bit-Feld ungleich NULL sein.

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_surnamesignup_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_surnamesignup_dateESRI_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.

Hinweis:

Sie können keinen editierbaren Feature-Service (Web-Feature-Layer) veröffentlichen, der eine Feature-Class mit einer zusammengesetzten eindeutigen Kennung enthält.