Grundlagen des Erstellens von Beziehungen zwischen Tabellen
Wenn Sie Tabellen in Beziehung setzen, wird eine Beziehung zwischen zwei Tabellen erstellt. Die dazugehörigen Daten werden der Attributtabelle des Layers nicht angefügt wie bei einer Verbindung. Stattdessen können Sie auf die verbundenen Daten zugreifen, wenn Sie mit den Attributen des Layers arbeiten.
Eine Beziehung gleicht im Wesentlichen einer einfachen Beziehungsklasse, kann aber auch Daten aus verschiedenen Workspaces umfassen (z. B. eine dBASE-Tabelle, die auf ein Coverage bezogen sein kann) und wird in einer Layer-Datei oder einem ArcMap-Dokument gespeichert. Wenn bereits eine Beziehungsklasse für die Daten eingerichtet ist, können Sie diese wie eine Beziehung in ArcMap verwenden.
Mit Beziehungen können in Tabellen- und Identifizierungsfenstern Daten gesucht werden, die sich auf die selektierten Datensätze beziehen.
In den folgenden Punkten wird das Verhalten von Beziehungen in ArcMap beschrieben:
- Beziehungen sind bidirektional, sodass sie von beiden Tabellen unabhängig davon verwendet werden können, welche Tabelle als Besitzer der Beziehung fungiert. Angenommen, eine Beziehung wird im Layer A für Tabelle B erstellt. Dann ist die Beziehung unter Layer A aufgelistet, aber Tabelle B kann über die Beziehung auf Datensätze in Layer A zugreifen.
- Wenn eine Auswahl in einer Tabelle oder einem Layer erfolgt, wird diese im Gegensatz zu Links in ArcView GIS 3 nicht automatisch für die in Beziehung stehenden Tabellen übernommen. Sie können den Befehl In Beziehung stehende Tabellen (in der Werkzeugleiste des Tabellenfensters) verwenden, um eine Auswahl für eine in Beziehung stehende Tabelle oder einen Layer zu übernehmen.
- Wenn Sie den oben beschriebenen Befehl "In Beziehung stehende Tabellen" verwenden, wird die entsprechende Tabelle bzw. der entsprechende Layer ggf. dem Inhaltsverzeichnis unter dem aktiven Datenrahmen hinzugefügt und das entsprechende Tabellenfenster wird geöffnet.
- Wenn zwei Layer auf einer Karte auf identische zugrunde liegende Feature-Classes oder Shapefiles verweisen, wirkt sich die Beziehung auf beide Layer aus und die Layer können die Beziehung verwenden, für die der jeweils andere Layer als Besitzer fungiert. Da Beziehungen in einer spezifischen Layer-Datei gespeichert werden können, kann ein Layer auch dann keine Beziehungen löschen, als deren Besitzer ein anderer Layer fungiert, wenn sich beide Layer auf dieselben Daten beziehen.
- Eine Beziehung, als deren Besitzer eine Tabelle fungiert, mit der eine Routenereignisquelle oder ein Layer einer XY-Ereignisquelle definiert wird, wird nicht in den Layer der Ereignisquelle übernommen. Sie müssen die Beziehung für den Layer der Ereignisquelle neu erstellen.
- Wenn Sie eine Beziehung zu einer Tabelle erstellen, die keine ObjectID-Spalte enthält (z. B. mit Zeichen getrennte Textdateien oder OleDB-Tabellen), können Sie keine ausgewählten Elemente übernehmen, die die Beziehung verwenden. Im Menü Tabellenoptionen des Tabellenfensters können Sie mit dem Befehl In Beziehung stehende Tabellen zwar die Beziehung auflisten, sie ist jedoch nicht verfügbar. Allerdings können Sie weiterhin mit dem Werkzeug "Identifizieren" nach in Beziehung stehenden Datensätzen suchen.