View Categories

03 – Explorer les données utilisées par le Tableau de Bord

Objectif de cette étape #

Nous allons identifier les tables nécessaires et comprendre comment elles sont reliées.
L’objectif n’est pas de connaître toute la base Demonstration, mais uniquement les données utiles à notre projet.

Les tables utilisées #

Clients #

La table Clients contient les informations relatives aux clients.

Champs utilisés :

ChampUtilisation
CodeClientIdentifier le client et le relier à ses commandes
RaisonSocialeAfficher le nom de l’entreprise cliente
PaysFiltrer les résultats par pays

Commandes #

La table Commandes contient une ligne par commande.

Champs utilisés :

ChampUtilisation
NumCommandeIdentifier la commande
CodeClientRelier la commande au client
DateCommandeRegrouper les ventes dans le temps

Commandes_Details #

La table Commandes_Details contient les produits présents dans chaque commande.
Une commande peut donc produire plusieurs lignes dans cette table.

Champs utilisés :

ChampUtilisation
NumCommandeRelier la ligne à la commande
CodeProduitRelier la ligne au produit
PrixConnaître le prix appliqué lors de la commande
QuantiteConnaître la quantité commandée
RemiseCalculer le montant après remise

Produits #

La table Produits décrit les produits vendus.

Champs utilisés :

ChampUtilisation
CodeProduitIdentifier le produit
NomProduitAfficher son nom
NumCategorieRelier le produit à sa catégorie

Categories #

La table Categories contient les familles de produits.

Champs utilisés :

ChampUtilisation
CodeCategorieIdentifier la catégorie
NomCategorieAfficher le nom de la catégorie

Les tables et champs employés ici correspondent à la structure française de la base Demonstration de BiBOARD.

Relations entre les tables #

Clients
  │
  │ CodeClient
  ▼
Commandes
  │
  │ NumCommande
  ▼
Commandes_Details
  │
  │ CodeProduit
  ▼
Produits
  │
  │ NumCategorie
  ▼
Categories

Sous une autre forme :

Un client
    possède plusieurs commandes.

Une commande
    possède plusieurs lignes de commande.

Une ligne de commande
    concerne un produit.

Un produit
    appartient à une catégorie.

Comprendre le niveau de détail #

La notion de niveau de détail est essentielle.
Dans notre future requête détaillée, une ligne représentera :

Un produit présent dans une commande

Une commande contenant trois produits produira donc trois lignes.

Cela a une conséquence importante :

COUNT(*)

compterait les lignes de produits, et non les commandes.

Pour compter les commandes, nous utiliserons :

COUNT(DISTINCT NumCommande)

Quel prix utiliser ? #

La table Produits peut contenir un prix catalogue actuel.
La table Commandes_Details contient le prix enregistré au moment de la commande.
Pour calculer le chiffre d’affaires historique, nous utiliserons donc :

Commandes_Details.Prix

et non le prix actuel du produit.

Méthode pour identifier les données nécessaires #

Pour chaque information à afficher, posez-vous cinq questions :

  1. Quelle information métier faut-il afficher ?
  2. Quel est son niveau de détail ?
  3. Dans quelle table se trouve-t-elle ?
  4. Quelles relations sont nécessaires pour l’atteindre ?
  5. Un calcul ou un regroupement est-il nécessaire ?

Exemple

Pour afficher le chiffre d’affaires par catégorie :

  • le prix, la quantité et la remise viennent de Commandes_Details ;
  • le produit est identifié par CodeProduit ;
  • la catégorie est obtenue par la table Produits ;
  • son libellé vient de Categories ;
  • les montants doivent être regroupés par NomCategorie.

Résultat attendu
Vous savez expliquer le chemin permettant de partir d’un client pour retrouver les produits qu’il a commandés.


Retour en haut