3. Abbildung auf das relationale Datenmodell

Ähnliche Dokumente
Datenmodell. Skript zur Vorlesung Geo-Informationssysteme. Wintersemester 2014/15 Ludwig-Maximilians-Universität München

{0,1} rekursive Aufteilung des Datenraums in die Quadranten NW, NE, SW und SE feste Auflösung des Datenraums in 2 p 2 p Gitterzellen

Klasse räumlicher Indexstrukturen, die den Datenraum rekursiv in 4 gleich große Zellen unterteilen (Quadranten NW, NE, SW, SE)

4.4 Quadtrees. Literatur

Kapitel 2: Ein abstraktes Geo-Datenmodell

Datenbanken Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt:

Kapitel 8: Physischer Datenbankentwurf

Entwicklung der Datenbanksysteme

Algorithmen und Datenstrukturen 1

Datenbanken. Interne Datenorganisation:

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

B / B* - Bäume. Guido Hildebrandt Seminar Datenbanksysteme

Datenbanken: Indexe. Motivation und Konzepte

GEO-INFORMATIONSSYSTEME

Technische Universität München. Vorlesungsgrobstruktur: wo stehen wir, wie geht s weiter

Algorithmen und Datenstrukturen 2. Dynamische Datenstrukturen

Kapitel : Andere dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete

Lernmodul 2 Modelle des Raumes

Informatik II Prüfungsvorbereitungskurs

Mehrdimensionale Zugriffspfade und Dateiorganisation

Kapitel : Andere dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2013/14. Prof. Dr. Sándor Fekete

Datenstrukturen. Dortmund, Oktober 1998

Mehrwegbäume Motivation

Bäume, Suchbäume und Hash-Tabellen

Kapitel DB:IV (Fortsetzung)

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

Indizierung von Geodaten - Raumbezogene Indexstrukturen. Seminar mobile Geoinformationssystem Vortrag von Markus Steger

GIS und raumbezogene Datenbanken

8. Modelle für feste Körper

Datenbanken. Seminararbeit. Einführung in das wissenschaftliche Arbeiten

Anfragebearbeitung und Indexstrukturen in Datenbanksystemen

Logische Datenstrukturen

Dateiorganisation und Zugriffsstrukturen. Prof. Dr. T. Kudraß 1

Objektorientierte Datenmodelle und - verwaltung

Datenbanksysteme SS 2013

Beweis: Die obere Schranke ist klar, da ein Binärbaum der Höhe h höchstens

Datenstrukturen & Algorithmen

4. Räumliche Indexstrukturen

Geodatenbanksysteme in Theorie und Praxis

B-Bäume I. Algorithmen und Datenstrukturen 220 DATABASE SYSTEMS GROUP

Rotation. y T 3. Abbildung 3.10: Rotation nach rechts (analog links) Doppelrotation y

14. Rot-Schwarz-Bäume

Informatik II Prüfungsvorbereitungskurs

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL

Kapitel 1: Einführung 1.1 Datenbanken?

Was bisher geschah. 1. Zerlegung in monotone Polygone 2. Triangulierung der monotonen Teilpolygone

Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1

Geoinformation I Geometr.-topol. Datenstrukturen

Algorithmische Geometrie 3. Schnitte von Liniensegmenten

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2017/18. Pro f. Dr. Sán do r Fe k e te

Teil VII. Hashverfahren

Klausur Informatik B April Teil I: Informatik 3

Wiederholung VU Datenmodellierung

Abschnitt 18: Effizientes Suchen in Mengen

Überlaufbehandlung ohne Verkettung

Aufbau Datenbanksysteme

Geoinformation I Datenmodellierung

(1) Geometrie. Vorlesung Computergraphik 3 S. Müller U N I V E R S I T Ä T KOBLENZ LANDAU

Was ist ein assoziativer Speicher?

Literatur: Jeffrey D. Ullman: Principles of Database Systems, 2 nd Edition 1982, Kapitel 2.2

