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

Modélisation Discussion :

Selon réponse, remplir une table mais pas les autres


Sujet :

Modélisation

  1. #1
    Membre habitué
    Homme Profil pro
    Data Manager
    Inscrit en
    Octobre 2013
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Data Manager
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2013
    Messages : 151
    Points : 167
    Points
    167
    Par défaut Selon réponse, remplir une table mais pas les autres
    Bonjour,

    Je suis en train de concevoir une base de question/réponse. (Il s'agit de ma seconde base...)

    J'ai défini une table MD_QUESTION me permettant de stocker entre autres le numéro d'ordre de la question et la question elle-même. Cette table est liée à une table de réponse MD_REPONSE.
    Parmi les caractéristiques des réponses, j'ai notamment un type : les réponses peuvent être des nombres, des textes, etc... J'ai défini une table de type MD_TYPE liée à la table MD_REPONSE.
    Selon le type de la réponse choisi, je veux saisir des données propres au type de réponse. Par exemple si c'est un nombre, je veux les valeurs extrêmes possibles pour la réponse. Dans ce but, j'ai créé une table par type de réponse MD_NUM, MD_TEXTE, etc... dans lesquelles je stocke les caractéristiques propres au type de réponse. Ces tables sont liées à la table MD_REPONSE.

    Le problème est que si je veux une réponse numérique, je ne veux remplir que la table MD_NUM, pas la table MD_TEXTE. Or avec le schéma que j'ai imaginé, je dois remplir toutes mes tables de type de réponse.

    Quelles solutions s'offrent à moi ? Je pourrais abandonner mes tables par type de réponse (MD_NUM, MD_TEXTE, etc...) et basculer les champs des ces tables dans la table MD_REPONSE et ne remplir que ceux correspondant au type de réponse choisi. Mais je ne trouve pas ça très propre... Après l'hygiène est une chose très personnelle.

    Bref, auriez-vous des idées, des commentaires sur ce choix et sur la manière de résoudre cette difficulté ?

    Merci d'avance !
    Laurent

    PS : voici une image des relations entre tables. C'est peut-être plus parlant qu'un long texte...

  2. #2
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 869
    Points : 3 448
    Points
    3 448
    Par défaut
    Bonjour laurent_42,

    Avec ton modèle de données, une même réponse pourrait avoir plusieurs questions. Est-ce possible?
    Le problème est que si je veux une réponse numérique, je ne veux remplir que la table MD_NUM, pas la table MD_TEXTE. Or avec le schéma que j'ai imaginé, je dois remplir toutes mes tables de type de réponse.
    Tu pourrais ajouter dans la table MD_REPONSE un champ MD_NUM_FK et ce serait lui qui fait le lien avec ta table MD_NUM et la même chose pour les 2 autres tables.

    Bonne chance
    Ce qui se conçoit bien s’énonce clairement et les mots pour le dire arrivent aisément. Nicolas Boileau
    Si tout est OK, n'oubliez pas de cliquer sur

  3. #3
    Membre habitué
    Homme Profil pro
    Data Manager
    Inscrit en
    Octobre 2013
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Data Manager
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2013
    Messages : 151
    Points : 167
    Points
    167
    Par défaut
    Bonjour Robert1957

    Merci pour ta réponse.

    Citation Envoyé par Robert1957 Voir le message
    Avec ton modèle de données, une même réponse pourrait avoir plusieurs questions. Est-ce possible?
    Dans une première version du modèle oui. Par exemple les questions "Est-ce que l'on est dans le cas Truc ?" et "Est-ce que l'on est en 2014 ?" ont toutes 2 comme réponse un choix OUI/NON. Donc formellement la réponse peut-être la même à la même question. Je rappelle que je travaille sur une méta base dans laquelle les données sont les questions et les réponses possibles (je ne travaille pas sur la base où les données seront les réponses aux questions).

    Depuis j'ai rajouté deux champs dans la table MD_REPONSE, à savoir REP_TABLE et REP_VAR qui contiennent pour l'une le nom de la table dans laquelle sera stockée la réponse à la question et le nom de la variable qui enregistrera la réponse à la question.

    Donc suite à cette modification, jamais une seule réponse ne correspondra à plusieurs questions puisque REP_VAR devra être toujours différent. En fait j'ai une relation 1/1.

    Citation Envoyé par Robert1957 Voir le message
    Tu pourrais ajouter dans la table MD_REPONSE un champ MD_NUM_FK et ce serait lui qui fait le lien avec ta table MD_NUM et la même chose pour les 2 autres tables.
    En fait ces champs supplémentaires remplaceraient mon champ unique REP_ID_SPE. J'aurai un champ supplémentaire par type de réponse possible. C'est bien ça ?

    Merci en tous les cas pour ton aide !

    Laurent

  4. #4
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 869
    Points : 3 448
    Points
    3 448
    Par défaut
    Bonjour laurent_42,

    En fait ces champs supplémentaires remplaceraient mon champ unique REP_ID_SPE. J'aurai un champ supplémentaire par type de réponse possible. C'est bien ça ?
    Oui c'est exactement cela. J'avais cru comprendre que tu voulais fonctionner avec des métas données, je n'étais pas certain. Je ne fonctionne pas avec ce type de données mais je sais de quoi il en retourne. Je ne peux te dire si ton modèle est bien pour cela mais j'ai un doute, normalement on type les données dans une seule table.

    Si j'étais toi je soumettrais mon modèle de données en posant la question sur le forum, à savoir si ton modèle de données est cohérent avec des métas données.

    Bonne chance
    Ce qui se conçoit bien s’énonce clairement et les mots pour le dire arrivent aisément. Nicolas Boileau
    Si tout est OK, n'oubliez pas de cliquer sur

  5. #5
    Membre habitué
    Homme Profil pro
    Data Manager
    Inscrit en
    Octobre 2013
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Data Manager
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2013
    Messages : 151
    Points : 167
    Points
    167
    Par défaut
    Bonjour,

    Merci Robert1957 pour ces commentaires.

    Je clos la discussion pour ce post et je vous envoie plus de précision sur ce que je souhaite faire et le modèle que j'ai imaginé dans la foulée.

    A bientôt...

    Bonne journée
    Laurent

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 18/03/2009, 19h31
  2. Remplir une table avec toutes les dates de l'année
    Par sialafrere dans le forum WinDev
    Réponses: 6
    Dernier message: 02/05/2008, 16h45
  3. Ce qui est dans une table mais pas dans l'autre !
    Par youyoule dans le forum Requêtes
    Réponses: 4
    Dernier message: 30/12/2007, 12h57
  4. Réponses: 3
    Dernier message: 14/03/2006, 11h34
  5. Réponses: 4
    Dernier message: 18/01/2006, 14h49

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