Chapitre 19: Entrepôts de données

Comprendre les principes des bases de données, les langages d'inter- rogation et de commentée en fin de chaque chapitre et un recueil d'exercices en fin d'?ouvrage. Peut-être, mais ce n'est pas l'objectif, et ceci devrait être corrigé (?notamment

Part of the document

LOG660 - Base de données de haute performance

Chapitre 19: Entrepôts de données

Exercices:

QUESTION 1

a) Donnez 3 différenc es ent re une BD transactionnelle (OLTP) et un entrepôt de
données (OLAP).

b) Décrivez le schéma en ét oile que l' on retrouve dans les entrepôts de données.
Précisez le rôle des différents types de tables dans un tel schéma.

c) Expliquez la différence entre les clauses CUBE et ROLLUP.

d) Identifiez un groupe d'attributs formant une hiérarchie dimensionnelle dans la table
de dimension suivante :









Comment serait modélisée cette hiérarchie dans un schéma normalisé ?

e) À qu oi sert la pré -agrégation des faits et comment peut-on im plémenter cette
stratégie dans le contexte des BD relationnelles ?
f) Décrivez brièvement l'architecture bus de magasins de données pour les entrepôts
de données. Quel type de modélisation es t normaleme nt employé pour les
magasins de données ?
g) Dans quelle(s ) situation(s) l'architecture d'entrepôts de données fédérés est-elle
recommandée ?
h) Nommez deux avantages de la modélisation dimensionnelle par rapport au modèle
entités-relations, dans le contexte analytique ?
i) Illustrez à l'aide d'un exemp le chacune des opérati ons OLAP suivan tes : slice,
rotate, roll-up, et drill-down.
Département de génie logiciel et des TI Exemple de schéma en étoile(Commande de produits)© R. Godin, C. Desrosiers -Hiver
j) Quelle est la différence entre les approches ROLAP et MOLAP pour la gestion de
données dimensionnelles ?

a) Écrivez une requête SQ L utilisant les fonctions analytiques d'Oracle permettant
d'afficher, pour chaque genre et chaque année, le nombre de films produits depuis
cette année ayant ce genre.

b) Quelle est la différence entre les résultats obtenus par les deux requêtes suivantes
SELECT F.idFilm, COUNT(*) OVER (
PARTITION BY F.idFilm) as col
FROM Film F, Genre G
WHERE F.idFilm = G.idFilm



QUESTION 3

Une agence de voyage aim erait pouvoir analyser ses données afin de plani fier de
meilleures campagnes de promotion auprès de ses clients. Plus particulièrement, elle
aimerait analyser le nombre et le montant des ventes en fonction :
• De la destination: hôtel, ville, pays, région, catégorie de région (ex: bord de mer,
alpine, etc.), catégorie de destination (ex: familial ou non), catégorie hôtel (ex: 1-
4 étoiles) ;
• De la d ate d'ac hat: jour de l'anné e, jour de la sem aine, mois, année, saison
touristique (ex: basse ou haute saison);
• De la date de départ: jour de l'année, jour de la semaine, mois, année, saison
touristique (ex: basse ou haute saison);
• Du forfait: nombre de personnes, nombre de nuits, type de forfait (ex: tout inclus,
repas inclus, etc.), type de chambre (ex: standard, suite, penthouse, etc.) ;
• Du client: groupe d'âge, sexe, adresse, type d'acheteur (ex: nouveau, récurrent,
etc.) ;
• Du canal de vente: catégorie (ex: magasin, internet, etc.) ;
• De la promotion: catégorie (ex: 2 pour 1, rabais 10%, rabais 25%, etc.), début et
fin de validité ;
• Du mode de paiement: catégorie (ex: crédit, comptant, etc.) ;
a) Proposez un schéma en étoile permettant de faire ces analyses. Identifiez clairement
les clés primaires et étrangères des tables de faits et de dimension;
b) Identifiez, pour chaque table de dimension, une hiérarchie de niveaux de granularité
(e.g., attribut
1
← attribut
2
← ...) ;
c) Proposez une stratégie d'agrégation ajoutant une nouvelle table de faits agrégés.
Donnez le code SQL permettant de créer cette nouvelle table.