Vorlesung Datenstrukturen

Kapitel 1: Einführung 1.1 Datenbanken?

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

Binäre Bäume Darstellung und Traversierung

Organisationsformen der Speicherstrukturen

Kapitel 1: Wiederholungsfragen Grundlagen DBS

Geodatenbanksysteme in Theorie und Praxis

Wiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen

Manipulation von Mengen

Kapitel DB:IV (Fortsetzung)

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

5.8.2 Erweiterungen Dynamische Hash-Funktionen (mit variabler Tabellengröße)?

1. Einführung Seite 1. Kapitel 1: Einführung

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Einführung in die Informatik II

Grundlagen von Datenbanken. B-Bäume, B*-Bäume Normalisierung

4.1 Einführung. 4.2 Z-Ordnung. 4.3 R-Bäume. 4.4 Quadtrees. Kapitel 3: Räumliche Indexstrukturen. 4. Räumliche Indexstrukturen

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL

Humboldt-Universität zu Berlin Berlin, den Institut für Informatik

1. Aufgabe (6 Punkte): Java-Programmierung (Arrays)

Kapitel Andere dynamische Datenstrukturen

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen.

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)

B+-Baum mit Z-Ordnung. B+-Baum mit Z-Ordnung. Anforderungen. 7.3 Räumliche Zugriffsstrukturen

Es sei a 2 und b 2a 1. Definition Ein (a, b)-baum ist ein Baum mit folgenden Eigenschaften:

1 Klassen und Objekte

Algorithmische Geometrie: Schnittpunkte von Strecken

Gliederung. 5. Compiler. 6. Sortieren und Suchen. 7. Graphen

13. Bäume: effektives Suchen und Sortieren

Folge 19 - Bäume Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

6. Algorithmen der Computer-Geometrie

d.h. zu Definitions-Stelle eindeutiger Funktionswert x X! y Y : (x,y) f umgekehrt: (x 1,y), (x 2,y) f ist o.k. X Y f(x) = y

Indexstrukturen für Zeichendaten und Texte

Allgemeines zu Datenbanken

Raumbezogene Datenbanken (Spatial Databases)

Informatik II, SS 2016

Dateiorganisation und Zugriffsstrukturen

! DBMS organisiert die Daten so, dass minimal viele Plattenzugriffe nötig sind.

Algorithmen und Datenstrukturen 1

Physischer Datenbankentwurf: Datenspeicherung

Transkript:

3. Abbildung auf das relationale Datenmodell 1. Einführung 2. Spaghetti-Modell 3. TIGER-Modell 4. Schwächen des relationalen Modells Geo-Informationssysteme 40

3.1 Punkt (I) Träger der geometrischen Information, auf dem die anderen Grundelemente aufbauen Die Lage eines Punktes im Datenraum wird über Koordinaten bezüglich eines Koordinationssystems bestimmt Kartesisches Koordinatensystem (Distanzen in Richtung der Koordinatenachsen) z.b. x = 1310, y = 1278 Polarkoordinatensystem (Winkel und Distanz vom Ursprung) z.β. ϕ = 45, r = 1441 Y 1278 (1310, 1278 ) 45 (45, 1441 ) 1441 (0, 0) 1310 X (0, 0) Geo-Informationssysteme 41

3.1 Punkt (II) Geographisches Koordinatensystem (Einteilung in Längen- und Breitengrade) N W Länge O Nordpol Länge Breite 40 N Breite 30 N 30 N, 100 O 100 O 110 O 0 Geo-Informationssysteme 42

