Domänen und Subtypen Relationen Erhalten der Integrität einer Geodatenbank
Stephan Burghaus Domänen, Subtypen, Relationen Inhalt Domänen Wofür ? Typen von Domänen Policies Subtypen Was ist das ? Wann benutzt man sie? Wie funktionieren sie Relationen Kardinalität Single und Composite Relationships Attribute in Relationship classes Stephan Burghaus Domänen, Subtypen, Relationen
Domänen Wofür? Abfangen von ungültigen Benutzereingaben Beispiel: Autobahnen Anzahl der Fahrspuren Mindestens 4 Spuren Maximal z. B. 10 Spuren (Für beide Richtungen zusammen) => Benutzung einer Domäne, um gültige Werte vor der Eingabe festzulegen Stephan Burghaus Domänen, Subtypen, Relationen
Stephan Burghaus Domänen, Subtypen, Relationen Domänentypen Range Value Vorgabe von Grenzwerten, in denen sich das Attribut des Objekts bewegen darf. Nur möglich bei numerischen Werten im Attributfeld. Coded Value Vorgabe von festen Werten durch eine Liste. Möglich bei allen Attributinhalten. Stephan Burghaus Domänen, Subtypen, Relationen
Stephan Burghaus Domänen, Subtypen, Relationen Policies Was passiert beim Teilen oder Verbinden von Objekten? Benutzung von Policies: Jedes Attribut erhält bei Definition einer Domäne zusätzlich eine Split Policy Teilen von Objekten Merge Policy Verbinden von Objekten Stephan Burghaus Domänen, Subtypen, Relationen
Stephan Burghaus Domänen, Subtypen, Relationen Split Policy 3 Typen einstellbar: Default Value Vorgabe des Standardwertes des Attributs Duplicate Kopie des vorherigen Wertes Geometry ratio Verminderung des Wertes proportional zur Objektgröße Stephan Burghaus Domänen, Subtypen, Relationen
Stephan Burghaus Domänen, Subtypen, Relationen Gebiet Steuern Besitzer 10000 2500 Bob Smith Eigenschaft der Geometry Geometry Verhältnis Duplicate Split Gebiet Steuern Besitzer 4500 1125 Bob Smith Gebiet Steuern Besitzer 5500 1375 Bob Smith Stephan Burghaus Domänen, Subtypen, Relationen
Stephan Burghaus Domänen, Subtypen, Relationen Merge Policy Ebenfalls 3 Typen einstellbar: Default value Vergabe des vordefinierten Standardwertes Sum Values Bildung der Summe aus beiden ursprünglichen Einzelwerten Weighted Average Bildung des gewichteten Mittels der beiden Werte Stephan Burghaus Domänen, Subtypen, Relationen
Stephan Burghaus Domänen, Subtypen, Relationen Gebiet Steuern Besitzer 12000 3000 Mary Jones Gebiet Steuern Besitzer 10000 2500 Bob Smith Eigenschaft der Geometry Addition Standardwert Gebiet Steuern Besitzer 22000 5500 Stadt Stephan Burghaus Domänen, Subtypen, Relationen
Stephan Burghaus Domänen, Subtypen, Relationen Domänen werden immer datenbankweit festgelegt. Man findet Domänen in den Eigenschaften einer Datenbank. Stephan Burghaus Domänen, Subtypen, Relationen
Stephan Burghaus Domänen, Subtypen, Relationen Auflistung der Domänen Festlegung von Feldinhalt, Domänentyp, Min- und Max-Werten bzw. Coded Values Policies Stephan Burghaus Domänen, Subtypen, Relationen
Subtypes
Stephan Burghaus Domänen, Subtypen, Relationen Subtypes – Wofür? Erstellung von Untertypen einer Objektart, ohne eine Unterklasse erstellen zu müssen. Aber: Die jeweiligen Untertypen des Datensatzes müssen zuvor mit Hilfe eines Schlüssel-Attributs im Integer-Format definiert werden. Stephan Burghaus Domänen, Subtypen, Relationen
Erstellen von Subtypes Zuerst erfolgt die Definition eines Attributs als Schlüssel für die Subtypes. Anschließend legt man die unterschiedlichen Subtypes mit ihren jeweiligen Sätzen von Domänen für die restlichen Attribute fest. Man kann die Anzahl oder Art der Attribute nicht verändern !! Stephan Burghaus Domänen, Subtypen, Relationen
Wirkung von Subtypes Eingabe eines Wertes in das vorher definiertes Schlüsselfeld bewirkt Auswahl des vorher festgelegten Satzes von Domänen für alle anderen Attribute des Datensatzes Stephan Burghaus Domänen, Subtypen, Relationen
Beispiel: Klasse „Straßen“ Typ Gültige Werte Autobahn Mind. 4 Spuren Straßenbelag Teer Mind. 50 km/h Landstraße Mind. 2 Spuren Max. 100 km/h Feldweg 1 Spur Straßenbelag Schotter Stephan Burghaus Domänen, Subtypen, Relationen
Stephan Burghaus Domänen, Subtypen, Relationen Subtypes werden für jede einzelne Klasse definiert. Die Subtypes findet man bei den Eigenschaften einer Klasse Stephan Burghaus Domänen, Subtypen, Relationen
Stephan Burghaus Domänen, Subtypen, Relationen In dieser Dialogbox wählt man das Schlüsselattribut für die Subtypes. Man definiert zuerst die Subtypes mit allen Zuordnungen von Domänen und Standardwerten Zu den restlichen Attributen. Anschließend kann man noch einen bestimmten Subtype als Standardauswahl vorgeben Stephan Burghaus Domänen, Subtypen, Relationen
Stephan Burghaus Domänen, Subtypen, Relationen Aufgabe 1 Kopiert die Datenbank V:\burghaus\SantaBarbara in ein privates Verzeichnis. ANDERS FUNKTIONIERT DER REST NICHT !!! Definiert Subtypes für: Autobahn Hauptstraße Nebenstraße Autobahnauffahrt Definiert die dafür benötigten Coded Value Domains für Numlanes und Speedlimit. Die nötigen Werte sind aus der Tabelle zu ermitteln. Vorsicht bei der Autobahn: Ein Wert bei Numlanes kommt nur ein mal vor, muss aber trotzdem erfasst werden! Stephan Burghaus Domänen, Subtypen, Relationen
Relationen
Stephan Burghaus Domänen, Subtypen, Relationen Zuordnung von Datensätzen einer Klasse zu Datensätzen einer anderen Klasse Zweck: Rückgriff auf Daten aus Datensätze einer anderen Klasse mit eindeutiger Zuordnung dieser Datensätze zu denen der aktuellen Klasse Stephan Burghaus Domänen, Subtypen, Relationen
Stephan Burghaus Domänen, Subtypen, Relationen Kardinalität Es gibt 3 Typen : 1 : 1 Staat Hauptstadt 1 : n Großstädte m : n Eigentümer Grundstücke Stephan Burghaus Domänen, Subtypen, Relationen
Namentliche Unterscheidung der Klassen Gerade bei der Kardinalität 1: n ist eine namentliche Unterscheidung der Klassen sehr wichtig: 1 : n Herkunftsklasse (Origin Class) Diese Klasse enthält die Objekte, die anderen Objekten zugeordnet werden. Zielklasse (Destination Class) Diese Klasse enthält die Objekte, denen andere Objekte zugeordnet werden. Stephan Burghaus Domänen, Subtypen, Relationen
Es gibt zwei Möglichkeiten, Relationen zu definieren Embedded Foreign Keys Eingebettete Fremdschlüssel Relationship Classes in Form eigenständiger Tabellen Stephan Burghaus Domänen, Subtypen, Relationen
Stephan Burghaus Domänen, Subtypen, Relationen Embedded Foreign Keys Anlegen eines weiteren Attributs immer in der Zielklasse Inhalt dieses Attributs: ID des zugehörigen Datensatzes der Herkunftsklasse Immer nur die Kardinalität 1 : n möglich N : 1 Zielklasse Herkunftsklasse ID E.F.K. ID Stephan Burghaus Domänen, Subtypen, Relationen
Relationship Classes in Form eigenständiger Tabellen Klasse A Klasse B ID ID A ID B ID Zuordnung von ID‘s durch eine neue Tabelle Alle Kardinalitäten sind möglich Stephan Burghaus Domänen, Subtypen, Relationen
Zwei Typen von Relationen Simple Relationship Einfache Relation, alle 3 Kardinalitäten sind möglich Composite Relationship Relationen mit zusammenhängender Lebensdauer von Datensätzen : Die Löschung eines Datensatzes der Herkunftstabelle bewirkt die Löschung des Datensatzes in der Zieltabelle Stichwort: Referentielle Integrität Es ist nur die Kardinalität 1 : n oder 1 : 1 möglich. Stephan Burghaus Domänen, Subtypen, Relationen
Beispiele Simple Relationship Composite Relationship Eigentümer Grundstück Composite Relationship Straße Fußgängerampel Straßen existieren ohne Ampel, Ampeln aber nicht ohne Straßen Stephan Burghaus Domänen, Subtypen, Relationen
Attribute in Relationship Classes Da Relationship Classes als Tabellen auftreten, kann man in ihnen auch weitere Attribute speichern. Beispiel : Eigentümer Relationship Class Grundstücke ID ID Eig ID Gs % ID Prozentsatz des Eigentumanteils am Grundstück Stephan Burghaus Domänen, Subtypen, Relationen
Stephan Burghaus Domänen, Subtypen, Relationen Aufgabe 2 Kopiert die Datenbank v:\burghaus\montgomery in ein privates Verzeichnis ANDERS FUNKTIONIERT DER REST NICHT !!! Erstellt eine Simple Relationship Class zwischen den Eigentümern (Tabelle owner_dat) und den Grundstücken (Landbase / parcels). Die einander zuzuordnenden ID‘s der beiden Tabellen sind selbst herauszufinden. (zur Hilfe: Sie heißen in beiden Tabellen gleich) Die Kardinalität ist 1 : n für Eigentümer : Grundstück, d. h.: Ein Grundstück hat nur einen Eigentümer Stephan Burghaus Domänen, Subtypen, Relationen
Der Assistent zum Erstellen einer Relationship Class Vergabe eines Namens für die Relationship Class, Wahl der Herkunftsklasse und der Zielklasse Stephan Burghaus Domänen, Subtypen, Relationen
Stephan Burghaus Domänen, Subtypen, Relationen Wahl des Typs der Relation Stephan Burghaus Domänen, Subtypen, Relationen
Stephan Burghaus Domänen, Subtypen, Relationen Vorgabe von Bezeichnungen für die Richtungen der Beziehung Wahl der Richtung in der eine Löschweitergabe erfolgen soll (Vorgabe erfolgt durch Wahl des Relationstyps) Stephan Burghaus Domänen, Subtypen, Relationen
Stephan Burghaus Domänen, Subtypen, Relationen Auswahl der Kardinalität der Relation Stephan Burghaus Domänen, Subtypen, Relationen
Stephan Burghaus Domänen, Subtypen, Relationen Auswahl ob in der Relationship Class Attribute enthalten sein sollen. Stephan Burghaus Domänen, Subtypen, Relationen
Stephan Burghaus Domänen, Subtypen, Relationen Festlegung der Schlüsselfelder der beiden Klassen, über die die Relation definiert wird Stephan Burghaus Domänen, Subtypen, Relationen
Stephan Burghaus Domänen, Subtypen, Relationen Fertig !! Stephan Burghaus Domänen, Subtypen, Relationen