27.12.2012 Aufrufe

5 Raumorganisierende Strukturen zur Sekundärschlüsselsuche

5 Raumorganisierende Strukturen zur Sekundärschlüsselsuche

5 Raumorganisierende Strukturen zur Sekundärschlüsselsuche

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Skript Anfragebearbeitung und Indexstrukturen in Datenbanksystemen Seite 71<br />

Zunächst wird das Paar (0,4) mit G(0,0) = 0 und G(4,0) = 16 um die Seite G(8,0) = 64<br />

erweitert und ep 1 um 1 erhöht:<br />

ep 2<br />

A 2<br />

0<br />

0 64 16 4 24 1 20 6 28<br />

0 0 8 4 2 6 1 5 3 7 1<br />

Nachfolgend werden die Paare (1,5), (2,6) und (3,7) expandiert.<br />

Allgemeines Vorgehen:<br />

Verlangt die Kontrollfunktion eine Expansion um eine Seite, werden die Schlüssel vom Paar<br />

( G(ep1 , ... , epex , ... ,epk ) , G(ep1 , ... , epex + 2 , ... , epk ) ) auf 3 Seiten wie folgt verteilt:<br />

Lex – 1<br />

• Betrachte die binäre Darstellung von epex = bi � 2<br />

• Berechne den Anfangspunkt a des Seitenpaares:<br />

a<br />

=<br />

Lex– 1<br />

• Zerlege den Bereich des Seitenpaares in 3 halboffene Intervalle I1 a , I2a und I3a wie folgt:<br />

, j = 1, 2, 3<br />

• Nun wird der Schlüssel x = (x1 , . . ., xex , . . ., xk ) in Seite p abgespeichert mit<br />

G (ep1 , ... , epex , ... , epk ), falls xex � I 1 a<br />

G (ep1 , ... , epex + , ... , epk ), falls xex � I 2 a<br />

G (ep1 , ... , epex + , ... , epk ), falls xex � I3 j<br />

Ia j– 1<br />

a<br />

3 2<br />

a<br />

L j<br />

-------------------- a<br />

ex– 1<br />

� 3 2 L = + , + -------------------- �<br />

ex– 1 �<br />

�<br />

p =<br />

�<br />

�<br />

�<br />

2<br />

�<br />

�<br />

Lex 2 Lex – 1<br />

Somit werden die Schlüssel in der neu geschaffenen Seite abgespeichert,<br />

wenn die ex-Komponente im 2. Intervall liegt.<br />

Danach werden die Expansionszeiger so weitergesetzt, daß sie auf die als nächstes zu expandierende<br />

Gruppe von Seiten zeigen.<br />

Beispiel: (wie oben)<br />

ep1 = epex = 0, ep2 = 0.<br />

� a = 0<br />

1<br />

� Ia 0 , ,<br />

Weitersetzen von epex auf epex = 1 (nächstes betrachtes Seitenpaar (1,5) ).<br />

1<br />

----- � 2 1<br />

= � I<br />

12�<br />

a -----<br />

12<br />

2<br />

-----� 3 2<br />

= � I<br />

12�<br />

a -----<br />

12<br />

3 1<br />

= � ----- =<br />

-- �<br />

12 4�<br />

ep 1<br />

� bLex– i � 2<br />

i = 1<br />

2 Lex– 1<br />

�<br />

i � 0<br />

i 1 –<br />

--------------------------------------<br />

i 1 –<br />

A 1

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!