3.1 Punkt (III) Der Datenraum ist ein metrischer Raum: Zwischen zwei Punkten P 1 und P 2 ist eine (nicht-negative) Distanz d (Metrik) definiert, so daß d (P 1,P 2 ) = 0 P 1 = P 2 (Identität) d (P 1,P 2 ) = d (P 2,P 1 ) (Symmetrie) d (P 1,P 2 ) d (P 1,P 3 ) + d (P 3,P 2 ) (Dreiecks-Ungleichung) z.b. Euklidische Distanz: d ( (x 1,y 1 ), (x 2,y 2 ) ) = ( x 1 x 2 ) 2 + ( y 1 y 2 ) 2 z.b. Manhattan Distanz: d ( (x 1,y 1 ), (x 2,y 2 ) ) = x 1 - x 2 + y 1 - y 2 Es können weitere vermessungstechnische Informationen zugeordnet sein: Höhe, Nummer, Art der Erfassung, Genauigkeit, Datum der Erfassung,... Geo-Informationssysteme 43

3.1 Linien als topologische Eigenschaft: Kante direkte Verbindung zwischen zwei Punkten alle direkten Verbindungen zwischen zwei Punkten sind topologisch äquivalent topologisch äquivalent: die relative Lage zweier Objekte zueinander ist gleich als geometrische Eigenschaft: Strecke oder Streckenzug Strecke: geradlinige Verbindung zwischen zwei Punkten, Streckenzug: Folge von Strecken alternativ: Kurven (z.b. Kreisbögen, Bézier-Kurven) Geo-Informationssysteme 44

3.1 Fläche Fläche ohne Löcher über geschlossenen Kanten- / Streckenzug definiert Polygon: geschlossener Streckenzug einfaches Polygon: Strecken sind bis auf die Eckpunkte überlappungsfrei außen innen Rand Fläche mit Löchern Modellierungsalternativen: über ein äußeres Polygon und 0, 1 oder mehrere innere Polygone mit Hilfe von Pseudokanten Geo-Informationssysteme 45

3.2 Spaghetti-Modell ist ein einstufiges Vektormodell Jedes Objekt wird als Folge ausgezeichneter (x,y) - Koordinaten (z.b. der Eckpunkte) definiert. Die Repräsentation zweier Objekte ist unabhängig voneinander (d.h. gleiche Punkte werden mehrfach gespeichert). Objektklassen Punkt Streckenzug einfaches Polygon Eigenschaften: + einfach keine explizite topologische Information (insbesondere keine Löcher in Polygonen explizit modellierbar) starke Redundanz Geo-Informationssysteme 46

3.3 Zweistufige Vektormodelle mit Koordinatenreferenzierung Polygon: geordnetes Verzeichnis von Punktreferenzen mit Streckenzugreferenzierung Polygon: geordnetes Verzeichnis von Steckenzugreferenzen (Orientierungsinformation notwendig) 10 1 c1 P2 9 8 7 6 P1 2 3 4 5 Koordinatenreferenzierung c4 c5 P3 - c6 + c3 P2 P4 - c8 c7 c9 P1 Streckenzugreferenzierung + c2 Polygon über Verzeichnis repräsentiert (Datenstruktur variabler Größe) keine Löcher, keine Nachbarschaftsinformation modelliert Geo-Informationssysteme 47

3.3 Topologische Vektormodelle (I) explizite Speicherung der topologischen Struktur einfache Bestimmung von benachbarten Objekten höherer Aufwand bei Änderungen höherer Speicheraufwand DIME Dual Independent Map Encoding System (U.S. Bureau of Census, 1970) Grundelement: Kante hat vier Zeiger (Anfangs- und Endpunkt, links und rechts liegende Fläche) 9 1 2 8 P2 6 P1 3 7 5 4 Geo-Informationssysteme 48

3.3 Topologische Vektormodelle (II) TIGER-Modell Topologically Integrated Geographic Encoding and Referencing Model (Marx, 1986) Datentypen: 0-Zellen: Knoten: Endpunkte von Steckenzügen, Schnittpunkte 1-Zellen: Kante: Verbindung zweier 0-Zellen 2-Zellen: Fläche, die durch Verknüpfung von 1-Zellen beschrieben werden kann (geschlossener Kantenzug) Cover: Vereinigung von 2-Zellen Organisation: Listen für 0-, 1- und 2-Zellen, Directories für 0-Zellen und Cover 0-Zelle besteht aus ihren Koordinaten, verschiedenen Attributen und einem Verweis zu einer 1-Zelle 2-Zelle besteht insbesondere aus verschiedenen Attributen und einem Verweis zu einer 1-Zelle Geo-Informationssysteme 49

