Example create dimension

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Script SQL*Plus d'exemple
Domaine Exemple DDL
Voir aussi Example create materialized view

Example create dimension montre comment déclarer un objet DIMENSION Oracle : une hiérarchie de niveaux d'agrégation logique sur des colonnes d'une table, utilisée par l'optimiseur pour la réécriture de requêtes (QUERY REWRITE) vers des vues matérialisées agrégées — voir Example create materialized view pour la partie MV correspondante.

L'exemple modélise une hiérarchie de vente au détail (produit → style → classe → rayon → magasin → région → enseigne), avec deux attributs dépendants fonctionnellement d'un niveau (la couleur dépend du style, la taille de l'article dépend du code UPC).

Script

-- Dimension hiérarchique sur une table de vente au détail (retail_tab)
-- Niveaux : upc -> style -> class -> department -> store -> region -> company

CREATE DIMENSION dim_clothes
    LEVEL upc        IS retail_tab.upc
    LEVEL style       IS retail_tab.style
    LEVEL class        IS retail_tab.class
    LEVEL department    IS retail_tab.department
    LEVEL store          IS retail_tab.store
    LEVEL region           IS retail_tab.region
    LEVEL company            IS retail_tab.company
    HIERARCHY sales_rollup (
        upc        CHILD OF
        style       CHILD OF
        class        CHILD OF
        department    CHILD OF
        store          CHILD OF
        region          CHILD OF
        company
    )
    ATTRIBUTE style DETERMINES (color)
    ATTRIBUTE upc   DETERMINES (item_size)
/

Voir aussi