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 :

Association reflexive ; modèle conceptuel/logique [Toutes versions]


Sujet :

Modélisation

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2013
    Messages : 74
    Points : 57
    Points
    57
    Par défaut Association reflexive ; modèle conceptuel/logique
    Bonjour,

    Je suis en train de developper un ebase de données qui sert à la comparaisons de différents modules. Pour faire simple dans ma base de doonnées, j'ai un certain nombre de modules avec des fiches de descriptions, ces modules doivent êtres comparés entre eux. Je dispose donc aussi d'une quantité importante de fiche de comparaisons.

    Dans mon modèle conceptuel, j'ai créé une entité modules avec plusieurs attributs dont en particulier sa clef (noté orderNumber). J'ai ajouté une association reflexive "est comparé à", de cardinalité 1..1 de chaque côté, avec en attribut la fiche de description.

    Mon premier problème se trouve là. Est ce une bonne solution de précédé par une association reflexive. de plius j'ai des doutes sur la cardinalité ; un module n'est comparé qu'à uin seul autre module à la fois, d'où le 1..1, mais un module peut être comparé a plein d'autres modules (différentes fiches à chaque fois). La relation ne serait elle donc pas 1..infini ?

    Lorsque je passe ensuite au modèle logique, je créer un table Module comparaison avec deux clefs #orderNumber1 et #orderNumber2. Ca ne me parait pas interdit, mais je rencontre énormement de difficulté à l'implémenter sur les relations dans ACCESS.
    Y a-t-il une façon d'utiliser ce modèle sur ACCESS ? Où peut être qu'il y a une solution beaucoup plus facile dans le modèle logique ?

    Je remercie d'avance tous ceux qui prendront le temps de m'aider !!

    p.s : je peux vous joindre une image de mes relations si ça peut vous aider à m'aider !

  2. #2
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Bonjour Kawaya,

    Citation Envoyé par Kawaya
    Est ce une bonne solution de précédé par une association reflexive ?
    ==> oui.

    Citation Envoyé par Kawaya
    de plus j'ai des doutes sur la cardinalité
    ==> tu as raison.

    Souligné=clé primaire, #=clé étrangère :
    Module(orderNumber, ...)
    Module_Comparer_Module(#orderNumber_Reference, #orderNumber_Compare, ...)
    Module -1---∞- Module_Comparer_Module -∞---1- Module_1
    Il faut ajouter deux fois la table Module (automatiquement suffixée par Access).

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2013
    Messages : 74
    Points : 57
    Points
    57
    Par défaut
    Merçi Richard,

    Au moins je suis rassuré j'ai pas besoin de revoir tout mon modèle !

    En fait si je me suis posé cette question c'est parce que j'utilise absolument pas la relation entre les table Modules et ModulesComparaison. La table ModulesComparison ne doit comporter que les modules ayant la même catégorie, une platforme différentes et doivent être utilisés dans le même projet.
    Pour remplir cette table j'utilise donc une succession de deux requêtes basé sur les tables necessaire, mais à aucin moiment je ne fais intervenir la relation entre les tables Modules et ModulesComparison.

    Le problème c'est que dans ces conditions j'ai rajouté à ma table ModulesComparison deux chamlps platforme (pour chaque module comparés) et un champ projet. Cependant ces champs sont accessibles à travers les relations (mais je n'arrive pas à m'en servir à bon escient).

    Je me demande donc s'il est possible d'ajouter ainsi des attributs à mon entité sachant que ces attributs sont déjà présents dans la BDd ?

  4. #4
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Beaucoup de choses, dans ce que tu dis... en résumé, ne mélangeons pas "modélisation" et "traitement". D'autre part, une modélisation pertinente est impérative !... sous peine de gros ennuis, à terme.

    Citation Envoyé par Kawaya
    j'utilise absolument pas la relation entre les table Modules et ModulesComparaison
    ==> n'as-tu pas besoin de stocker des informations propres à la comparaison ? (date de comparaison, ...)

    Citation Envoyé par Kawaya
    La table ModulesComparison ne doit comporter que les modules ayant la même catégorie, une plateforme différentes et doivent être utilisés dans le même projet.
    ==> un contrôle d'intégrité de la table ModulesComparison (trigger) pourrait être judicieux. En outre, le traitement devra présenter des listes déroulantes adaptées.

    Citation Envoyé par Kawaya
    Le problème c'est que dans ces conditions j'ai rajouté à ma table ModulesComparison deux chamlps platforme (pour chaque module comparés) et un champ projet. Cependant ces champs sont accessibles à travers les relations (mais je n'arrive pas à m'en servir à bon escient).

    Je me demande donc s'il est possible d'ajouter ainsi des attributs à mon entité sachant que ces attributs sont déjà présents dans la BDd ?
    ==> d'où l'intérêt d'une modélisation correcte. Catégorie, Plateforme et Projet semblent être des attributs de Module. Si c'est le cas, il ne faut surtout pas les recopier dans ModulesComparison.

    Categorie(IdCategorie, ...)
    Plateforme(IdPlateforme, ...)
    Projet(IdProjet, ...)
    Module(orderNumber, #IdCategorie, #IdPlateforme, #IdProjet, ...)
    ModulesComparaison(#orderNumber_Reference, #orderNumber_Compare, ...)

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2013
    Messages : 74
    Points : 57
    Points
    57
    Par défaut
    Je n'utilise pas vraiment d'informations propores à la comparaison, mais j'ai bien un problème d'intégrité quand j'utlise ma méthode décrite.

    J'ai donc supprimer tout les attributs en trop dans modulesCOmparaison et j'ai fait une belle requête utilisant la relation entre modules et modulesComparison pour arriver à mes fons... et ça marche.

    Merçi richard de m'avoir remis dans le droit chemin !

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

Discussions similaires

  1. Modèle conceptuel / logique de donnée
    Par Nico128 dans le forum Schéma
    Réponses: 2
    Dernier message: 04/02/2008, 15h36
  2. [Access 2003] Probleme avec une association reflexive
    Par softstar dans le forum Langage SQL
    Réponses: 7
    Dernier message: 17/08/2006, 13h43
  3. Modèle conceptuel de données
    Par strange-girl dans le forum Access
    Réponses: 2
    Dernier message: 08/07/2006, 20h08
  4. Logiciel de conception de modèle conceptuel et physique
    Par snoopy69 dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 05/10/2005, 10h30
  5. creation table association reflexive
    Par elea1206 dans le forum Requêtes
    Réponses: 2
    Dernier message: 05/08/2003, 17h30

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