Upload
waldheri-stoots
View
106
Download
1
Embed Size (px)
Citation preview
Domänen und Subtypen Relationen
Erhalten der Integrität einer Geodatenbank
Stephan Burghaus Domänen, Subtypen, Relationen
2
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
3
DomänenWofür?
Abfangen von ungültigen Benutzereingaben
Beispiel: AutobahnenAnzahl der FahrspurenMindestens 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
4
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
5
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 PolicyTeilen von Objekten
– Merge PolicyVerbinden von Objekten
Stephan Burghaus Domänen, Subtypen, Relationen
6
Split Policy
3 Typen einstellbar:• Default Value
Vorgabe des Standardwertes des Attributs
• DuplicateKopie des vorherigen Wertes
• Geometry ratioVerminderung des Wertes proportional zur Objektgröße
Stephan Burghaus Domänen, Subtypen, Relationen
7
Gebiet Steuern Besitzer
10000 2500 Bob Smith
Eigenschaft der
Geometry
Geometry
VerhältnisDuplicate
Gebiet Steuern Besitzer
4500 1125 Bob Smith
Gebiet Steuern Besitzer
5500 1375 Bob Smith
Split
Stephan Burghaus Domänen, Subtypen, Relationen
8
Merge Policy
Ebenfalls 3 Typen einstellbar:• Default value
Vergabe des vordefinierten Standardwertes
• Sum ValuesBildung der Summe aus beiden ursprünglichen Einzelwerten
• Weighted AverageBildung des gewichteten Mittels der beiden Werte
Stephan Burghaus Domänen, Subtypen, Relationen
9
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
10
Domänen werden immer datenbankweit festgelegt.
Man findet Domänen in den Eigenschaften einer Datenbank.
Stephan Burghaus Domänen, Subtypen, Relationen
11
Auflistung der Domänen
Festlegung von
Feldinhalt,
Domänentyp,
Min- und Max-Werten bzw.Coded Values
Policies
Subtypes
Stephan Burghaus Domänen, Subtypen, Relationen
13
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
14
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
15
Wirkung von Subtypes
Eingabe eines Wertes in das vorher definiertes Schlüsselfeld
Auswahl des vorher festgelegten Satzes von Domänen für alle anderen Attribute des
Datensatzes
bewirkt
Stephan Burghaus Domänen, Subtypen, Relationen
16
Beispiel: Klasse „Straßen“
Typ Gültige Werte
AutobahnMind. 4 Spuren
Straßenbelag Teer
Mind. 50 km/h
LandstraßeMind. 2 Spuren
Straßenbelag Teer
Max. 100 km/h
Feldweg1 Spur
Straßenbelag Schotter
Max. 100 km/h
Stephan Burghaus Domänen, Subtypen, Relationen
17
Subtypes werden für jede einzelne Klasse definiert.
Die Subtypes findet man bei den Eigenschaften einer Klasse
Stephan Burghaus Domänen, Subtypen, Relationen
18
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
19
Aufgabe 11. Kopiert die Datenbank V:\burghaus\SantaBarbara in ein
privates Verzeichnis. ANDERS FUNKTIONIERT DER REST NICHT !!!
2. Definiert Subtypes für:1. Autobahn
2. Hauptstraße
3. Nebenstraße
4. 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!
Relationen
Stephan Burghaus Domänen, Subtypen, Relationen
21
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
22
KardinalitätEs gibt 3 Typen :
1 : 1 Staat Hauptstadt
1 : n Staat Großstädte
m : n Eigentümer Grundstücke
Stephan Burghaus Domänen, Subtypen, Relationen
23
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
24
Es gibt zwei Möglichkeiten, Relationen zu definieren
• Embedded Foreign KeysEingebettete Fremdschlüssel
• Relationship Classes in Form eigenständiger Tabellen
Stephan Burghaus Domänen, Subtypen, Relationen
25
Embedded Foreign KeysAnlegen eines weiteren Attributs immer in der
ZielklasseInhalt dieses Attributs:ID des zugehörigen Datensatzes der Herkunftsklasse Immer nur die Kardinalität 1 : n möglich
ID E.F.K. ID
Zielklasse Herkunftsklasse
N : 1
Stephan Burghaus Domänen, Subtypen, Relationen
26
Relationship Classes in Form eigenständiger Tabellen
ID IDID A ID B
Klasse A Klasse B
Zuordnung von ID‘s durch eine neue Tabelle
Alle Kardinalitäten sind möglich
Stephan Burghaus Domänen, Subtypen, Relationen
27
Zwei Typen von Relationen• Simple Relationship
Einfache Relation,
alle 3 Kardinalitäten sind möglich
• Composite RelationshipRelationen 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
28
Beispiele
Eigentümer Grundstück
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
29
Attribute in Relationship ClassesDa Relationship Classes als Tabellen auftreten, kann
man in ihnen auch weitere Attribute speichern.
ID ID Eig
ID Gs
%ID
Beispiel : Eigentümer GrundstückeRelationship Class
Prozentsatz des Eigentumanteils am Grundstück
Stephan Burghaus Domänen, Subtypen, Relationen
30
Aufgabe 2Kopiert die Datenbank v:\burghaus\montgomery in ein privates VerzeichnisANDERS 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
31
Vergabe eines Namens für die Relationship Class,
Wahl der Herkunftsklasseund der Zielklasse
Der Assistent zum Erstellen einer Relationship Class
Stephan Burghaus Domänen, Subtypen, Relationen
32
Wahl des Typs der Relation
Stephan Burghaus Domänen, Subtypen, Relationen
33
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
34
Auswahl der Kardinalität der Relation
Stephan Burghaus Domänen, Subtypen, Relationen
35
Auswahl ob in der Relationship Class Attribute enthalten sein sollen.
Stephan Burghaus Domänen, Subtypen, Relationen
36
Festlegung der Schlüsselfelder der beiden Klassen, über die die Relation definiert wird
Stephan Burghaus Domänen, Subtypen, Relationen
37
Fertig !!