Keyset-Tabellen in einer Geodatabase in Oracle
In einer Keyset-Tabelle wird eine Liste ausgewählter Zeilen gespeichert, wenn ein ArcGIS Desktop-Client eine Geodatabase-Beziehungsabfrage ausführt, durch die Tabellen mithilfe von Attributen vom Typ Ganzzahl, Zahl, Datum oder Zeichenfolge verbunden werden.
In den Protokolldateitabellen werden die OBJECTIDs der ausgewählten features gespeichert, wie in Konfigurationsoptionen für Protokolldateitabellen in Oracle-Geodatabases beschrieben. Keyset-Tabellen werden verwendet, um Verbindungen mit anderen Attributen als der OBJECTID zu speichern.
Es wird eine Keyset-Tabelle pro Verbindung und Sitzung erstellt, wenn der Quellauswahlsatz in der Datenbankabfrage mehr als 99 Zeilen enthält.
Keyset-Tabellen in ArcGIS Desktop
Keyset-Tabellen werden in ArcGIS Desktop nicht angezeigt. Wenn Sie jedoch mehr als 99 Datensätze in einer Feature-Class auswählen, die an einer Beziehungsklasse in ArcMap beteiligt, die Attributtabelle öffnen und dann in der Liste "In Beziehung stehende Tabellen" im Menü "Optionen" die in Beziehung stehende Tabelle abrufen, wird eine Keyset-Tabelle erzeugt und mit Daten gefüllt. Zudem wird eine Keyset-Tabelle beim Start einer Editiersitzung erstellt.
Keyset-Tabellen in einer Oracle-Datenbank
In der Geodatabase sind keine Keyset-Tabellen enthalten, bis eines der beiden folgenden Ereignisse eintritt:
- Es wird eine entsprechende Auswahl über ArcGIS Desktop getroffen.
- Sie starten eine Editiersitzung.
Wenn ein Benutzer, der CREATE TABLE-Berechtigungen hat, die Erstellung einer Keyset-Tabelle verursacht, wird die Keyset-Tabelle im Schema dieses Benutzers erstellt. Wenn ein Benutzer keine CREATE TABLE-Berechtigungen hat, wird ein Verfahren aufgerufen, um im Schema des ArcSDE-Administrators eine Keyset-Tabelle zu erstellen. Wenn eine Keyset-Tabelle als Ergebnis einer qualifizierenden Auswahl erstellt wird, die in ArcGIS Desktop erfolgt, so wird die Keyset-Tabelle erstellt und mit Daten gefüllt. Wenn Sie eine Editiersitzung starten, wird die Keyset-Tabelle zwar erstellt, aber erst nach Angabe eines qualifizierenden Auswahlsatzes mit Daten gefüllt. Die Keyset-Tabelle wird gelöscht, wenn der Benutzer die Verbindung zur Datenbank trennt.
Keyset-Tabellennamen haben dieses Format:
<user_schema>.keyset_<process_id>
In der Keyset-Tabelle sind eine Keyset-ID-Nummer für jeden Auswahlsatz und Werte für das Feld, auf dem die Beziehung zwischen den Feature-Classes basiert, gespeichert.
Nachfolgend ist eine Keyset-Tabelle für eine Auswahl zwischen den in Beziehung stehenden Tabellen LATERALS und CONTRACTORS zu sehen. In diesem Fall wird das Feld LONG_VAL gefüllt und enthält die Werte des Feldes CONTRACTOR_ID, auf dem die Beziehungsklasse zwischen LATERALS und CONTRACTORS basiert.
<user_schema>.keyset_<process_id>
Im Folgenden ist die Definition für eine Keyset-Tabelle in Oracle dargestellt:
Feldname |
Feldtyp |
Beschreibung |
Null? |
---|---|---|---|
KEYSET_ID |
NUMBER(38) |
Kennung für die Keyset-Auswahl |
NOT NULL |
LONG_VAL |
NUMBER |
Wert des Feldes, auf dem die Beziehungsklasse basiert, wenn dieses Feld ein Zahlenfeld ist |
|
STR_VAL |
NVARCHAR2(256) |
Wert des Feldes, auf dem die Beziehungsklasse basiert, wenn dieses Feld ein Zeichenfolgefeld ist |
|
DBL_VAL |
DOUBLE |
Wert des Feldes, auf dem die Beziehungsklasse basiert, wenn dieses Feld ein Feld für doppelte Genauigkeit ist |
|
DATE_VAL |
DATE |
Wert des Feldes, auf dem die Beziehungsklasse basiert, wenn dieses Feld ein Datumsfeld ist |
Keyset-Tabellen in einem XML-Dokument
Keyset-Tabellen werden nicht in einem XML-Dokument gespeichert, da sie temporäre Tabellen sind.