3.3 Topologische Vektormodelle (III) TIGER-Modell (Fortsetzung) 1-Zelle (Kante) zentrale Struktur: verbindet 0-Zellen und umschließt 2-Zellen besteht insbesondere aus zwei Verweisen auf 0-Zellen (Anfangs- und Endpunkt) zwei Verweisen auf 2-Zellen (linke und rechte Fläche) je einen Verweis auf die nächste 1-Zelle, die zu der entsprechenden 2-Zelle gehört einem Verweis auf eine Beschreibungsliste (für interne Punkte) 2-Zelle A 2-Zelle B 2-Zelle C Datenstrukturen fester Größe! Geo-Informationssysteme 50

3.3 Topologische Vektormodelle (IV) Äquivalentes Modell Knoten Verweise zu allen Kanten (umlauforientiert) Koordinaten (Geometrie) Kante (auch geschlossen) zwei Verweise auf Eckknoten zwei Verweise auf benachbarte Flächen Verweis auf eine Beschreibungsliste (für interne Punkte, Geometrie) Fläche (mit Löchern) Verweise zu allen umgebenden Kanten (ablauforientiert) Verweise zu allen eingeschlossenen Kanten (Menge, ablauforientiert) Verweis auf Cover Cover Verweise auf Flächen Datenstrukturen variabler Größe Geo-Informationssysteme 51

3.4 Integration in ein relationales DBS Ebenen eines DBS externes Schema externes Schema externes Schema unterschiedliche Sichten verschiedener Benutzer / Anwenderprogramme auf die Daten konzeptionelles Schema logische Gesamtsicht aller Daten internes Schema physische Datenorganisation externe und konzeptionelle Ebene logisches Datenmodell Anfragesprache interne Ebene physische Datenrepräsentation Anfragebearbeitung und -optimierung Geo-Informationssysteme 52

3.4 Schwächen auf konzeptioneller Ebene Schema für mehrstufiges Vektormodelll Parzellen Polygone Kanten Punkte OID PolID Q-Meter Par1 Pol1 1200 Par2 Pol2 1435 Y 19 P4 K4 PolID Pol1 Pol1 Pol1 Pol1 Pol2 Pol2 Pol2 P3 KID K1 K2 K3 K4 K2 K5 K6 KID Von Nach K1 P4 P5 K2 P5 P2 K3 P2 P3 K4 P3 P4 K5 P5 P1 K6 P1 P2 PID x y P1 11 4 P2 34 13 P3 34 19 P4 11 19 P5 11 13 13 K1 P5 K5 K2 Par2 K6 Par1 K3 P2 4 P1 11 34 X Geo-Informationssysteme 53

3.4 Schwächen auf konzeptioneller Ebene Anfragen an dieses Schema Bestimme alle Koordinaten der Parzelle Par1: SELECT Punkte.x, Punkte.y FROM Parzellen, Polygone, Kanten, Punkte WHERE (Parzellen.OID=Par1) AND (Parzellen.PolID = Polygone.PolID) AND (Polygone.KID = Kanten.KID) AND (Kanten.Von = Punkte.PID); Probleme hoher Aufwand für Zugriff auf alle Komponenten eines Polygons (Joins) Antwort auf Anfrage ist unsortiert (kein Objekt Polygon) Objektorientiertes Datenmodell Geo-Informationssysteme 54

