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

Schéma Discussion :

Gérer une liste de valeurs pré-définies


Sujet :

Schéma

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Août 2011
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2011
    Messages : 7
    Points : 0
    Points
    0
    Par défaut Gérer une liste de valeurs pré-définies
    Bonjour,

    Je voudrais savoir quelle est la bonne méthode pour gérer une liste de valeurs pré-définies dans une base de données.

    Par exemple un attribut "couleur" pourrait avoir la valeur "blanc", "noir", "rouge" ou "bleu", soit un mix de plusieurs couleurs.

    J'ai du mal à comprendre comment cela doit être modélisé.

    Merci beaucoup!

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par lolo2011 Voir le message
    Je voudrais savoir quelle est la bonne méthode pour gérer une liste de valeurs pré-définies dans une base de données.
    Cas général : une table, dite de référence, pour enregistrer les valeurs possibles. Elles peuvent être en très petit nombre aujourd'hui mais il sera très facile d'ajouter des valeurs sans toucher une ligne des programmes qui utilisent cette table pour afficher la liste des valeurs possibles.

    Par exemple un attribut "couleur" pourrait avoir la valeur "blanc", "noir", "rouge" ou "bleu",
    Table couleur (clr_id, clr_nom)
    soit un mix de plusieurs couleurs.
    Que veux-tu dire par là ? Une combinaison de deux à plusieurs des couleurs de la première liste ou le traditionnel mélange de proportions de rouge, vert bleu ou... ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Août 2011
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2011
    Messages : 7
    Points : 0
    Points
    0
    Par défaut
    Citation Envoyé par CinePhil Voir le message
    Cas général : une table, dite de référence, pour enregistrer les valeurs possibles. Elles peuvent être en très petit nombre aujourd'hui mais il sera très facile d'ajouter des valeurs sans toucher une ligne des programmes qui utilisent cette table pour afficher la liste des valeurs possibles.
    Ok, cela me semble etre ce dont j'ai besion.

    Citation Envoyé par CinePhil Voir le message
    Table couleur (clr_id, clr_nom)
    La je coince... donc cette table est different de la table de reference au-dessus? Comment sont elles liees?

    Citation Envoyé par CinePhil Voir le message
    Que veux-tu dire par là ? Une combinaison de deux à plusieurs des couleurs de la première liste ou le traditionnel mélange de proportions de rouge, vert bleu ou... ?
    Ok, un exemple plus concret: un lecteur portable audio/video peut jouer different formats de musique: mp3, aac, wav, he-aac par example. Il est aussi compatible avec different type de "container", par exemple: mp4, 3gp, avi, m4v

    Je pensais avoir qq chose du style:
    une table "lecteur" peut avoir: lecteur_id, marque, model, revision
    une table (reference) contenant tous les formats: mp3, aac, wav, he-aac
    une table (reference) contenant tous les containers: mp4, 3gp, avi, m4v

    mon problem est que: 1 lecteur peut lire plusieurs formats differents, pareil pour les "containers".

    je vois bien qu'il faut d'une facon ou d'une autre lier les formats/containers a la table "lecteur" mais je ne sais pas comment...

    Merci!

  4. #4
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par lolo2011 Voir le message
    Citation Envoyé par CinéPhil
    Table couleur (clr_id, clr_nom)
    Là je coince... donc cette table est différente de la table de référence au-dessus? Comment sont elles liées?
    Non, c'est la table de référence des couleurs !


    Ok, un exemple plus concret: un lecteur portable audio/video peut jouer different formats de musique: mp3, aac, wav, he-aac par example. Il est aussi compatible avec different type de "container", par exemple: mp4, 3gp, avi, m4v
    Euh... ne sont-ce pas aussi des formats de fichiers comme les premiers ?

    Je pensais avoir qq chose du style:
    une table "lecteur" peut avoir: lecteur_id, marque, model, revision
    Oui mais en externalisant la marque et le modèle selon ce MCD :
    lecteur -1,1----modéliser----0,n- modele -1,1----fabriquer----0,n- marque
    Ce qui donne les tables :
    marque (mrq_id, mrq_nom...)
    modele (mdl_id, mdl_id_marque, mdl_nom...)
    lecteur (lct_id, lct_id_modele, lct_revision...)

    une table (reference) contenant tous les formats: mp3, aac, wav, he-aac
    une table (reference) contenant tous les containers: mp4, 3gp, avi, m4v
    Si tu veux vraiment séparer ces notions, tu as deux tables :
    format (frm_id, frm_libelle...)
    container (cnt_id, cnt_libelle...)

    mon problem est que: 1 lecteur peut lire plusieurs formats differents, pareil pour les "containers".
    Et bien tu as deux associations :
    lecteur -0,n----lire----0,n- format
    |-----------0,n----lire----0,n- container

    Ce qui donne en plus deux tables associatives :
    lct_lire_fmt (llf_id_lecteur, llf_id_format)
    lct_lire_cnt (llc_id_lecteur, llc_id_container)
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Août 2011
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2011
    Messages : 7
    Points : 0
    Points
    0
    Par défaut
    Merci, je vais réfléchir a tout ça.

    Au fait, nous n'utilisons pas tous des claviers azerty avec accès facile aux accents (ou un correcteur auto)

Discussions similaires

  1. Gérer une liste de diffusions
    Par oldos dans le forum Autres Logiciels
    Réponses: 3
    Dernier message: 07/06/2006, 16h51
  2. créer une liste de valeurs autorisées pour un champ
    Par elitol dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 01/06/2006, 17h37
  3. Filtre sur une liste de valeurs
    Par Death83 dans le forum Débuter
    Réponses: 3
    Dernier message: 07/05/2006, 00h39
  4. [Debutant]Remplacer une liste de valeur par une liste de val
    Par Sebbo dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 31/03/2006, 12h15
  5. Réponses: 2
    Dernier message: 29/03/2006, 18h47

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