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 :

Soucis de modélisation conceptuelle des données


Sujet :

Schéma

  1. #1
    Nouveau membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2010
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 58
    Points : 27
    Points
    27
    Par défaut Soucis de modélisation conceptuelle des données
    Bonjour,

    Je suis actuellement dans un petit casse tête et je cherche à le résoudre.

    En effet je possède :

    Une table facture qui sera utilisé pour générer la feuille de facture à envoyer à la personne concernée.

    Une table commanditaire qui sera la ou les personnes qui payent la facture.

    une table financeur, il s'agit de l'organisme qui paye une partie ou la totalité de la facture.

    Une table client qui représente la personne qui paye le reste de la facture.

    Mon gros problème est que je n'arrive pas à modéliser la notion suivante :

    Un commanditaire est soit un client soit un financeur.

    La table commanditaire doit se remplir avec les informations de client si c'est le client qui paye, elle doit se remplir avec financeur si c'est le financeur qui paye.

    j'ai pensé à une exclusion mutuelle entre les tables client et financier (idclient doit être différent de idfinanceur)

    Du coup la table commanditaire se remplirait avec soit l'id du client soit l'id du financeur concerné.

    Mais le problème est, comment modéliser tout ça ?

  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
    Tu parles de modélisation conceptuelle mais tu as déjà des tables ; n'aurais-tu pas mis la charrue avant les boeufs ?

    Une table facture qui sera utilisé pour générer la feuille de facture à envoyer à la personne concernée.

    Une table commanditaire qui sera la ou les personnes qui payent la facture.
    Commanditaire -0,n----Payer----1,n- Facture

    Un commanditaire est soit un client soit un financeur.
    Ça ressemble fort à la modélisation d'un héritage :

    Client -(1,1)----Etre----0,1- Commanditaire
    Financeur -(1,1)----Etre----0,1------|

    Avec une exclusion entre les deux associations.

    À toi de voir si ça colle avec le reste du MCD.
    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 membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2010
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 58
    Points : 27
    Points
    27
    Par défaut
    Tu parles de modélisation conceptuelle mais tu as déjà des tables ; n'aurais-tu pas mis la charrue avant les boeufs ?
    Je ne suis qu'a la modélisation, mes tables n'ont pas encore étés crées.

    Si je met en place un héritage de tel manière (cf pièce jointe)


    Les tables filles (client et financeur) hériteront des attributs de commanditaire.
    Ce que j'aimerais c'est que l'idCommanditaire soit l'id du client ou bien l'id du financeur, à partir du moment ou celui ci règle la facture
    Images attachées Images attachées  

  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
    Donc le schéma est plutôt celui-ci :
    Client -0,n----Etre----0,1- Commanditaire -1,n----Payer----0,n- Facture
    Financeur -0,n----Etre----0,1------|

    Le couple de cardinalités {(0,n) - (0,1)} implique normalement la création d'une table associative, comme pour le couple {(0,n) - (0,n)}.

    Ne serait-il pas alors plus simple de faire directement deux associations Payer en supprimant l'entité Commanditaire ?

    Client -0,n----Payer----0,n- Facture
    Financeur -0,n----Payer----0,n---|
    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 membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2010
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 58
    Points : 27
    Points
    27
    Par défaut
    Merci de ton aide,

    Je vais créer un statuts spécial dans la table financeur "autofinancement" qui correspondra au client qui agit en tant que financeur.

    Merci de ton temps

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 10/01/2014, 19h37
  2. Réponses: 6
    Dernier message: 26/06/2013, 16h46
  3. Réponses: 6
    Dernier message: 13/12/2010, 20h20
  4. dessiner un Modèle Conceptuel des Données
    Par hous04 dans le forum Outils
    Réponses: 1
    Dernier message: 04/12/2008, 00h10
  5. Pb avec Modèle conceptuel des données.
    Par Ripps dans le forum Access
    Réponses: 2
    Dernier message: 19/01/2007, 14h56

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