Objekte 3.4 Objektorientiertes Datenmodell (I) Objekte sind vom Benutzer definierte Entities, die aus Werten oder anderen Objekten aufgebaut sind (Attribute). Attribute können listen- oder mengenwertig sein. Objekttypen Ein Objekttyp ( Klasse ) beschreibt die Charakteristika einer Menge ähnlicher Objekte. Ein Objekt ist eine konkrete Instanz seines Objekttyps, hat also dessen Charakteristika. type Vertex is public... body [x, y, z: float;] end type Vertex; type Cuboid is public... body [mat: Material; value: float; vertices: <Vertex>;]// Typ: Liste von Vertices end type Cuboid; Geo-Informationssysteme 55

3.4 Objektorientiertes Datenmodell (II) Operationen Jeder Objekttyp bietet an seiner Benutzerschnittstelle eine Menge von Operationen an, mit deren Hilfe Instanzen dieses Typs manipuliert werden können. Neben diesen Operationen gibt es keine andere Möglichkeit, von außen den internen Zustand eines Objekts abzufragen oder zu ändern. type Vertex is public translate, scale, rotate, distance, inorigin,... body [x, y, z: float;] operations declare translate: Vertex void; declare scale: Vertex void; declare rotate: float, char void; declare distance: Vertex float; declare inorigin: bool;... implementation... end type Vertex; // Benutzerschnittstelle // Änderungsfunktion // Änderungsfunktion // Änderungsfunktion // Beobachterfunktion // Beobachterfunktion Geo-Informationssysteme 56

3.4 Objektorientiertes Datenmodell (III) Modellierung von Spatial Data Types type Vertex is type Edge is public distance, contained_in,... public... body [x, y: float;] body [begin, end: Vertex;]...... end type Vertex; end type Edge; type Polygon is type Region is // Parzelle public intersect,... public... body [boundary: <Edge>; body [name: string;...] extension: Polygon; area: float;] end type Polygon; end type Region; Bestimme alle Koordinaten der Parzelle Par1: select x, y from (select begin from (select r.extension.boundary from r in Region where r.name = Par1 )) Geo-Informationssysteme 57

3.4 Objektorientiertes Datenmodell (IV) Vorteile Spatial Data Types können definiert werden, die in Attributen referenziert werden können. Die Modellierung von Eigenschaften variabler Kardinalität ist einfach mit Hilfe listenbzw. mengenwertiger Attribute. Logisch zusammengehörige Objekte werden physisch benachbart gespeichert (Clustering), so daß das Einlesen / Ändern eines Geo-Objektes relativ effizient möglich ist. In den Anfragen können die Operationen der benutzerdefinierten Objekttypen verwendet werden. Geo-Objekte als Objekte modellierbar effizienter Zugriff auf ein Geo-Objekt Schwächen Zugriff auf mehrere benachbarte Geo-Objekte ist noch nicht effizient unterstützt (Erweiterung analog TIGER-Modell möglich) Geo-Informationssysteme 58

3.4 Schwächen auf interner Ebene Aufgaben der internen Ebene... physische Datenrepräsentation Anfragebearbeitung und -optimierung Ziele dauerhafte (persistente) Speicherung der Daten Einsatz von Magnetplattenspeichern etc. effiziente Bearbeitung von thematischen und geometrischen Anfragen, von Kombinationen, von topologischen Operationen usw. Kriterien für Effizienz: Antwortzeit für einzelne Anfragen Durchsatz über alle Anfragen dynamisches Einfügen, Löschen und Verändern von Daten hohe Speicherplatzausnutzung Geo-Informationssysteme 59

3.4 Schwächen auf interner Ebene Physische Datenspeicherung seitenorientiert Seite: Transfereinheit zwischen Haupt- und Sekundärspeicher Wahlfreier (direkter) Zugriff Feste Größe: zwischen 512 Byte und 8 KByte Zugriff über einen Kamm mit Schreib-/Leseköpfen, der quer zu sich rotierenden Magnetplatten bewegt wird Positionierung des Schreib-/Lesekopfes [6 msec] Warten auf Seite [4 msec] Kontrolle + Übertragung der Seite [1 msec + 0,2 msec / 2KByte Seite] Entwicklung: Kapazität von Plattenspeichern erhöht sich drastisch Zugriffszeiten sinken relativ langsam Zugriffe auf Sekundärspeicher sind verglichen mit Hauptspeicheroperationen sehr zeitaufwendig Minimierung der Anzahl der Seitenzugriffe Geo-Informationssysteme 60

