Vous êtes sur la page 1sur 3

TD2 – ENTREPOT DE DONNEES

Ex1
1.

On a les tables suivantes :


Résultats (#equipeId, #tempsId, nbVictoireDomicile, nbMoyenBut)
Equipe (equipeId, nom);
Temps (tempsId, mois, annee);

Dimension
TEMPS
1. Extract :
SELECT dateMatch FROM Match

2. Transform  on veut le mois et l’année sous forme d’entier


13/04/2022
On peut faire avec du code JavaRow
- Soit en chaine de caractère
- Soit une library qui gère les date (gregorian calendar)
En mySQL
- Months (dateMatch)  voir requête SQL mois année internet
En oracle
- Extract (Month from dateDeMatch), year….

Supprimer les doublons  tUniqueRow

3. Load
Insert into Temps

Dimension
EQUIPE

1. Extract
SELECT equipe_locale FROM Match

2. Transform
On doit renommer les équipes Paris  PSG Marseille  OM
- Utiliser le module « Replace »
Supprimer les doublons
- tUniqueRow

3. Load
Insert into Equipe
TD2 – ENTREPOT DE DONNEES

2.

1. Extract
SELECT count(*) , Month(dateMAtch) as mois, Year(dateMatch) as année
FROM Match
WHERE nbButLocal>nbButVisiteur
GROUP BY (equipe_locale, mois, année)????????

2. Transform
Pour mois et année  récup la clé étrangère (TID)
- On doit faire une jointure selon le mois et selon l’année pour chercher dans la table
- On fait jointure temps mois
- tMAP : sert à faire des jointures (avec table en haut table en bas)
- avant de trouver le nom on fait le remplacement de Paris  PSG / Marseille  OM
- on veut transformer le nom en un EID
- calcul, moyenne du nb de victoire
- AggregateRow

Table des faits : Résultats


SELECT : Equipe_locale, Match.NbButLocale, Match.NbButVisiteur, dateMatch
Extraction Penser à récupérer les clés étrangères (date, et équipe locale uniquement car
on se fiche de savoir contre qui la match a été joué).
1. Transformation Equipe et Temps sans DISTINCT
2. Suppression des défaites (NbButLocale < NbButVisiteur)
Transformation
3. Rechercher les clés étrangères (#tempsId et #equipeId)
4. Groupement avec la moyenne des buts, et le nombre de victoires
Load Insertion dans Résultats
Penser à remettre toutes les étapes de transformations subies sauf les doublons (ici il faut cumuler le
nombre de buts et le nombre de victoires).

Ex2

1
SELECT Etat, sum(Montant) AS
FROM Etat JOIN Vente using (EID),
GROUP BY Etat

2
SELECT nom AS Etat, nom AS Produit,
Semestre « … », année AS Temps, Sum(Montant)
Jointure de toutes les tables
FROM join all tables
GROUP BY rollUp Etat, Produit, Temps
GROUP BY CUBE (remplace le RollUp)
 mélange toutes les combinaisons possible du groupe by (des 3 : état, produit et temps)
TD2 – ENTREPOT DE DONNEES

Ex3

Vous aimerez peut-être aussi