3. Zugriffsstrukturen für spezielle Anwendungen Anwendung: Verwaltung geometrischer Objekte Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 3. Zugriffsstrukturen für spezielle Anwendungen Mehrdimensionaler Index , sondern Tupel der 132 Mehrdimensionaler Index Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 133 Ebenso kann man unterscheiden zwischen mehrdimensionalen Datenstrukturen, die für den Arbeitsspeicher geeignet sind und solchen, die für Peripheriespeicher geeignet sind. Grundsätzlich stehen für Multikey-Indexing sowohl baumbasierte Verfahren als auch auf Hashing basierende Verfahren zur Verfügung. – wenn sie den Zugriff über mehrere Schlüssel ermöglicht, – ohne einen bestimmten Schlüssel oder eine Schlüsselkombination zu bevorzugen. Man nennt eine mehrdimensionale Datenstruktur symmetrisch, Bei Datenstrukturen für Multikey-Indexing strebt man nun an, daß keiner der Teilschlüssel bevorzugt wird. Mehrdimensionaler Index Datenstrukturen für Multikey-Indexing der (Gesamt-)Schlüssel, ist der -te Teilist die mit dem Gesamtschlüssel assoziierte Infor- Datenstrukturen für Multikey-Indexing (bzw. mehrdimensionale Datenstrukturen) unterstützen den Zugriff auf Datensätzen mit mehreren Schlüsselwerten. D.h. man betrachtet nun nicht mehr Paare mit . Form Hierbei ist schlüssel und mation. 3. Zugriffsstrukturen für spezielle Anwendungen Mehrdimensionaler Index Zugriffsstruktur 3 Zugriffsstrukturen für spezielle Anwendungen 3000 5000 5123 Für einfache Datentypen sind klassische Indexierungstechniken ausreichend: E Abt. 4711 ... 131 – B-Bäume und Varianten – Hashing Konventionelle Suchbäume gehen von einer totalen Ordnung auf dem Indexbereich aus. Peter Vorname 2000 2345 1718 130 Beim Hashing geht diese Ordnung verloren, daher sind Bereichsanfragen nur schwierig behandelbar. Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 3. Zugriffsstrukturen für spezielle Anwendungen Name 1718 Eindimensionaler Index Becker Tabelle Personal P# B 4711 Hans Meier ... 1718 Select * From Personal Where P# = 4711 Datei 4711 Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 Mehrdimensionaler Index Bereichsanfrage (exact range query): 3. Zugriffsstrukturen für spezielle Anwendungen 3. Zugriffsstrukturen für spezielle Anwendungen 136 Mehrdimensionaler Index $ ! # Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 137 Einfügen und Löschen von Objekten (ohne globale Reorganisation und ohne Entartung) In praktischen Fällen ist das Aufstellen einer geeigneten Distanzfunktion u.U. äußerst schwierig. Suche aller Datensätze deren Schlüssel bezüglich einer Metrik um nicht mehr als von einem gegebenen Schlüssel abweichen. Nachbarschaftsanfrage (neighbour query): Suche aller Datensätze zu Teilschlüsselintervallen Teilbereichsanfrage (partial range query): Suche aller Datensätze zu Teilschlüsselintervallen mit und . . " " Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 Mehrdimensionaler Index 135 " ! ! ! ! ! ! ! "! # 134 3. Zugriffsstrukturen für spezielle Anwendungen Mehrdimensionaler Index Tabelle Denkmal Zugriffsstruktur für (X,Y) zweidim. Schlüssel Mehrdimensionaler Index $ ? Y ... X Name 1718 D# 6.99 50.93 Ulmer Münster 10.01 48.39 Kölner Dom 1718 Anfragearten 4711 Select * From Denkmal Where X between 6.5 and 7.5 and Y between 50.5 and 51.5 Datei ... 4711 Teilpunktanfrage (partial match query): Suche aller Datensätze zu den gegebenen Teilschlüsseln mit und . Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 3. Zugriffsstrukturen für spezielle Anwendungen Punktanfrage (exact match query): Suche aller Datensätze zu den Teilschlüsseln , d.h. bestimme Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 Mehrdimensionaler Index 3. Zugriffsstrukturen für spezielle Anwendungen Punktanfrage Raumbezogene Verbunde (spatial joins): 3. Zugriffsstrukturen für spezielle Anwendungen Objekte werden über einen mehrdimensionalen Schlüssel miteinander verbunden. Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 139 Anforderungen hierzu: Erhaltung der topologischen Struktur Mehrdimensionaler Index 140 Mehrdimensionaler Index Anpassung an stark variierende Schlüssel-/Objektdichte Dynamische Reorganisation Geeignete Repräsentation der Objekte Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 141 Eine Zugriffsstruktur für die genannten Anfragearten kann als Abbildung aufgefaßt werden, die die mehrdimensionalen Schlüssel auf einen linearen Speicherbereich zuordnet (Adressen der Seiten). Anforderungen an die Objektabbildung 3. Zugriffsstrukturen für spezielle Anwendungen Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 Nachbarschaftsanfrage Teilbereichsanfrage Bereichsanfrage Teilpunktanfrage Mehrdimensionaler Index 138 Beispiel: Welche Tankstellen (rot) liegen nahe an einem Wasserschutzgebiet (grün)? Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 3. Zugriffsstrukturen für spezielle Anwendungen Datensätze können aber auch die räumliche Ausdehnung eines Objektes beschreiben. Anfragearten in diesem Zusammenhang sind: Punktanfrage: Man finde alle Objekte, die einen Anfragepunkt des Anfrageraums enthalten. Gebietsanfrage: Gegeben ist ein Anfragegebiet. Man finde alle Objekte, die dieses Gebiet schneiden. & ' ! ! ! ! ! ! % 142 Mehrdimensionaler Index 143 & Probleme: 3. Zugriffsstrukturen für spezielle Anwendungen Mehrdimensionaler Index sehr Hoher Aufwand bei Einfüge-, Änderungs- und Löschoperationen, da Indexstrukturen verwaltet werden müssen. Insbesondere bei größerem eine ineffiziente Suche, da die groß im Verhältnis zum Ergebnis sein können. Der Aufwand ist linear in der Anzahl der Dimensionen. Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 kombinierte eindim. Indexe 3. Zugriffsstrukturen für spezielle Anwendungen zusammeng. eindimen. Index Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 mehrdimen. Index Idealfall 145 Mehrdimensionaler Index 144 Integritätsbedingungen wie UNIQUE für den Gesamtschlüssel können nicht äquivalent definiert werden. Vermehrte Sperren, da mehr Blöcke gelesen werden müssen. & Mehrdimensionaler Index ( ) 3. Zugriffsstrukturen für spezielle Anwendungen Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 Effizienz bei Bereichsanfragen Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 3. Zugriffsstrukturen für spezielle Anwendungen & – Dann berechnet man zunächst für jedes Teilschlüsselintervall die darin enthaltenen Datensätze. Prinzipiell besteht die Möglichkeit, – statt einer -dimensionalen Datenstruktur – eindimensionale Datenstrukturen zu verwenden und – die Ergebnisse durch Schnittmengenbildung zu bestimmen. Genauer: – Man verwendet für jeden Teilschlüssel eine Datenstruktur (z.B. einen B-Baum). – Gegeben sei beispielsweise eine Bereichsanfrage durch die Teilschlüsselintervalle . – Das Ergebnis erhält man nun durch eine Schnittmengenbildung über die : Weitere Möglichkeit: Indexkonkatenation 3. Zugriffsstrukturen für spezielle Anwendungen Mehrdimensionaler Index Die Teilschlüssel werden zu einem einzigen Schlüsselwert konkateniert. Einfügungen, Änderungen und Löschungen sind effizienter UNIQUE auf dem Gesamtschlüssel ist überprüfbar Geometrische Zugriffsstrukturen 146 Ineffizient für Bereichsanfrage, nicht praktikabel für Teilpunkt- oder Teilbereichsanfrage Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 3. Zugriffsstrukturen für spezielle Anwendungen ) Geometrische Zugriffsstrukturen häufig große Anzahl geometrischer Objekte ( Eigenschaften geometrischer Objekte: *,+ Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 147 – Geometrie – abgeleitete geometrische Attribute zur Unterstützung von Anfragen, – z.B. minimales umschreibendes Rechteck (minimum bounding rectangle) – nichtgeometrische Attribute Anwendungen: 3. Zugriffsstrukturen für spezielle Anwendungen – Geoinformationssysteme – CAX-Anwendungen – 3D-Simulationen Zugriff primär über Geometriedaten: Geometrische Zugriffsstrukturen 148 Geometrische Zugriffsstrukturen – Suchfenster (Bereichsanfrage) – Zugriff auf benachbarte Objekte (Nachbarschaftsanfrage) Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 3. Zugriffsstrukturen für spezielle Anwendungen Klassifikation Geometrischer Zugriffsstrukturen 149 Wir betrachten zunächst Zugriffsstrukturen für die Verwaltung von geometrischen Daten. Kriterien: Verwaltung von Punktdaten oder raumbezogenen Objekten Organisation der Datensätze oder des Datenraumes ”Divide and Conquer” oder Dimensionsverfeinerung Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 3. Zugriffsstrukturen für spezielle Anwendungen Geometrische Zugriffsstrukturen Baumorientierte Verfahren Der geometrische Bereich wird in Regionen aufgeteilt. benachbarte Objekte möglichst derselben Region zuordnen oder falls nicht möglich auf benachbarte Regionen zuordnen bzw. aufteilen 150 Geometrische Zugriffsstrukturen Baumstruktur entsteht durch Verfeinerung der Regionen Speicherung der Objekte in der Blattebene Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 3. Zugriffsstrukturen für spezielle Anwendungen Freiheitsgrade: Form der Regionen für die Verfeinerung Partionierung einer Region durch Teilregionen oder überlappende Abdeckung der Objekte durch Regionen? eindeutige Zuordnung von Objekten zu Regionen oder Mehrfachzuordnung? 151 Orginalgeometrie oder abgeleitete Geometrie für die Repräsentation der Objekte bzw. bei der Suche? Grad des Baumes und Organisation Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 3. Zugriffsstrukturen für spezielle Anwendungen Geometrische Zugriffsstrukturen Bearbeitung geometrischer Anfragen Je nach Art der geometrischen Zugriffsstruktur liefert diese u.U. nur eine Kandidatenmenge. Diese Kandidatenmenge ist eine Obermenge des Resultats (Filterung). Die Objekte der Kandidatenmenge müssen dann in einem weiteren Schritt genauer untersucht werden (Verfeinerung). Treffer Falschalarm Laden der Objekte Anfrage auf das Objekt Verfeinerung 153 Geometrische Zugriffsstrukturen 152 Dieses Vorgehen bietet sich auch an, wenn die Anfrage sowohl geometrische als auch nicht-geometrische Bedingungen enthält. Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 3. Zugriffsstrukturen für spezielle Anwendungen Anfrage Geo−Index Kandidatenmenge Ergebnis Filterung Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 3. Zugriffsstrukturen für spezielle Anwendungen Geometrische Zugriffsstrukturen Quadranten-Baum (Point Quad Tree) Verallgemeinerung des Prinzips von binären Suchbäumen zusammengesetzter zweidimensionaer Schlüssel Jedes Objekt wird durch einen Knoten im Baum repräsentiert. Jeder Knoten hat vier Nachfolger, durch die der Datenraum in vier Quadranten partitioniert wird: Nordosten (NO), Nordwesten (NW), Südwesten (SW), Südosten (SO) NO C A NW 20 60 60 40 SW 45 30 SO E 90 10 154 Geometrische Zugriffsstrukturen D Geometrische Zugriffsstrukturen Bearbeitung von Punktanfragen durch Abstieg im Baum 3. Zugriffsstrukturen für spezielle Anwendungen Bereichsanfrage: u.U. Absteig in verschiedene Richtungen notwendig Beispiel: Tafel ✎ Es kann keine Balancierung gewährleistet werden. Löschen ist schwierig über Geometrische Zugriffsstrukturen 156 Keine Erhaltung der topologischen Struktur, daher nicht für den Peripheriespeicher geeignet nur für Punktdaten geeignet Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 3. Zugriffsstrukturen für spezielle Anwendungen Teilschlüsseln k-d-Baum zusammengesetzter Schlüssel aus Auf jeder Baumebene entscheidet ein anderer Teilschlüssel die Partitionierung. # Die Reihenfolge der Auswahl der Teilschlüssel ist beliebig. Meistens mod - Durch rekursive Anwendung dieses Prinzips stellt sich eine rekursive Partitionierung des Datenraums ein. F B 75 70 45 85 40 80 rekursive Partitionierung des Datenraums Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 157 Jeder Knoten hat zwei Nachfolger, der den Datenraum gemäß des Teilschlüssels der Baumebene unterteilt. Jedes Objekt wird durch einen Knoten repräsentiert. Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 G B F G 0 3. Zugriffsstrukturen für spezielle Anwendungen C A E X 155 Y 40 D 60 Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 -/. # C G F A B E 3. Zugriffsstrukturen für spezielle Anwendungen Y 40 D 60 D X C X 30 60 45 30 G A Y B Y 45 85 60 40 F 40 70 Probleme analog zum Quadranten-Baum Tafel ✎ Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 3. Zugriffsstrukturen für spezielle Anwendungen X E Y 90 10 X Geometrische Zugriffsstrukturen 75 70 X 158 Geometrische Zugriffsstrukturen Zugriffspfade für räumlich ausgedehnete Objekte Bisher nur Datenstrukturen für Punktdaten Punktidealisierung für räumlich ausgedehnte Objekte ist problematisch Man benutzt approximative Darstellungen für die räumliche Ausdehnung. Bei den Such- und Verfeinerungsschritten müssen Objektdichte und -ausdehnung in Einklang gebracht werden. 159 Ansätze: Transformation (object mapping), überlappende Regionen (object bounding), Clipping (object duplication) Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 3. Zugriffsstrukturen für spezielle Anwendungen R-Baum Geometrische Zugriffsstrukturen Verallgemeinerung des B-Baum-Prinzips auf mehrere Dimensionen Räumliche Objekte werden durch -dimensionale Rechtecke approximiert. Die Aufteilung der Regionen erfolgt in nichtdisjunkte Rechtecke. R11 R5 R14 R13 R3 R4 R5 R17 R18 R19 R7 R13R14 R1 R2 R6 R7 R15 R16 R17R18R19 161 Geometrische Zugriffsstrukturen Jedes Geoobjekt ist eindeutig einem Blatt zugeordnet. R4 R9 R10 R12 R6 R8 R9 R10 R11R12 Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 3. Zugriffsstrukturen für spezielle Anwendungen R1 R3 R8 R16 Veranschaulichung R-Baum: R2 R15 Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 160 Die Baumwurzel entspricht einem Rechteck, das alle geometrischen Objekte umfaßt. 3. Zugriffsstrukturen für spezielle Anwendungen Geometrische Zugriffsstrukturen Definition R-Baum: Ein R-Baum ist ein Baum der folgenden Art: 3. Zugriffsstrukturen für spezielle Anwendungen Geometrische Zugriffsstrukturen Suchen in R-Bäumen (Bereichsanfrage) Es sei überprüft, angewendet. in Falls ja, dann wird der Suchalgorithmus rekursiv auf Bei Überlappung ist Beispiel: Tafel ✎ Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 3. Zugriffsstrukturen für spezielle Anwendungen in Geometrische Zugriffsstrukturen eingefügt werden soll. Einträge vorhanden sind, dann füge in den Einfügen in R-Bäume Wähle einen Blattknoten 164 Man beachte, daß u.U. mehrere Pfade durchsucht werden müssen. ein gesuchter Eintrag. auf Überlap- : Wenn ein Blatt ist, wird ebenfalls für jeden Eintrag pung geprüft. ; die Wurzel des R-Baums. Alle Blätter haben gleiche Höhe. . Dabei Wenn kein Blatt ist, dann wird für jeden Eintrag ob sich mit überlappt. des Baumes enthält Einträge der Form Einträge. 162 ist ein -dimensionaler Quader der Form . Dabei ist das kleinste Quader, das die nachfolgenden Objekte vollständig beinhaltet. Jeder Knoten außer der Wurzel hat mindestens Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 Geometrische Zugriffsstrukturen ; : Die Blätter enthalten Verweise auf Datenobjekte. Jeder Knoten ist 3 67 – bei inneren Knoten ein Verweis auf einen Nachfolgerknoten und – bei Blättern ein Verweis auf ein Datenobjekt. & 3. Zugriffsstrukturen für spezielle Anwendungen Einträge. ; 3 Jeder Knoten hat höchstens < weniger als ; ; ; 21 1 : Wenn in ein. 9 5 1 Ansonsten splitte . = = 9 165 Falls gesplittet wurde, nehme man einen zusätzlichen Eintrag im Vater von auf und passe die umgebenden Quader entsprechend an. Die Splits können sich ebenfalls bis zur Wurzel fortpflanzen. Man passe im Vater von in dem entsprechenden Eintrag evtl. den umgebenden Quader an. Dies kann sich bis zur Wurzel hin fortpflanzen. = 4 ; Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 = Die Wurzel hat mindestens zwei Einträge, außer sie ist ein Blatt. 163 = & 1 : = & Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 = 21 8 1 R2 3. Zugriffsstrukturen für spezielle Anwendungen R1 RNeu Geometrische Zugriffsstrukturen Erschöpfende Suche ist zu aufwendig. 3. Zugriffsstrukturen für spezielle Anwendungen Geometrische Zugriffsstrukturen Typischerweise Verwendung von heuristischen Ansätzen: # Löschen in . # enthält (stren- Geometrische Zugriffsstrukturen 168 ? Rechtecke. Auch lineare Heuristik möglich. 3. Zugriffsstrukturen für spezielle Anwendungen Man lösche den Eintrag = 169 Man füge die gelöschten Einträge in wieder in den Baum ein. Hierbei müssen Einträge, die von inneren Knoten stammen, auf die entsprechende Ebene eingefügt werden. Man führe dieses Verfahren fort bis zur Wurzel. A ☞ Füge in den Unterbaum ein, dessen umschließendes Rechteck am geringsten erweitert werden muß. 1. Finde die beiden Rechtecke, deren umschließendes Rechteck am größten ist. Diese beiden Rechtecke definieren zwei Gruppen . 2. Berechne für alle übrigen Rechtecke die Flächenzuwächse für die Gruppen . 3. Nehme das Rechteck, für das am größten ist. Füge es in die Gruppe ein, für die kleiner ist. 4. Man wiederhole die Schritte 2. bis 4., bis alle Rechtecke verteilt sind. für # . Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 Aufwand: > Falls nun weniger als Einträge enthält, nehme man die verbleibenden Einträge in eine Menge auf und lösche komplett. = 166 # ? ? 8 Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 Geometrische Zugriffsstrukturen > 4 > Suche das Blatt , das den zu löschenden Eintrag geres Suchkriterium). = 3. Zugriffsstrukturen für spezielle Anwendungen Splitting von Knoten Guter Split ? > Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 A Schlechter Split 167 ☞ Versuche heuristisch die entstehende Gesamtfläche zu minimieren. Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 @ # ; ; 4 ? = 3. Zugriffsstrukturen für spezielle Anwendungen Diskussion R-Bäume Geometrische Zugriffsstrukturen Rechteck kann von vielen Regionen überlappt werden, ist aber genau in einer gespeichert. Selbst Punktanfragen können eine Suche in vielen Rechteckregionen bedeuten. Einfügen erfordert oft Vergrößern von Regionen. Löschen ist unhandlich. 170 R-Bäume sind heute ein Standard-Datenstruktur zur Speicherung raumbezogener Objekte. Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 Geometrische Zugriffsstrukturen 3. Zugriffsstrukturen für spezielle Anwendungen R -Baum: 3. Zugriffsstrukturen für spezielle Anwendungen R -Baum Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 Geometrische Zugriffsstrukturen Geometrische Zugriffsstrukturen 172 Die Minimierung beider Größen ist für die Leistungsfähigkeit des RBaums von großer Bedeutung. Minimale Überdeckung reduziert die Menge des toten Raumes und schränkt so den Suchraum ein. Überdeckung: gesamter Bereich, der erforderlich ist, um alle vorhandenen Rechtecke dieser Ebene zu überdecken. Minimale Überlappung schränkt die Menge der Suchpfade von der Wurzel zu den Blättern für einen Punkt des Raumes ein. Überlappung: gesamter Bereich einer Ebene, der in zwei oder mehr Knoten dieser Ebene enthalten ist. C Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 173 ☞ Erstreckt sich beim Einfügen ein Objekt über mehrere Regionen, wird es zerlegt und in mehreren Blättern abgelegt (clipping). ☞ Ebenso auf höheren Ebenen. Konsequenz: Für einen Punkt des Raums gibt es einen eindeutigen Pfad von der Wurzel zu einem Blatt. ☞ Jedem Punkt des geometrischen Bereichs ist eindeutig ein Blatt zugeordnet. ☞ Vermeidung von Überlappung durch disjunkte Aufteilung in Regionen B 3. Zugriffsstrukturen für spezielle Anwendungen Ein Vorteil ist, daß raumbezogene Objekte direkt dargestellt werden können. 171 Es ist keine Transformation in einen höherdimensionalen Raum notwendig (z.B. Darstellung zweidimensionale Quadrate als dreidimensionale Punkte). Erweiterungen von R-Bäumen sind R -Bäume und Zell-Bäume. Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 B F E M P G H L J K I B D E I F J G K A C P M N G H Geometrische Zugriffsstrukturen B L 3. Zugriffsstrukturen für spezielle Anwendungen C 3. Zugriffsstrukturen für spezielle Anwendungen Einfügen kann in bestimmten Situationen unvermeidbar zur Aufteilung von Regionen führen (siehe rechts). Regionenmodifikationen haben Konsequenzen sowohl in Richtung Blätter als auch in Richtung Wurzel. Eine obere Grenze für die Anzahl der Einträge in Blattknoten kann nicht garantiert werden. I3 I3 Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 I2 I2 I4 Split Diskussion R -Bäume Einfügen von Rechtecken erfordert möglicherweise Modifikation mehrerer Regionen. Objekte müssen in mehreren Regionen gespeichert werden. erhöhter Speicher- und Modifikationsaufwand. D Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 3. Zugriffsstrukturen für spezielle Anwendungen A D N C 174 Geometrische Zugriffsstrukturen ☞ Clipping kann bei R Bäumen auch zur Reduzierung der Überdeckung eingesetzt werden. 175 9 Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 3. Zugriffsstrukturen für spezielle Anwendungen Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 B Ineu I1 Geometrische Zugriffsstrukturen Ineu I1 176 I2 Geometrische Zugriffsstrukturen I1 Ineu I3 177 3. Zugriffsstrukturen für spezielle Anwendungen Zell-Baum Geometrische Zugriffsstrukturen Der Zell-Baum (Cell-Tree) basiert auf konvexen Polygonen statt auf Rechtecken. Hierdurch wird eine bessere Approximation der Objekte erreicht. ☞ Minimierung der Überdeckung 4 179 Geometrische Zugriffsstrukturen 178 bei Testoperationen Für nicht konvexe Objekte wird Clipping eingesetzt. Das Objekt wird in sogenannte konvexe Ketten zerlegt. Jedes Teil der Kette wird separat im Baum gespeichert. Höhere algorithmische Komplexität ☞ Wegen Konvexität i.d.R. aber noch (Schnitt, Inklusion) Baumorganisation auch in den Knoten Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 3. Zugriffsstrukturen für spezielle Anwendungen Mögliche Ausprägung eines Zell-Baums: Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 2E F G @ Geometrische Zugriffsstrukturen O1 180 Geometrische Zugriffsstrukturen O2 Zerlegung eines nicht konvexen Objektes in eine konvexe Kette: 3. Zugriffsstrukturen für spezielle Anwendungen O Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03 3. Zugriffsstrukturen für spezielle Anwendungen B D H4 C E H3 A H2 B H1 C H3 D H4 E Ein Knoten im Zellbaum ist als Binary Space Partition Tree (BSP-Tree) aufgebaut: H2 A H1 181 Algorithmen zur Verwaltung von Zell-Bäumen: ✎ Punkt in Polygon (nicht-konvex, konvex), Plane-sweep, Schnitt konvexer Polygone Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03