3.4 Konventionelle Indexstrukturen (I) B-Bäume Ein Baum heißt Suchbaum, wenn für jeden Eintrag in einem inneren Knoten alle Schlüssel im linken Teilbaum kleiner sind und alle Schlüssel im rechten Teilbaum größer sind als der Schlüssel im Knoten. Ein B-Baum der Ordnung m ist ein Suchbaum mit folgenden Eigenschaften: (1) Jeder Knoten enthält höchstens 2m Schlüssel. (2) Jeder Knoten außer der Wurzel enthält mindestens m Schlüssel. (3) Die Wurzel enthält mindestens einen Schlüssel. (4) Ein Knoten mit k Schlüsseln hat genau k+1 Söhne. (5) Alle Blätter befinden sich auf demselben Level. B-Baum der Ordnung 2 K Seite C F O T A B D E G I J L M PQRS VWXZ Höhe eines B-Baums für n Schlüssel ist O(log n) Geo-Informationssysteme 61

Leistung 3.4 Konventionelle Indexstrukturen (II) Einfügen, Löschen und Punktanfrage im B-Baum sind auf einen Pfad beschränkt. Zeitkomplexität dieser Operationen O(log n) Weitere Ziele Idee B + -Baum Sequentielles Auslesen aller Datensätze, die von einem B-Baum organisiert werden. Unterstützung von Bereichsanfragen der Form: Nenne mir alle Studenten, deren Nachname im Bereich [Be... Brz] liegt. Trennung der Indexstruktur in Directoryknoten (innere Knoten) und Datenknoten (Blätter). Sequentielle Verkettung der Datenknoten. Die Datenknoten enthalten alle Datensätze. Directoryknoten enthalten nur noch Separatoren s. Geo-Informationssysteme 62

3.4 Konventionelle Indexstrukturen (III) Separatoreigenschaft Für jeden Separator s(u) eines Knotens u gelten folgende Separatoreneigenschaften: s(u) > s(v)für alle Directoryknoten v im linken Teilbaum von s(u). s(u) < s(w)für alle Directoryknoten w im rechtenteilbaum von s(u). s(u) > k(v )für alle Primärschlüssel k(v ) und alle Datenknoten v im linken Teilbaum von s(u). s(u) k(w )für alle Primärschlüssel k(w ) und alle Datenknoten w im rechten Teilbaum von s(u). Beispiel: B + -Baum für Zeichenketten. For B + -Directory Certain Which An And Certain For From Which With B + -Datei Geo-Informationssysteme 63

3.4 Konventionelle Indexstrukturen (IV) B-Bäume für Geo-Objekte Lineare Ordnung des 2D Raums nötig Beispiel 1 2 3 4 5 6 7 im 2D benachbarte Objekte werden häufig miteinander angefragt es gibt keine lineare Ordnung, die alle Nachbarschaften des 2D-Raums erhält die Antworten auf eine Fensteranfrage sind über den ganzen Index verteilt Geo-Informationssysteme 64

3.4 Konventionelle Zugriffsstrukturen (V) Hashverfahren Zuordnung der Objekte zu Einträgen einer Hashtabelle 0 1 2 3 4 5 6 7 9 25 3 28 5 14 Seite Hashfunktion: Schlüssel MOD 8 Voraussetzung: Definition einer Hashfunktion mit möglichst wenigen Kollisionen im 2D benachbarte Objekte auf dieselbe bzw. benachbarte Adresse abbilden ähnliche Probleme wie bei B-Bäumen Geo-Informationssysteme 65