370 likes | 462 Views
Domänen und Subtypen Relationen. Erhalten der Integrität einer Geodatenbank. 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
E N D
Domänen und Subtypen Relationen Erhalten der Integrität einer Geodatenbank
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
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
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
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
Gebiet Steuern Besitzer 2500 10000 Bob Smith Geometry Verhältnis Eigenschaft der Geometry Duplicate Split Gebiet Steuern Besitzer 1125 4500 Bob Smith Gebiet Steuern Besitzer 1375 5500 Bob Smith 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
Gebiet Steuern Besitzer Gebiet Steuern Besitzer 3000 12000 Mary Jones 2500 10000 Bob Smith Eigenschaft der Geometry Standardwert Addition Gebiet Steuern Besitzer 5500 22000 Stadt 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
Auflistung der Domänen Festlegung von Feldinhalt, Domänentyp, Min- und Max-Werten bzw.Coded Values Policies 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“ 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
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 StandardwertenZu den restlichen Attributen. Anschließend kann man noch einen bestimmten Subtype als Standardauswahl vorgeben 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 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
Kardinalität Es gibt 3 Typen : 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
Embedded Foreign Keys N : 1 Zielklasse Herkunftsklasse 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 Stephan Burghaus Domänen, Subtypen, Relationen
Relationship Classes in Form eigenständiger Tabellen Klasse A Klasse B 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
Eigentümer Grundstück Beispiele Simple Relationship 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 Prozentsatz des Eigentumanteils am Grundstück 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 Herkunftsklasseund der Zielklasse Stephan Burghaus Domänen, Subtypen, Relationen
Wahl des Typs der Relation Stephan Burghaus Domänen, Subtypen, Relationen
Vorgabe vonBezeichnungenfür die Richtungen der Beziehung Wahl der Richtungin der eine Löschweitergabe erfolgen soll (Vorgabe erfolgt durch Wahl des Relationstyps) Stephan Burghaus Domänen, Subtypen, Relationen
Auswahl der Kardinalität der Relation Stephan Burghaus Domänen, Subtypen, Relationen
Auswahl ob in der Relationship Class Attribute enthalten sein sollen. 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
Fertig !! Stephan Burghaus Domänen, Subtypen, Relationen