prev up next


Der Cube-Operator


Würfeldarstellung der Handyverkaufszahlen nach Jahr, Hersteller und Land

Um der mühsamen Anfrageformulierung und der ineffizienten Auswertung zu begegnen, wurde vor kurzem ein neuer SQL-Operator namens cube vorgeschlagen. Zur Erläuterung wollen wir ein 3-dimensionales Beispiel konstruieren, indem wir auch entlang der zusätzlichen Dimension Filiale.Land ein drill down vorsehen:

select p.Hersteller, z.Jahr, f.Land, sum(Anzahl)
from   Verkäufe v, Produkte p, Zeit z, Filialen f
where  v.Produkt    = p.ProduktNr
and    p.Produkttpy = 'Handy'
and    v.VerkDatum  = z.Datum 
and    v.Filiale    = f.Filialenkennung
group  by z.Jahr, p.Hersteller, f.Land with cube;

Die Auswertung dieser Query führt zu dem in Abbildung 16.7 gezeigten 3D-Quader; die relationale Repräsentation ist in der rechten Tabelle von Abbildung 16.6 zu sehen. Neben der einfacheren Formulierung erlaubt der Cube-Operator dem DBMS einen Ansatz zur Optimierung, indem stärker verdichtete Aggregate auf weniger starken aufbauen und indem die (sehr große) Verkäufe-Relation nur einmal eingelesen werden muß.


prev up next