domänen und subtypen relationen

37
Domänen und Subtypen Relationen Erhalten der Integrität einer Geodatenbank

Upload: oleg-mcguire

Post on 01-Jan-2016

38 views

Category:

Documents


0 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Domänen und Subtypen Relationen

Domänen und Subtypen Relationen

Erhalten der Integrität einer Geodatenbank

Page 2: Domänen und Subtypen Relationen

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

Page 3: Domänen und Subtypen Relationen

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

Page 4: Domänen und Subtypen Relationen

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.

Page 5: Domänen und Subtypen Relationen

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

Page 6: Domänen und Subtypen Relationen

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

Page 7: Domänen und Subtypen Relationen

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

Page 8: Domänen und Subtypen Relationen

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

Page 9: Domänen und Subtypen Relationen

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

Page 10: Domänen und Subtypen Relationen

Stephan Burghaus Domänen, Subtypen, Relationen

10

Domänen werden immer datenbankweit festgelegt.

Man findet Domänen in den Eigenschaften einer Datenbank.

Page 11: Domänen und Subtypen Relationen

Stephan Burghaus Domänen, Subtypen, Relationen

11

Auflistung der Domänen

Festlegung von

Feldinhalt,

Domänentyp,

Min- und Max-Werten bzw.Coded Values

Policies

Page 12: Domänen und Subtypen Relationen

Subtypes

Page 13: Domänen und Subtypen Relationen

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.

Page 14: Domänen und Subtypen Relationen

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 !!

Page 15: Domänen und Subtypen Relationen

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

Page 16: Domänen und Subtypen Relationen

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

Page 17: Domänen und Subtypen Relationen

Stephan Burghaus Domänen, Subtypen, Relationen

17

Subtypes werden für jede einzelne Klasse definiert.

Die Subtypes findet man bei den Eigenschaften einer Klasse

Page 18: Domänen und Subtypen Relationen

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

Page 19: Domänen und Subtypen Relationen

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!

Page 20: Domänen und Subtypen Relationen

Relationen

Page 21: Domänen und Subtypen 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

Page 22: Domänen und Subtypen Relationen

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

Page 23: Domänen und Subtypen Relationen

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.

Page 24: Domänen und Subtypen Relationen

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

Page 25: Domänen und Subtypen Relationen

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

Page 26: Domänen und Subtypen Relationen

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

Page 27: Domänen und Subtypen Relationen

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.

Page 28: Domänen und Subtypen Relationen

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

Page 29: Domänen und Subtypen Relationen

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

Page 30: Domänen und Subtypen Relationen

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

Page 31: Domänen und Subtypen Relationen

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

Page 32: Domänen und Subtypen Relationen

Stephan Burghaus Domänen, Subtypen, Relationen

32

Wahl des Typs der Relation

Page 33: Domänen und Subtypen Relationen

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)

Page 34: Domänen und Subtypen Relationen

Stephan Burghaus Domänen, Subtypen, Relationen

34

Auswahl der Kardinalität der Relation

Page 35: Domänen und Subtypen Relationen

Stephan Burghaus Domänen, Subtypen, Relationen

35

Auswahl ob in der Relationship Class Attribute enthalten sein sollen.

Page 36: Domänen und Subtypen Relationen

Stephan Burghaus Domänen, Subtypen, Relationen

36

Festlegung der Schlüsselfelder der beiden Klassen, über die die Relation definiert wird

Page 37: Domänen und Subtypen Relationen

Stephan Burghaus Domänen, Subtypen, Relationen

37

Fertig !!