Beziehungsklassen in der Geodatabase ermöglichen die Verwaltung von Zuordnungen zwischen Objekten in einer Klasse (Feature-Class oder Tabelle) und Objekten in einer anderen Klasse. Bei den Objekten auf beiden Seiten der Beziehung kann es sich um Features mit Geometrie oder Datensätze in einer Tabelle handeln.
Eine Feature-Class mit Campingplätzen (Quelltabelle) kann beispielsweise mit einer Feature-Class von Zelt-/Stellplätzen (Zieltabelle) verknüpft werden, da sie mit FacilityID in der Quelltabelle und ParentFacilityID in der Zieltabelle ein gemeinsames Feld mit gemeinsamen Werten aufweisen und auch der Datentyp Long Integer für dieses Feld übereinstimmt. In diesem Beispiel wäre es bei Verknüpfung dieser Datensätze möglich, einen einzigen Campingplatz auszuwählen und auf mehrere mit diesem Campingplatz verknüpfte Zelt-/Stellplätze zuzugreifen.
Vorteile von Beziehungsklassen
Eine Beziehungsklasse in einer Geodatabase stellt eine Verbindung zwischen zwei Tabellen basierend auf einem gemeinsamen Feld (auch: Schlüssel) her. Diese Verbindung kann verwendet werden, um die referenzielle Integrität durchzusetzen oder zwischen verbundenen Datensätzen zu navigieren. Im Folgenden werden einige der Vorteile und erweiterten Funktionen einer Beziehungsklasse beschrieben:
- Referenzielle Integrität: Mit einer Beziehungsklasse kann referenzielle Integrität durchgesetzt werden. Auf diese Weise wird sichergestellt, dass die Beziehungen zwischen Tabellen konsistent bleiben. Das bedeutet, dass bei Löschung eines Datensatzes in der Quelltabelle alle zugehörigen Datensätze in der Zieltabelle ebenfalls gelöscht werden.
- Verbesserte Dateneingabe und -bearbeitung: Beim Bearbeiten von Daten können Beziehungsklassen dazu beitragen, dass Änderungen in zugehörigen Tabellen korrekt weitergegeben werden. Auf diese Weise lassen sich Dateninkonsistenzen und Fehler verhindern.
- Umfassendere Datenanalyse: Wenn eine Beziehungsklasse zwischen Datasets eingerichtet wurde, können Sie komplexere Abfragen und Analysen durchführen. Sie können beispielsweise nach allen Features in einer Tabelle suchen, die mit einem bestimmten Feature in einer anderen Tabelle in Beziehung stehen.
- Effizienteres Datenmanagement: Beziehungsklassen ermöglichen ein effizientes Management zugehöriger Daten. Statt Daten in mehreren Tabellen zu duplizieren, können Sie sie an einem Ort speichern und von anderen Tabellen aus Beziehungen zu ihnen herstellen.
- Beziehungsart: Die Beziehungsart beschreibt, wie Elemente oder Daten zueinander in Beziehung stehen. In den GIS-Daten einer Stadt könnte beispielsweise eine Eins-zu-Eins-Beziehung zwischen einem Gebäude und einem Eigentümer bestehen. Eine Eins-zu-Viele-Beziehung könnte eine Buslinie sein, die viele Haltestellen anfährt. Eine Viele-zu-Viele-Beziehung könnte zwischen vielen Einkäufern, die viele Geschäfte besuchen, bestehen. Beziehungsklassen helfen dabei, diese Zusammenhänge zu verstehen und komplexe Daten sinnvoll zu interpretieren.
- Beziehungsregeln: Sie können in der Beziehungsklasse Einschränkungen definieren, um sicherzustellen, dass die Genauigkeit und Konsistenz räumlicher Daten bei der Bearbeitung von Daten erhalten bleibt. Eine Beziehungsregel könnte zum Beispiel besagen, dass jedes Gebäude mit einem bestimmten Flurstück verknüpft sein muss. Sie können Regeln dafür festlegen, wie Dinge miteinander verbunden sind – z. B. ein Gebäude mit einem Flurstück, eine Buslinie mit vielen Bushaltestellen oder viele Einkäufer mit vielen Geschäften. Auf diese Weise können Sie die Datenintegrität wahren, indem Sie die Daten in Ihrer Geodatabase genau und zuverlässig halten. Dies kann dazu beitragen, die Integrität Ihrer Daten zu wahren.
- Attribuierte Beziehungen: In Beziehungsklassen können zusätzliche Informationen über die Beziehung selbst gespeichert werden. Bei einer Beziehung zwischen Straßen und Verkehrsunfällen könnte in einem Attribut beispielsweise die Anzahl der Unfälle auf jedem Straßenabschnitt gespeichert sein. Beziehungsklassen können Attribute aufweisen, in denen Sie Informationen über die Beziehung selbst speichern können. Sie könnten zum Beispiel das Datum speichern, an dem eine Beziehung hergestellt wurde.
- Benachrichtigung: Benachrichtigungen ermöglichen automatische Aktualisierungen. Wenn eine Änderung in einer Tabelle vorgenommen wird, können zugehörige Datensätze in der anderen Tabelle automatisch aktualisiert werden. Beziehungsklassen können Meldungen senden, wenn bestimmte Ereignisse eintreten, z. B. wenn eine Beziehung erstellt oder gelöscht wird. Auf diese Weise kann benutzerdefiniertes Verhalten in der Anwendung ausgelöst werden.
- Navigation: Das Navigieren in Beziehungen kann in beiden Richtungen erfolgen. Wenn beispielsweise eine Beziehung zwischen einer Kundentabelle und einer Auftragstabelle besteht, können Sie nach allen Aufträgen für einen bestimmten Kunden oder nach dem mit einem bestimmten Auftrag verknüpften Kunden suchen.
- Kaskadierende Aktualisierungen und Löschungen: Beziehungsklassen unterstützen kaskadierende Aktualisierungen und Löschungen. Das bedeutet, dass bei Aktualisierung oder Löschung eines Datensatzes in der Quelltabelle die Änderungen an zugehörige Datensätze in der Zieltabelle weitergegeben werden können.
Einschränkungen bei Beziehungsklassen
Beziehungsklassen in der Geodatabase ermöglichen die Verwaltung von Zuordnungen zwischen Objekten in zwei in Beziehung stehenden Feature-Classes oder Tabellen. Hierbei gelten jedoch die folgenden Beschränkungen und Einschränkungen:
- Beziehungsklassen können nur zwischen Feature-Classes oder Tabellen in derselben Geodatabase definiert werden.
- Die Feature-Classes oder Tabellen müssen außerdem in derselben Geodatabase gespeichert sein.
An mehreren Beziehungsklassen beteiligte Datasets
Eine Feature-Class oder Tabelle kann einer oder mehreren Beziehungsklassen angehören; hierfür gelten jedoch einige Einschränkungen.
- Eine bestimmte Feature-Class oder Tabelle kann nicht das Ziel in zwei abhängigen Beziehungsklassen sein. Es kann jedoch mehr als eine einfache Beziehung zwischen einem Klassenpaar bestehen. Dies kann sich anbieten, wenn Sie – abhängig von der Richtung, die die Beziehung nehmen soll – mehr als eine Kardinalität erzwingen müssen.
- Wenn zwischen zwei Klassen eine abhängige Beziehungsklasse vorhanden ist, kann zwischen diesen beiden Klassen keine andere Beziehungsklasse erstellt werden.
- Um eine Beziehungsklasse in einem Feature-Dataset zu erstellen, muss sich entweder die Quell- oder die Zielklasse im Feature-Dataset befinden.
- Es kann mehr als eine einfache Beziehung zwischen einem Klassenpaar bestehen. Dies kann sich anbieten, wenn Sie – abhängig von der Richtung, die die Beziehung nehmen soll – mehr als eine Kardinalität erzwingen müssen.
Nicht unterstützte Beziehungsklassen
Die folgenden Typen und Eigenschaften von Beziehungsklassen werden in ArcGIS nicht unterstützt:
- Rekursive Beziehungen, in denen eine Beziehung zwischen Datensätzen in derselben Feature-Class oder Tabelle besteht, werden in ArcGIS noch nicht unterstützt.
- Die primären Schlüssel und Fremdschlüssel können jeweils auf nur einem Feld basieren; komplexe primäre Schlüssel und Fremdschlüssel werden in ArcGIS nicht unterstützt.
Wenn Sie basierend auf den vorhandenen Daten und den zu beantwortenden Fragen festgestellt haben, dass die Verwendung einer Beziehungsklasse in der Geodatabase die am besten geeignete Methode für Sie ist, bestehen die nächsten Schritte darin, sich mit den Typen von Geodatabase-Beziehungsklassen vertraut zu machen und eine Beziehungsklasse zu erstellen.