bäume
DESCRIPTION
Bäume. • Kernidee : Speicherung von Daten in einer Baumstruktur • Grundtechnik in nahezu allen DB-Systemen • Elemente = Wurzel , Knoten, Blätter , Kanten • Balancierte (ausgeglichene) Bäume = – alle Pfade von Wurzel zu Blättern gleich lang - PowerPoint PPT PresentationTRANSCRIPT
Baumlume
bull Kernidee Speicherung von Daten in einer Baumstruktur
bull Grundtechnik in nahezu allen DB-Systemen
bull Elemente = Wurzel Knoten Blaumltter Kanten
bull Balancierte (ausgeglichene) Baumlume =
ndash alle Pfade von Wurzel zu Blaumlttern gleich langndash Jeder Knoten weist gleich viele Indexeintraumlge auf
B-Baum
B steht nicht fuumlr Binaumlr-Baum Sondern fuumlr Balanciert
bull Jede Seite auszliger der Wurzel enthaumllt zwischen m und 2m Daten
Knoten = Speicherbloumlcke (Seiten) fester Laumlnge
jede Seite kann bis zu 2n Datensaumltze (Eintraumlge) aufnehmen
n heiszligt Ordnung des B-Baumes
jede Seite (auszliger der Wurzel) enthaumllt stets m Datensaumltzefester Laumlnge wobei gilt n le m le 2n
jeder Eintrag hat einen Schluumlsselteil und einen Datenteil(Datenteil enthaumllt oft nur Zeiger auf den bdquoechtenldquo Datensatz)
die Datensaumltze innerhalb einer Seite sind aufsteigend nachPrimaumlrschluumlssel geordnet
eine Seite ist entweder Blattseite oder sie hat m+1 Nachfolger
alle Blattseiten befinden sich auf derselben Houmlhe
B-Baum - Eigenschaften und Merkmale
Suchen nach Schluumlssel S
1 Lese Wurzelseite
2 Suche S in Seite
gefunden gib Datensatz aus fertig
nicht gefunden1048657 Seite ist Blatt Schluumlssel nicht in Baum fertig
1048657 Seite ist kein Blatt
bestimme kleinstes Ki mit S lt Ki1048657 setze Suche in Block pi fort
solches Ki nicht vorhanden1048657 setze Suche in Block pm+1 fort
Einfuumlgen von Schluumlssel S
1 Suche S in Baum
gefunden Fehlermeldung fertig nicht gefunden b = Block (Blattseite) in der die Suche nach S
abgebrochen wurde
2 Fuumlge S in b ein
b hat noch Platz Einfuumlgen fertig b laumluft uumlber ()
1 Fuumlge S temporaumlr in b ein2 bdquoMittlererldquo Schluumlssel in b ist nun Kn+13 Splitte b in blinks (K1 Kn) und brechts (Kn+2 K2n)4 Setze S zu Kn+15 Fuumlge S in Vater von b ein setze Pointer in Vater von b aufblinks und brechtsFalls Vaterknoten uumlberlaumluft setze b = Vaterknoten dannweiter bei () Ggf wird hierbei ein neuer Wurzelknoten erzeugt(dh der B-Baum waumlchst um eine Stufe)
Loumlschen von Schluumlssel S1 Suche S in Baum
nicht gefunden Fehlermeldung fertig gefunden b ist der Block in dem S gefunden wurde
2 Loumlsche S in b
b ist Blatt
1048657 b hat nach Loumlschung noch mind n Eintraumlge fertig1048657 b hat weniger als n Eintraumlge rArr Unterlaufbehandlung fertig
b ist kein Blatt
1 Ersetze S in b durch groumlszligtes (kleinstes) Blattelement( Blatt b) im linken (rechten) Teilbaum von SrArr2 Fuumlhre ggf Unterlaufbehandlung fuumlr b durch fertig
Unterlaufbehandlung b ist der Unterlauf-Knoten
b hat einen linken (rechten) Bruder mit genau n Eintraumlgen rArr Zusammenfassen ggf Unterlaufbehandlung fuumlrVaterknoten fertig[Anmerkung Gilt sowohl fuumlr Blatt als auch Nicht-Blatt]
sonst
1048657 b ist Blatt fuumlhre bdquokleineldquo Rotation uumlber Vaterknoten nachrechts (links) aus fertig
1048657 b ist kein Blattfuumlhre bdquogroszligeldquo Rotation uumlber Vaterknoten mit linkem (rechtem)Bruder-Teilbaum von b aus fertig[Anmerkung Ausgleich durch Umhaumlngen eines ganzen Teilbaumes]
- Baumlume
- B-Baum
- B-Baum - Eigenschaften und Merkmale
- Folie 4
- Folie 5
- Folie 6
- Folie 7
-
B-Baum
B steht nicht fuumlr Binaumlr-Baum Sondern fuumlr Balanciert
bull Jede Seite auszliger der Wurzel enthaumllt zwischen m und 2m Daten
Knoten = Speicherbloumlcke (Seiten) fester Laumlnge
jede Seite kann bis zu 2n Datensaumltze (Eintraumlge) aufnehmen
n heiszligt Ordnung des B-Baumes
jede Seite (auszliger der Wurzel) enthaumllt stets m Datensaumltzefester Laumlnge wobei gilt n le m le 2n
jeder Eintrag hat einen Schluumlsselteil und einen Datenteil(Datenteil enthaumllt oft nur Zeiger auf den bdquoechtenldquo Datensatz)
die Datensaumltze innerhalb einer Seite sind aufsteigend nachPrimaumlrschluumlssel geordnet
eine Seite ist entweder Blattseite oder sie hat m+1 Nachfolger
alle Blattseiten befinden sich auf derselben Houmlhe
B-Baum - Eigenschaften und Merkmale
Suchen nach Schluumlssel S
1 Lese Wurzelseite
2 Suche S in Seite
gefunden gib Datensatz aus fertig
nicht gefunden1048657 Seite ist Blatt Schluumlssel nicht in Baum fertig
1048657 Seite ist kein Blatt
bestimme kleinstes Ki mit S lt Ki1048657 setze Suche in Block pi fort
solches Ki nicht vorhanden1048657 setze Suche in Block pm+1 fort
Einfuumlgen von Schluumlssel S
1 Suche S in Baum
gefunden Fehlermeldung fertig nicht gefunden b = Block (Blattseite) in der die Suche nach S
abgebrochen wurde
2 Fuumlge S in b ein
b hat noch Platz Einfuumlgen fertig b laumluft uumlber ()
1 Fuumlge S temporaumlr in b ein2 bdquoMittlererldquo Schluumlssel in b ist nun Kn+13 Splitte b in blinks (K1 Kn) und brechts (Kn+2 K2n)4 Setze S zu Kn+15 Fuumlge S in Vater von b ein setze Pointer in Vater von b aufblinks und brechtsFalls Vaterknoten uumlberlaumluft setze b = Vaterknoten dannweiter bei () Ggf wird hierbei ein neuer Wurzelknoten erzeugt(dh der B-Baum waumlchst um eine Stufe)
Loumlschen von Schluumlssel S1 Suche S in Baum
nicht gefunden Fehlermeldung fertig gefunden b ist der Block in dem S gefunden wurde
2 Loumlsche S in b
b ist Blatt
1048657 b hat nach Loumlschung noch mind n Eintraumlge fertig1048657 b hat weniger als n Eintraumlge rArr Unterlaufbehandlung fertig
b ist kein Blatt
1 Ersetze S in b durch groumlszligtes (kleinstes) Blattelement( Blatt b) im linken (rechten) Teilbaum von SrArr2 Fuumlhre ggf Unterlaufbehandlung fuumlr b durch fertig
Unterlaufbehandlung b ist der Unterlauf-Knoten
b hat einen linken (rechten) Bruder mit genau n Eintraumlgen rArr Zusammenfassen ggf Unterlaufbehandlung fuumlrVaterknoten fertig[Anmerkung Gilt sowohl fuumlr Blatt als auch Nicht-Blatt]
sonst
1048657 b ist Blatt fuumlhre bdquokleineldquo Rotation uumlber Vaterknoten nachrechts (links) aus fertig
1048657 b ist kein Blattfuumlhre bdquogroszligeldquo Rotation uumlber Vaterknoten mit linkem (rechtem)Bruder-Teilbaum von b aus fertig[Anmerkung Ausgleich durch Umhaumlngen eines ganzen Teilbaumes]
- Baumlume
- B-Baum
- B-Baum - Eigenschaften und Merkmale
- Folie 4
- Folie 5
- Folie 6
- Folie 7
-
Knoten = Speicherbloumlcke (Seiten) fester Laumlnge
jede Seite kann bis zu 2n Datensaumltze (Eintraumlge) aufnehmen
n heiszligt Ordnung des B-Baumes
jede Seite (auszliger der Wurzel) enthaumllt stets m Datensaumltzefester Laumlnge wobei gilt n le m le 2n
jeder Eintrag hat einen Schluumlsselteil und einen Datenteil(Datenteil enthaumllt oft nur Zeiger auf den bdquoechtenldquo Datensatz)
die Datensaumltze innerhalb einer Seite sind aufsteigend nachPrimaumlrschluumlssel geordnet
eine Seite ist entweder Blattseite oder sie hat m+1 Nachfolger
alle Blattseiten befinden sich auf derselben Houmlhe
B-Baum - Eigenschaften und Merkmale
Suchen nach Schluumlssel S
1 Lese Wurzelseite
2 Suche S in Seite
gefunden gib Datensatz aus fertig
nicht gefunden1048657 Seite ist Blatt Schluumlssel nicht in Baum fertig
1048657 Seite ist kein Blatt
bestimme kleinstes Ki mit S lt Ki1048657 setze Suche in Block pi fort
solches Ki nicht vorhanden1048657 setze Suche in Block pm+1 fort
Einfuumlgen von Schluumlssel S
1 Suche S in Baum
gefunden Fehlermeldung fertig nicht gefunden b = Block (Blattseite) in der die Suche nach S
abgebrochen wurde
2 Fuumlge S in b ein
b hat noch Platz Einfuumlgen fertig b laumluft uumlber ()
1 Fuumlge S temporaumlr in b ein2 bdquoMittlererldquo Schluumlssel in b ist nun Kn+13 Splitte b in blinks (K1 Kn) und brechts (Kn+2 K2n)4 Setze S zu Kn+15 Fuumlge S in Vater von b ein setze Pointer in Vater von b aufblinks und brechtsFalls Vaterknoten uumlberlaumluft setze b = Vaterknoten dannweiter bei () Ggf wird hierbei ein neuer Wurzelknoten erzeugt(dh der B-Baum waumlchst um eine Stufe)
Loumlschen von Schluumlssel S1 Suche S in Baum
nicht gefunden Fehlermeldung fertig gefunden b ist der Block in dem S gefunden wurde
2 Loumlsche S in b
b ist Blatt
1048657 b hat nach Loumlschung noch mind n Eintraumlge fertig1048657 b hat weniger als n Eintraumlge rArr Unterlaufbehandlung fertig
b ist kein Blatt
1 Ersetze S in b durch groumlszligtes (kleinstes) Blattelement( Blatt b) im linken (rechten) Teilbaum von SrArr2 Fuumlhre ggf Unterlaufbehandlung fuumlr b durch fertig
Unterlaufbehandlung b ist der Unterlauf-Knoten
b hat einen linken (rechten) Bruder mit genau n Eintraumlgen rArr Zusammenfassen ggf Unterlaufbehandlung fuumlrVaterknoten fertig[Anmerkung Gilt sowohl fuumlr Blatt als auch Nicht-Blatt]
sonst
1048657 b ist Blatt fuumlhre bdquokleineldquo Rotation uumlber Vaterknoten nachrechts (links) aus fertig
1048657 b ist kein Blattfuumlhre bdquogroszligeldquo Rotation uumlber Vaterknoten mit linkem (rechtem)Bruder-Teilbaum von b aus fertig[Anmerkung Ausgleich durch Umhaumlngen eines ganzen Teilbaumes]
- Baumlume
- B-Baum
- B-Baum - Eigenschaften und Merkmale
- Folie 4
- Folie 5
- Folie 6
- Folie 7
-
Suchen nach Schluumlssel S
1 Lese Wurzelseite
2 Suche S in Seite
gefunden gib Datensatz aus fertig
nicht gefunden1048657 Seite ist Blatt Schluumlssel nicht in Baum fertig
1048657 Seite ist kein Blatt
bestimme kleinstes Ki mit S lt Ki1048657 setze Suche in Block pi fort
solches Ki nicht vorhanden1048657 setze Suche in Block pm+1 fort
Einfuumlgen von Schluumlssel S
1 Suche S in Baum
gefunden Fehlermeldung fertig nicht gefunden b = Block (Blattseite) in der die Suche nach S
abgebrochen wurde
2 Fuumlge S in b ein
b hat noch Platz Einfuumlgen fertig b laumluft uumlber ()
1 Fuumlge S temporaumlr in b ein2 bdquoMittlererldquo Schluumlssel in b ist nun Kn+13 Splitte b in blinks (K1 Kn) und brechts (Kn+2 K2n)4 Setze S zu Kn+15 Fuumlge S in Vater von b ein setze Pointer in Vater von b aufblinks und brechtsFalls Vaterknoten uumlberlaumluft setze b = Vaterknoten dannweiter bei () Ggf wird hierbei ein neuer Wurzelknoten erzeugt(dh der B-Baum waumlchst um eine Stufe)
Loumlschen von Schluumlssel S1 Suche S in Baum
nicht gefunden Fehlermeldung fertig gefunden b ist der Block in dem S gefunden wurde
2 Loumlsche S in b
b ist Blatt
1048657 b hat nach Loumlschung noch mind n Eintraumlge fertig1048657 b hat weniger als n Eintraumlge rArr Unterlaufbehandlung fertig
b ist kein Blatt
1 Ersetze S in b durch groumlszligtes (kleinstes) Blattelement( Blatt b) im linken (rechten) Teilbaum von SrArr2 Fuumlhre ggf Unterlaufbehandlung fuumlr b durch fertig
Unterlaufbehandlung b ist der Unterlauf-Knoten
b hat einen linken (rechten) Bruder mit genau n Eintraumlgen rArr Zusammenfassen ggf Unterlaufbehandlung fuumlrVaterknoten fertig[Anmerkung Gilt sowohl fuumlr Blatt als auch Nicht-Blatt]
sonst
1048657 b ist Blatt fuumlhre bdquokleineldquo Rotation uumlber Vaterknoten nachrechts (links) aus fertig
1048657 b ist kein Blattfuumlhre bdquogroszligeldquo Rotation uumlber Vaterknoten mit linkem (rechtem)Bruder-Teilbaum von b aus fertig[Anmerkung Ausgleich durch Umhaumlngen eines ganzen Teilbaumes]
- Baumlume
- B-Baum
- B-Baum - Eigenschaften und Merkmale
- Folie 4
- Folie 5
- Folie 6
- Folie 7
-
Einfuumlgen von Schluumlssel S
1 Suche S in Baum
gefunden Fehlermeldung fertig nicht gefunden b = Block (Blattseite) in der die Suche nach S
abgebrochen wurde
2 Fuumlge S in b ein
b hat noch Platz Einfuumlgen fertig b laumluft uumlber ()
1 Fuumlge S temporaumlr in b ein2 bdquoMittlererldquo Schluumlssel in b ist nun Kn+13 Splitte b in blinks (K1 Kn) und brechts (Kn+2 K2n)4 Setze S zu Kn+15 Fuumlge S in Vater von b ein setze Pointer in Vater von b aufblinks und brechtsFalls Vaterknoten uumlberlaumluft setze b = Vaterknoten dannweiter bei () Ggf wird hierbei ein neuer Wurzelknoten erzeugt(dh der B-Baum waumlchst um eine Stufe)
Loumlschen von Schluumlssel S1 Suche S in Baum
nicht gefunden Fehlermeldung fertig gefunden b ist der Block in dem S gefunden wurde
2 Loumlsche S in b
b ist Blatt
1048657 b hat nach Loumlschung noch mind n Eintraumlge fertig1048657 b hat weniger als n Eintraumlge rArr Unterlaufbehandlung fertig
b ist kein Blatt
1 Ersetze S in b durch groumlszligtes (kleinstes) Blattelement( Blatt b) im linken (rechten) Teilbaum von SrArr2 Fuumlhre ggf Unterlaufbehandlung fuumlr b durch fertig
Unterlaufbehandlung b ist der Unterlauf-Knoten
b hat einen linken (rechten) Bruder mit genau n Eintraumlgen rArr Zusammenfassen ggf Unterlaufbehandlung fuumlrVaterknoten fertig[Anmerkung Gilt sowohl fuumlr Blatt als auch Nicht-Blatt]
sonst
1048657 b ist Blatt fuumlhre bdquokleineldquo Rotation uumlber Vaterknoten nachrechts (links) aus fertig
1048657 b ist kein Blattfuumlhre bdquogroszligeldquo Rotation uumlber Vaterknoten mit linkem (rechtem)Bruder-Teilbaum von b aus fertig[Anmerkung Ausgleich durch Umhaumlngen eines ganzen Teilbaumes]
- Baumlume
- B-Baum
- B-Baum - Eigenschaften und Merkmale
- Folie 4
- Folie 5
- Folie 6
- Folie 7
-
Loumlschen von Schluumlssel S1 Suche S in Baum
nicht gefunden Fehlermeldung fertig gefunden b ist der Block in dem S gefunden wurde
2 Loumlsche S in b
b ist Blatt
1048657 b hat nach Loumlschung noch mind n Eintraumlge fertig1048657 b hat weniger als n Eintraumlge rArr Unterlaufbehandlung fertig
b ist kein Blatt
1 Ersetze S in b durch groumlszligtes (kleinstes) Blattelement( Blatt b) im linken (rechten) Teilbaum von SrArr2 Fuumlhre ggf Unterlaufbehandlung fuumlr b durch fertig
Unterlaufbehandlung b ist der Unterlauf-Knoten
b hat einen linken (rechten) Bruder mit genau n Eintraumlgen rArr Zusammenfassen ggf Unterlaufbehandlung fuumlrVaterknoten fertig[Anmerkung Gilt sowohl fuumlr Blatt als auch Nicht-Blatt]
sonst
1048657 b ist Blatt fuumlhre bdquokleineldquo Rotation uumlber Vaterknoten nachrechts (links) aus fertig
1048657 b ist kein Blattfuumlhre bdquogroszligeldquo Rotation uumlber Vaterknoten mit linkem (rechtem)Bruder-Teilbaum von b aus fertig[Anmerkung Ausgleich durch Umhaumlngen eines ganzen Teilbaumes]
- Baumlume
- B-Baum
- B-Baum - Eigenschaften und Merkmale
- Folie 4
- Folie 5
- Folie 6
- Folie 7
-
Unterlaufbehandlung b ist der Unterlauf-Knoten
b hat einen linken (rechten) Bruder mit genau n Eintraumlgen rArr Zusammenfassen ggf Unterlaufbehandlung fuumlrVaterknoten fertig[Anmerkung Gilt sowohl fuumlr Blatt als auch Nicht-Blatt]
sonst
1048657 b ist Blatt fuumlhre bdquokleineldquo Rotation uumlber Vaterknoten nachrechts (links) aus fertig
1048657 b ist kein Blattfuumlhre bdquogroszligeldquo Rotation uumlber Vaterknoten mit linkem (rechtem)Bruder-Teilbaum von b aus fertig[Anmerkung Ausgleich durch Umhaumlngen eines ganzen Teilbaumes]
- Baumlume
- B-Baum
- B-Baum - Eigenschaften und Merkmale
- Folie 4
- Folie 5
- Folie 6
- Folie 7
-