IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Conception/Modélisation Discussion :

Modélisation : junk dimension, dimension avec une seule colonne, table faits avec attributs non numériques...


Sujet :

Conception/Modélisation

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 41
    Points : 38
    Points
    38
    Par défaut Modélisation : junk dimension, dimension avec une seule colonne, table faits avec attributs non numériques...
    Bonjour,

    J'ai un ensemble d'attributs de différents types. Et je souhaiterais discuter avec vous sur les différents modèles possibles. Sachant que ces attributs permettent de soulever les questions suivantes :
    Faut il conserver une table dimension avec un seul attribut (bi-modal) car celui ci est un axe d'analyse ?
    Faut il créer une dimension poubelle (junk dimension)?
    Faut il remonter dans la table de faits des informations non numériques ?
    Faut il plus modéliser au détriment d'un stockage non performant (dimensions ayant le même nombre de lignes que la table de faits) ?

    Voici la problématique : je n'y connais rien en bateau mais je voudrais analyser leur prix à partir d'un ensemble d'informations et pourquoi pas créer une fonction de notation.

    Voici les attributs :

    Colonnes numériques
    • prix
    • Année
    • tirant d'eau (hauteur de la partie immergée du bateau. les données sont exprimées en mm. Supposons que c'est une variable continue pouvant prendre plusieurs dixaines de milliers de valeurs )
    • nombre de cabines
    • nombre de sdb
    • nombre de couchages
    • puissance
    • longueur
    • largeur
    • nombre de moteur


    Colonnes de type texte
    • url
    • reference_annonce
    • Annonce_recommandée
    • typeVendeur (particulier; professionnel)
    • Info_Vendeur (nom; adresse; mail;…)
    • categorie (bateau à moteur; voilier)
    • Constructeur (ACM; Arvor; Aventura; Beneteau, …)
    • Modele (ACM 10.60; ACM 875; Arvor 250 AS; …)
    • marque du moteur
    • carburant
    • couleur
    • localisation


    Colonne de type booléen ou flag
    • avec place de port (oui/non)
    • offre_encore_disponible (oui/non)


    Colonne de type date
    • date de publication de l'annonce


    Je vais rajouter juste après une proposition de modèle (on me met la pression pour aller déjeuner).

    Merci.

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 41
    Points : 38
    Points
    38
    Par défaut
    Voici un modele possible :

    Modèle 1 :

    Table de faits :
    prix
    tirant d'eau
    + les id des tables dimensions

    1 table dimension pour chacun des champs suivants (donc 12 tables au total) :
    categorie (bateau a moteur; voilier)
    Année
    marque du moteur
    nombre de moteur
    nombre de cabines
    nombre de sdb
    nombre de couchages
    couleur
    carburant
    avec place de port (oui/non)
    puissance
    localisation

    1 table dimension avec les champs :
    Constructeur (ACM; Arvor; Aventura; Beneteau, …)
    Modele (ACM 10.60; ACM 875; Arvor 250 AS; …)

    1 table dimension avec les champs :
    longueur
    largeur

    1 table dimension avec les champs :
    url
    reference_annonce
    Annonce_recommandée

    1 table dimension avec les champs :
    typeVendeur (particulier; professionnel)
    Info_Vendeur (nom; adresse; mail;…)


    explications :
    1) J'ai rajouté la colonne "tirant d'eau" dans la table de faits car je souhaite également l'analyser. En particulier je souhaite savoir : si tel constructeur fabrique des modèles avec un tirant plus important que tel autre ; dans quel mesure le tirant varie en fonction de la taille du bateau (longueur, largeur)...

    2) chacune des 12 tables dimensions comportant un seul champ sont de natures différentes et chacun peut individuellement jouer sur le prix du bateau. Du moins c'est ce que je pense.

    3) ensuite les 4 dernières tables dimensions regroupent des informations de même nature et représentent des axes d'analyses (avec les deux dernières, je peux en effet vérifier si les annonces recommandées sont associées à des bateaux à bon prix et s'il vaut mieux acheter chez un pro ou un particulier)

    Inconvéniants du modèle :
    1) A priori le prix peut dépendre du tirant d'eau. Si je garde ce champ dans la table de faits, pour tester cette hypothèse il faudra que je croise deux fois la table de faits... Je pense que c'est possible mais au niveau des performances ça pourrait être mauvais. Faut il que je le sorte ? Sinon je peux peut être dupliquer l'information. Je le laisse dans la table de faits et je crée une dimension avec moins de modalités (je segmente les valeurs continues en une centaines de tranches par exemple) ?

    2) 12 tables dimensions avec uniquement une colonne (plus l'ID de la dimension). Il y a même une dimension qui ne comporte que 2 modalités (catégorie=bateau a moteur; voilier). Est ce que je met en place une junk dimension? La dimension contenant le champ "avec place de port (oui/non)" est même un flag... Peut être que je devrais le remonter dans la table de faits ?

    3) La table dimension contenant les champs url, reference_annonce, Annonce_recommandée contient autant de lignes que la table de faits. Même problème pour la table regroupant les informations sur les vendeurs. Donc ces deux dimensions ne permettent pas de filtrer la table de faits... Mais je trouve cela moyen de les incorporer dans la table de faits. Qu'en pensez vous ?

    Ca fait beaucoup d'interrogation je sais... Mais je pense que cela servira à beaucoup de personnes. Donc si une âme charitable voulait bien se pencher avec moi sur ces problèmes ce serait gentil

    Merci d'avance

  3. #3
    Expert confirmé
    Avatar de doc malkovich
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2008
    Messages
    1 884
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 884
    Points : 4 285
    Points
    4 285
    Billets dans le blog
    1
    Par défaut
    Hello

    Difficile à dire quand on ne connait pas le fonctionnel

    A ce que je vois ta table de faits correspond aux annonces sur les bateaux.
    J'aurais fait une dimension "Modèle de bateau" avec le nombre de cabines, le moteur etc.
    Pour le tirant d'eau peut-être faire une dimension avec des groupes de tirant d'eau ?
    Et sinon il y a en effet trop de tables de dimension, tu peux en faire des tables dégénérées en ramenant uniquement la valeur dans la table de faits. Et si tu as autant de lignes dans une dimension que dans la table de faits il faut dégénérer la dimension dans la table de faits.

    A+
    N'oubliez pas de cliquer sur lorsque votre problème est réglé !

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 41
    Points : 38
    Points
    38
    Par défaut
    Salut Doc et merci pour ton aide.

    Difficile à dire quand on ne connait pas le fonctionnel
    La problématique fonctionnelle est la suivante. Je souhaite acheter un bateau et j'aimerai savoir quels sont les éléments qui jouent sur le prix. Du coup chaque élément est potentiellement un axe d'analyse du prix.

    A ce que je vois ta table de faits correspond aux annonces sur les bateaux.
    Oui c'est bien cela les mesures dont je dispose correspondent aux prix et tirant d'eau issus d'annonces de vente de bateaux.

    J'aurais fait une dimension "Modèle de bateau" avec le nombre de cabines, le moteur etc.
    Potentiellement cette dimension contiendrait tous les autres champs qui ne sont pas dans la table de faits car tous décrivent le modèle. Si je fais ca je ne pourrais pas avoir un tableau de l'indicateur prix avec en ligne le nombre de cabines et en
    colonne la marque du moteur (ou le nombre de moteur).

    Pour le tirant d'eau peut-être faire une dimension avec des groupes de tirant d'eau ?
    Oui je suis d'accord.

    Et sinon il y a en effet trop de tables de dimension, tu peux en faire des tables dégénérées en ramenant uniquement la valeur dans la table de faits. Et si tu as autant de lignes dans une dimension que dans la table de faits il faut dégénérer la dimension dans la table de faits.
    A+
    Je suis d'accord, avoir une table dimension qui comporte autant de lignes que la table de faits... C'est moche. Mais c'est quoi le sens d'avoir le nom du vendeur (donc un champ qui n'est pas une mesure) dans une table de faits. De plus je l'aurais effectivement fait sans aucun scupule si les deux dimensions ne comportaient pas chacune un champ qui peut etre un axe d'analyse (1 - est ce que les bateaux vendus par les pro sont plus chers que ceux vendus par les parts; 2 - est ce que les annonces bien notées sont associées aux meilleurs prix). Mais bon de toute façon je pense que c'est ce que je vais faire...

    Merci

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/07/2014, 01h40
  2. [Débutant] afficher une seule colonne après sélection avec un multiCombox
    Par hamzawhy dans le forum C#
    Réponses: 0
    Dernier message: 15/07/2014, 08h37
  3. Table avec une seule colonne : acceptable?
    Par Drag dans le forum Langage SQL
    Réponses: 5
    Dernier message: 28/09/2010, 11h01
  4. Réponses: 6
    Dernier message: 02/03/2009, 08h42
  5. update d'une seule colonne table entière
    Par dlamo dans le forum Requêtes
    Réponses: 3
    Dernier message: 09/10/2007, 10h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo