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 :

Problème cohérence sur donnée facultative [MLD]


Sujet :

Schéma

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 80
    Points : 33
    Points
    33
    Par défaut Problème cohérence sur donnée facultative
    Bonjour,

    J'ai un problème que je n'arrive pas à résoudre :
    * J'ai un dossier qui appartient à une société.
    * Ce dossier est rattaché à une banque
    * Une banque possède des comptes, qui peuvent appartenir à diverses sociétés
    * Le dossier peut être ou non rattaché à un compte.

    Dans mon MCD actuel, on accepte n'importe quel compte, alors que je voudrais qu'on ne puisse en sélectionner qu'un faisant partie de banque/société renseigné dans la table dossier.

    Il doit me manquer une relation, mais je suis perdu (cf pièce jointe)

    Si quelqu'un pouvait m'aider

    Cordialement
    Images attachées Images attachées  

  2. #2
    Membre éprouvé Avatar de Oishiiii
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2009
    Messages
    508
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Août 2009
    Messages : 508
    Points : 1 104
    Points
    1 104
    Par défaut
    Bonjour,

    Je ne comprend pas très bien cette partie :
    Dans mon MCD actuel, on accepte n'importe quel compte, alors que je voudrais qu'on ne puisse en sélectionner qu'un faisant partie de banque/société renseigné dans la table dossier.
    Pouvez-vous nous donner plus de d'explication sur ce qui pose problème ?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 80
    Points : 33
    Points
    33
    Par défaut
    Merci de votre intervention.
    Ce que je voudrais modéliser c'est que une fois la banque et la société choisie, on ne puisse choisir qu'un compte appartenant en même temps à la banque et à société/compte.

    ex :
    banques : BNP, SGN

    comptes BNP001 BNP002 SGN001 SGN002

    ste STE01 STE02 STE03


    Dossiers : DOS01 - STE01 DOS02 - STE01 DOS03 - STE02


    ensuite société/comptes BNP001 - STE01 BNP001 - STE02 BNP002 - STE002


    dans cet exemple le compte BNP002 n'appartient pas à la société STE01


    donc sis je dis dossier DOS01 - STE01 - BNP j'aimerais n'avoir pour choix de compte que BNP001

    par contre pour DOS03-STE02-BNP
    dans mon exemple (sociétés/comptes) STE02 peut choisir BNP001 ou BNP002


    Pour résumer, si je ne suis pas très clair, je veux choisir pour un dossier une banque et une société puis éventuellement un compte bancaire pour lequel j'ai au préalable effectué une association STE/compte

  4. #4
    Membre éprouvé Avatar de Oishiiii
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2009
    Messages
    508
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Août 2009
    Messages : 508
    Points : 1 104
    Points
    1 104
    Par défaut
    Pour chaque Dossier, vous voulez que le couple (id_compte/id_societe) soit obligatoirement présent dans la table Compte_has_societe ?

    Cela serait représenté par une contrainte de clé étrangère comme ceci :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ...   CONSTRAINT fk_compte_societe FOREIGN KEY (id_compte,id_ste)
                      REFERENCES compte_has_societe(id_compte,id_ste)

  5. #5
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 596
    Points : 56 682
    Points
    56 682
    Billets dans le blog
    40
    Par défaut
    Bonsoir
    * J'ai un dossier qui appartient à une société.
    * Ce dossier est rattaché à une banque
    * Le dossier peut être ou non rattaché à un compte.
    Le « ou non » m’interpelle,

    Est-ce qu’un dossier appartenant à une société peut être rattaché à une banque même si la société n’a pas de compte dans cette banque. C’est possible ça ?

    Il y a-t-il une raison particulière pour qu’un dossier d’une société soit rattaché à une banque, mais pas à un compte de cette banque ?

    Si non, ne pourrait-on pas reformuler plus simplement les règles de gestion en :
    Un dossier est rattaché à un compte d’une société ? (voir solution proposée par Oishiiii dans ce cas)

  6. #6
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 001
    Points : 30 899
    Points
    30 899
    Billets dans le blog
    16
    Par défaut
    Bonsoir à tous,


    Aux observations près de f-leb dont l’œil d’aigle voit tout, la proposition d’Oishiiii est pertinente, car elle permet de raccrocher un dossier à un couple {Société, Compte} existant. Le compte ainsi déterminé est unique (du fait de la dépendance fonctionnelle id_dossier id_compte vérifiée par la table dossier). il suffit donc de brancher dossier sur compte_has_societe et de débrancher dossier et compte, la relation Rel_10 faisant désormais double emploi..
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

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

Discussions similaires

  1. [XL-2003] Problème pour envoyer données sur internet
    Par coklin dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 05/08/2009, 17h27
  2. Problème de cohérence de données lors de suppression d'une ligne
    Par Alphadjo dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 30/06/2008, 20h07
  3. Réponses: 8
    Dernier message: 10/04/2008, 15h24
  4. Problème d'accès données sur serveur externe
    Par clegosles dans le forum IIS
    Réponses: 0
    Dernier message: 21/02/2008, 11h03
  5. Problème envoie de données sur le port Serie
    Par petiteso dans le forum C#
    Réponses: 6
    Dernier message: 06/12/2007, 13h33

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