1 / 26

Übung Datenbanksysteme II Index- strukturen

Übung Datenbanksysteme II Index- strukturen. Thorsten Papenbrock. Rückblick: Hausaufgabe 1. Submit : Bitte beachten: Bei JEDER Submission BEIDE Autoren angeben! Notifications sind raus; Korrekturen einsehbar; Anmerkungen jetzt natürlich in Freitextfeldern statt direkt auf Zetteln.

zander
Download Presentation

Übung Datenbanksysteme II Index- strukturen

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Übung Datenbanksysteme IIIndex-strukturen Thorsten Papenbrock

  2. Rückblick:Hausaufgabe 1 • Submit: • Bitte beachten: Bei JEDER Submission BEIDE Autoren angeben! • Notifications sind raus; Korrekturen einsehbar; Anmerkungen jetzt natürlich in Freitextfeldern statt direkt auf Zetteln Thorsten Papenbrock | Übung Datenbanksysteme II – Indexstrukturen

  3. Rückblick:TPMMS • Phase 1: • Phase 2: Thorsten Papenbrock | Übung Datenbanksysteme II – Indexstrukturen

  4. Rückblick:TPMMS • Phase 1: • n Blöcke hat die gesamte Relation • m Blöcke passen gleichzeitig in den RAM • I/O Zeit Phase 1 =  m Blöcke sequentielllesen + m Blöcke sequentiell schreiben • Phase 2: • n Blöcke hat die gesamte Relation • m Blöcke passen gleichzeitig in den RAM • I/O Zeit Phase 2 = n Blöcke selektivlesen +n Blöcke selektivschreiben Thorsten Papenbrock | Übung Datenbanksysteme II – Indexstrukturen

  5. Quiz: ZuordnungIndexstrukturen • dichtbesetzter Index • dünnbesetzter Index • mehrstufiger Index • nicht-eindeutige Attribute • Sekundärindex • invertierter Index b. d. f. a. c. e. Thorsten Papenbrock | Übung Datenbanksysteme II – Indexstrukturen

  6. Quiz: Richtig oder Falsch?Dicht- und dünnbesetzte Indexe • Es ist für jedes Datenfile möglich, zwei separate dünnbesetzte Level-1-Indexe auf unterschiedlichen Attributen anzulegen. • Es ist für jedes Datenfile möglich, zwei separate dichtbesetzte Level-1-Indexe auf unterschiedlichen Attributen anzulegen. • Es ist für jedes Datenfile möglich, einen dünnbesetzten Level-1-Index mit einem dichtbesetzten Level-2-Index anzulegen. Beide Indexe sind sinnvoll. • Es ist für jedes Datenfile möglich, einen dichtbesetzten Level-1-Index mit einem dünnbesetzten Level-2-Index anzulegen. Beide Indexe sind sinnvoll. Falsch Bei zwei Schlüsseln kann nur nach einem Schlüssel sortiert werden. Beide dünnbesetzte Level-1-Indexe benötigten daher eine Sortierung nach ihrem Schlüssel-Attribut. Das ist gleichzeitig nicht möglich! Wahr Dichtbesetzte Level-1-Indexe benötigen keine Sortierung. Es können daher mehrere dichtbesetzte Indexe auf unterschiedlichen Schlüsseln angelegt werden! Falsch Ein dichtbesetzter Level-2-Index auf einen Level-1-Index ist sinnlos, da er alle Werte noch einmal indexiert, dabei zusätzlich Speicher belegt und keinen Mehrwert schafft. Wahr Ein dünnbesetzter Level-2-Index auf einem dichtbesetzten Level-1-Index ist sinnvoll, da der dünnbesetzte Index nur die ersten Elemente der Blöcke indexiert und so letztendlich Speicher und Zugriffszeit spart. Thorsten Papenbrock | Übung Datenbanksysteme II – Indexstrukturen

  7. B+-Baume:Aufbau Wurzel Knoten Blatt Thorsten Papenbrock | Übung Datenbanksysteme II – Indexstrukturen

  8. Quiz: Richtig oder Falsch?B+-Baume • B+-Bäume können Overflow-Buckets benötigen. • Ein Block eines B+-Baums speichert n Pointer und n+1 Suchschlüssel. • Der durch Löschen eines Schlüssels entstehende B+-Baum ist nicht eindeutig bestimmt. • B+-Bäume können nur als Primärindexe verwendet werden. • B+-Bäume können auf eindeutigen und nicht-eindeutigen Attributen angelegt werden. Falsch Statt Overflow-Buckets zu generieren nutzen B+-Baume split-Operationen um den Index beim Überlauf eines Knotens oder Blattes zu erweitern. Falsch Ein Block (= Knoten bzw. Blatt) speichert bis zu n Suchschlüssel und bis zu n+1 Pointer. Wahr Beim Geschwister-Klauen und beim Merge ist nicht eindeutig bestimmt, mit welchem anderen Knoten die Operation durchgeführt wird! Falsch B+-Baume können verschiedene Index-Rollen übernehmen. Dabei können sie auch eine Sortierung des indexierten Attributes nutzen, benötigen diese aber nicht zwangsläufig. B +-Baume sind daher nicht nur als Primärindex einsetzbar. Wahr Ein B+-Baum ist ein mehrstufiger Index, der sowohl auf eindeutigen als auch auf nicht-eindeutigen Attributen aufgebaut werden kann. Bei doppelten Attributwerten müssen wir uns mit einem zusätzlichen Level unter den Blättern behelfen, da doppelte Schlüsselwerte nicht erlaubt sind! Thorsten Papenbrock | Übung Datenbanksysteme II – Indexstrukturen

  9. B+-Bäume:INSERT Überlauf? Blatt? N Wurzel? SucheentsprechendesBlatt FügeSchlüssel und Pointer ein Nein Fertig Ja Split TeileKnoten N in zweiTeile N1, N2und verteileSchlüsselgleichmäßig Erzeugeneue Wurzel(mitnur einemSchlüssel) Ja Nein Ja Nein Kopiere kleinstenSchlüssel in N2 nach oben Ziehegrößten Schlüssel in N1nachoben Einfügen des neuen Schlüssel/Pointer-Paares im Elternknoten

  10. B+-Bäume:INSERT • INSERT(17) o42o _ o _ o _ o o…o…o _ o _ o o12o23o32o _ o o6o8o9o10o o12o15o17o18o o23o24o28o _ o o32o38o _ o _ o _ _ Thorsten Papenbrock | Übung Datenbanksysteme II – Indexstrukturen

  11. B+-Bäume:INSERT • INSERT(17) • INSERT(18) o42o _ o _ o _ o o…o…o _ o _ o o12o23o32o _ o o6o8o9o10o o12o15o17o18o o23o24o28o _ o o32o38o _ o _ o _ Thorsten Papenbrock | Übung Datenbanksysteme II – Indexstrukturen

  12. B+-Bäume:INSERT • INSERT(17) • INSERT(18) • INSERT(19) o42o _ o _ o _ o o…o…o _ o _ o o12o23o32o _ o o6o8o9o10o o12o15o17o18o o23o24o28o _ o o32o38o _ o _ o o12o15o17o_o o18o19o_o_o Thorsten Papenbrock | Übung Datenbanksysteme II – Indexstrukturen

  13. B+-Bäume:INSERT • INSERT(17) • INSERT(18) • INSERT(19) o42o _ o _ o _ o o…o…o _ o _ o o12o18o23o32o o12o23o32o _ o o6o8o9o10o o23o24o28o _ o o32o38o _ o _ o o12o15o17o_o o18o19o_o_o Thorsten Papenbrock | Übung Datenbanksysteme II – Indexstrukturen

  14. B+-Bäume:INSERT • INSERT(17) • INSERT(18) • INSERT(19) • INSERT(11) o42o _ o _ o _ o o…o…o _ o _ o 10 o12o18o23o32o o12o23o32o _ o o6o8o9o_o o10o11o_o_o o6o8o9o10o o23o24o28o _ o o32o38o _ o _ o o12o15o17o_o o18o19o_o_o Thorsten Papenbrock | Übung Datenbanksysteme II – Indexstrukturen

  15. B+-Bäume:INSERT • INSERT(17) • INSERT(18) • INSERT(19) • INSERT(11) o18o42o _ o _ o o42o _ o _ o _ o o…o…o _ o _ o o23o32o_o_o o10o12o18o_o o10o12o_o_o o6o8o9o_o o10o11o_o_o o6o8o9o10o o23o24o28o _ o o32o38o _ o _ o o12o15o17o_o o18o19o_o_o Thorsten Papenbrock | Übung Datenbanksysteme II – Indexstrukturen

  16. B+-Bäume:INSERT • INSERT(17) • INSERT(18) • INSERT(19) • INSERT(11) o18o42o _ o _ o o42o _ o _ o _ o o…o…o _ o _ o o23o32o_o_o o10o12o_o_o o6o8o9o_o o10o11o_o_o o6o8o9o10o o23o24o28o _ o o32o38o _ o _ o o12o15o17o_o o18o19o_o_o Thorsten Papenbrock | Übung Datenbanksysteme II – Indexstrukturen

  17. B+-Bäume:DELETE Unterbesetzt? UmverteilenmitGeschwistern? Blatt? Suche entsprechendes Blatt = weniger Child-Pointer in Knoten bzw. Daten-Pointer in Blatt gesetzt? Lösche Schlüssel und Pointer Nein Fertig Ja “linker“ und “rechter“ Geschwisterknoten beim Merge sind relativ und abhängig von der Ent- scheidung, mit welchem Geschwisterknoten der unterbestzte Knoten gemerged werden soll! Ja Nein Ja Nein Merge Ziehe den Split-Key des Vaterknoten in den linkenGeschwisterknoten Umverteilen ZiehealleSchlüsselvomrechten in den linkenGeschwisterknoten und verwerferechten (leeren) Knoten Schlüsselwerteder Elternanpassen

  18. B+-Bäume:INSERT DELETE(17) o18o42o _ o _ o o23o32o_o_o o…o…o _ o _ o o10o12o_o_o o6o8o9o_o o6o8o9o10o o32o38o _ o _ o o10o11o_o_o o23o24o28o _ o o12o15o17o_o o18o19o_o_o Thorsten Papenbrock | Übung Datenbanksysteme II – Indexstrukturen

  19. B+-Bäume:INSERT DELETE(17) DELETE(18) Ursprünglichen Schlüssel durch neuen kleinsten Schlüssel im rechten Blatt ersetzen o19o42o _ o _ o o18o42o _ o _ o o23o32o_o_o o24o32o_o_o o…o…o _ o _ o o10o12o_o_o o6o8o9o_o o6o8o9o10o o32o38o _ o _ o o10o11o_o_o o19o_o_o_o o23o24o28o _ o o12o15o_o_o o18o19o_o_o o19o23o_o_o o24o28o_o _ o Thorsten Papenbrock | Übung Datenbanksysteme II – Indexstrukturen

  20. B+-Bäume:INSERT DELETE(17) DELETE(18) DELETE(23) o19o42o _ o _ o o24o32o_o_o o32o _o_o_o o…o…o _ o _ o o10o12o_o_o o6o8o9o_o o6o8o9o10o o32o38o _ o _ o o10o11o_o_o o19o_o_o_o o23o24o28o _ o o12o15o_o_o o19o24o28o_o o19o23o_o_o o24o28o_o _ o o _ o _ o_o _ o Thorsten Papenbrock | Übung Datenbanksysteme II – Indexstrukturen

  21. B+-Bäume:INSERT DELETE(17) DELETE(18) DELETE(23) o_o42o _ o _ o o19o42o _ o _ o o10o12o19o_o o23o32o_o_o o32o _o_o_o o…o…o _ o _ o o10o12o_o_o o6o8o9o_o o6o8o9o10o o32o38o _ o _ o o10o11o_o_o o19o_o_o_o o12o15o_o_o o19o24o28o_o o19o23o_o_o Thorsten Papenbrock | Übung Datenbanksysteme II – Indexstrukturen

  22. B+-Bäume:INSERT DELETE(17) DELETE(18) DELETE(23) o42o _ o _ o _ o o_o42o _ o _ o o10o12o19o32o o23o32o_o_o o _ o _o_o_o o…o…o _ o _ o o10o12o_o_o o6o8o9o_o o6o8o9o10o o32o38o _ o _ o o10o11o_o_o o19o_o_o_o o12o15o_o_o o19o24o28o_o o19o23o_o_o Thorsten Papenbrock | Übung Datenbanksysteme II – Indexstrukturen

  23. B+-Bäume:Übungsaufgabe • Gegeben: B+-Baum, entstanden durch Einfügen von 9, 22, 19, 21, 13, 17, 1, 6, 23, 15 • Füge nacheinander ein: 14, 29, 4, 24 • Lösche nacheinander: 6, 13, 15 Thorsten Papenbrock | Übung Datenbanksysteme II – Indexstrukturen

  24. B+-Bäume:Übungsaufgabe – Übersicht • Füge nacheinander ein: 14, 29, 4, 24 • Lösche nacheinander: 6, 13, 15 Thorsten Papenbrock | Übung Datenbanksysteme II – Indexstrukturen

  25. B+-Bäume:Übungsaufgabe – Lösung 1 • Füge nacheinander ein: 14, 29, 4, 24 • Lösche nacheinander: 6, 13, 15 o17o _ o _ o _ o o6o13o _ o _ o o21o24o _ o _ o o13o14o15o _ o o21o22o23o _ o o1o2o4o _ o o24o29o_o _ o o17o19o_o _ o o6o9o_o _ o Thorsten Papenbrock | Übung Datenbanksysteme II – Indexstrukturen

  26. B+-Bäume:Übungsaufgabe – Lösung 2 • Füge nacheinander ein: 14, 29, 4, 24 • Lösche nacheinander: 6, 13, 15 o4o14o21o24o o14o17o19o _ o o21o22o23o _ o o1o2o_o _ o o24o29o_o _ o o4o9o_o _ o Thorsten Papenbrock | Übung Datenbanksysteme II – Indexstrukturen

More Related