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 verwenden zu können, muss ein Feld ungleich NULL sein, keine eindeutigen Werte enthalten und nicht einem der folgenden Datentypen entsprechen:
- Ganzzahl (nur positive Werte)
- Zeichenfolge
- GUID
- Datum
Da der Wert im eindeutigen Kennungsfeld eine Zeile oder ein Feature-Objekt in ArcGIS eindeutig identifiziert, müssen die Werte dieses Feldes immer eindeutig und ungleich NULL sein. Sie müssen garantieren, dass die Werte dieses Feldes diese Anforderung erfüllen.
![Hinweis Hinweis](rsrc/note.png)
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.
Wenn Sie eine Datenbanktabelle aus dem Kataloginhaltsverzeichnis ziehen und in ArcMap platzieren 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 öffnen und ein anderes Feld auswählen, oder Sie können eine Reihe von Feldern auswählen, die als eindeutige Kennung verwendet werden sollen. Weitere Anweisungen finden Sie unter Auswählen eines eindeutigen Kennungsfeldes.
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 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 ObjectID-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, erkennt 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 Hinweis](rsrc/note.png)
Sie können keine Feature-Class veröffentlichen, die eine zusammengesetzte eindeutige Kennung als editierbaren Feature-Service verwendet.