Iceberg Cube Ne calculer que les cellules du datacube dont le nombre d'occurences satisfait la condition : HAVING COUNT(*) >= minsup Motivation Supposons 100 dimensions, 1 seul enregistrement dans la table de faits. Combien de cellules dans le datacube si count >= 1? si count >= 2?
Exemple dimensions: P – 6 produit L – 3 lieu, M – 2 mois. Cuboide de base: 6*3*2 = 36 cellules. Ici 30 sont vides. *m1l3p6 *m2l2p5 *m1l2p4 *m2l1p3 *m1l1p2 *m1l1p1 VMLP SELECT P, L, M, SUM(V) FROM T CUBE BY P, L, M HAVING COUNT(*)>=2
Approche naïve all P L M P, L P, ML, M P, L, M 1m1l3p6 1m2l2p5 1m1l2p4 1m2l1p3 1m1l1p2 1m1l1p1 count(*)MLP Calculer tous les cuboïdes puis supprimer les cellules qui ne satisfont pas la condition COUNT >=2
Ordre de calcul des cuboïdes T(A,B,C,D, Mesure)
Icerberg: all: ()6 1 all 1m1l3p6 1m2l2p5 1m1l2p4 1m2l1p3 1m1l1p2 1m1l1p1 count(*)MLP 2 P6 L8 M 3 P,L5 P,M7 L,M 4 P,L,M p1: 1 p2: 1 p3: 1 p4: 1 p5: 1 p6: 1 Exemple
Icerberg: all: ()6 L: (l1)3, (l2)2 L,M: (l1,m1)2 1 all 1m1l3p6 1m2l2p5 1m1l2p4 1m2l1p3 1m1l1p2 1m1l1p1 count(*)MLP 2 P6 L8 M 3 P,L5 P,M7 L,M 4 P,L,M l1: 3 l2: 2 l3: 1 m1: 2 m2: 1 m1: 1 m2: 1 Exemple
Icerberg: all: ()6 L: (l1)3, (l2)2 L,M: (l1,m1)2 M: (m1)4, (m2)2 1 all 1m1l3p6 1m2l2p5 1m1l2p4 1m2l1p3 1m1l1p2 1m1l1p1 count(*)MLP 2 P6 L8 M 3 P,L5 P,M7 L,M 4 P,L,M m1: 4 m2: 2 Exemple