Was ist eine Objekt-ID?
Eine Objekt-ID ist eine eindeutige Nicht NULL-Ganzzahlspalte, die verwendet wird, um Zeilen in Tabellen in einer Geodatabase eindeutig zu identifizieren. Tabellen, die in ArcGIS oder außerhalb erstellt und dann bei ArcSDE und der Geodatabase registriert werden, müssen eine von der Geodatabase verwaltete Objekt-ID-Spalte enthalten. Die Objekt-ID wird von ArcGIS beispielsweise verwendet, um einen Bildlauf durchzuführen, Auswahlsätze anzuzeigen und Features zu identifizieren.
Da die meisten ArcGIS Desktop-Funktionalitäten eine eindeutige Objekt-ID erfordern, sollten Sie beim direkten Arbeiten mit der Datenbank vorsichtig vorgehen, damit Objekt-IDs nicht dupliziert werden. Wenn Sie z. B. Sichten mit einer Eins-zu-vielen-Beziehung erstellen, besteht die Möglichkeit, dass ObjectIDs dupliziert werden. Dies kann bei Funktionen in ArcGIS Desktop zu inkonsistentem Verhalten führen.
Es gibt drei Möglichkeiten, einer Tabelle eine geeignete Objekt-ID hinzuzufügen:
- Eine in der Geodatabase verwaltete Objekt-ID-Spalte wird automatisch zu jeder mit ArcGIS erstellten Tabelle hinzugefügt.
- Sie geben eine Spalte mit dem Befehl "sdetable" oder "sdelayer" an, die als Objekt-ID-Feld verwendet werden soll, wenn Sie eine Tabelle bei ArcSDE registrieren. Sie können eine vorhandene geeignete Spalte als Objekt-ID festlegen oder einen Namen für eine neue Objekt-ID-Spalte angeben. Wenn Sie einen neuen Spaltennamen angeben, fügt ArcSDE der Tabelle eine eindeutige Nicht NULL-Ganzzahlspalte mit diesem Namen hinzu. Wenn Sie die Spalte als Objekt-ID angeben, geben Sie auch an, ob diese Spalte von ArcSDE oder Ihnen (benutzerverwaltet) verwaltet werden soll. Hinweis:
Für die Geodatabase ist eine vom System verwaltete Objekt-ID erforderlich. Wenn Sie die Tabelle auch bei der Geodatabase registrieren, sollten Sie die Objekt-ID daher als von ArcSDE verwaltet registrieren. Wenn Sie stattdessen eine benutzerverwaltete Objekt-ID definieren, fügt die Geodatabase eine neue Objekt-ID-Spalte hinzu, wenn Sie die Tabelle bei der Geodatabase registrieren. Diese neue Objekt-ID-Spalte ersetzt die Spalte, die Sie bei der Registrierung der Tabelle bei ArcSDE angegeben haben. Auch der Datentyp Ihrer benutzerdefinierten Objekt-ID wird geändert: von einer Objekt-ID in "long integer".
- Wenn Sie eine Tabelle bei der Geodatabase registrieren, die keine geeignete Spalte enthält, fügt die Geodatabase der Tabelle eine andere Spalte hinzu, die die Anforderungen einer Objekt-ID erfüllt. Wenn die Tabelle bereits eine Spalte enthält, die "object ID" heißt, fügt die Geodatabase eine Spalte mit dem Namen OBJECTID_ hinzu.