6.3 Erzeugung von Fragment-Anfragen
6.3.3 Daten-Lokalisierung bei vertikaler Fragmentierung
Bei einer vertikalen Fragmentierung sind die Fragmente durch Projektionsoperationen definiert; die Rekonstruktion der Relation erfordert die Join-Bildung auf den Fragmenten (Kap. 5.4). Fragment-Ausdrücke für vertikal fragmentierte Relationen lassen sich einfach reduzieren, da eine Bearbeitung nur der Fragmente erforderlich ist, deren Attribute auszugeben sind bzw. in Zwischenschritten benötigt werden. Die "nutzlosen" Fragmente lassen sich durch Vorziehen von Projektionen im Operatorbaum leicht bestimmen. Durch ihre Wegnahme können die entsprechenden Verbundoperationen eingespart werden.
Beispiel 6-6
- Wir unterstellen folgende vertikale Fragmentierung der KUNDE-Relation:
- KUNDE1 = KNR, NAME, FILIALE (KUNDE)
KUNDE2 = KNR, GEBDAT (KUNDE).
- Zu bestimmen sei folgende Anfrage
- SELECT NAME FROM KUNDE.
- Der initiale Fragment-Ausdruck für diese Anfrage ist in Abb. 6-10a gezeigt. Nach Vertauschen der Ausführungsreihenfolge von Projektion und Join erkennt man, daß die Projektion auf KUNDE2 die leere Menge ergibt, da das Attribut NAME in diesem Fragment nicht enthalten ist. Die Projektion ist daher nur (lokal) auf KUNDE1 auszuführen, wie in Abb. 6-10b verdeutlicht
Abb. 6-10: .Daten-Lokalisierung bei vertikaler Fragmentierung