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 :

Multi-société


Sujet :

Schéma

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 12
    Points : 8
    Points
    8
    Par défaut Multi-société
    Bonjour,

    une petite question sur ma conception d'une base de données multi-société.

    J'ai en fait les même entités/relations pour différentes sociétés.

    Vous faites comment pour prendre en compte le multi-scociété dans la conception (MCD) ?

    Vous faites votre MCD sans prendre en compte le concept du multi-société et après dans le MLD vous faites apparaître un code société pour chaque entité ?

    Par exemple j'ai 2 tables : Client / Facture qui découlent de l'association entre deux entités (Un client posséde de 0-n factures et une facture est excusivement lié à un client).

    Si je ne suis pas en multi-société j'aurai donc un MLD :
    client(no client, nom, prenom, adresse)
    facture(no facture, date, #no client)

    Le MCD est facile à dessiner.

    Mais si je suis en multi-société j'aurai voulu ceçi dans mon MLD :
    client(codesoc, no client, nom, prenom, adresse)
    facture(codesoc, no facture, date, #no client)

    Comment sur mon MCD je représente cela ?

    Merci

    Jean-Marc

  2. #2
    Membre éclairé Avatar de BizuR
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    688
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 688
    Points : 757
    Points
    757
    Par défaut
    pour mieux completer ce mcd, qu'appelle tu multi societe ?
    une societe a plusieurs client ou bien un client peut provenir de plusieurs societes (vrp par exemple) ?!?
    See you, space cowboy... and if you're satisfied, click on

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    > pour mieux completer ce mcd, qu'appelle tu multi societe ?
    > une societe a plusieurs client ou bien un client peut provenir de
    > plusieurs societes (vrp par exemple) ?!?

    Pour mon cas une société a de 0 à n clients. Mais justement j'avais commencer à modéliser dans ce sens. Mais ça ne collait pas avec le besoin

    On veut avoir une nuérotation du code client par type de société. Donc le code client ne peut être la clé unique. Il faut l'associer au code_societe.

    Mais pour la facture c'est pareil. Le numéro est unique par Société mais peut-être le même pour des société différentes. Je me retrouve donc dans mon modèle logique avec une clé (no_facure, cod_societe). Or comme j'ai un lien d'association avec le client, je me retrouve dans la table facture avec la clé de la table client. Donc à nouveau code_soc !!!

    Suis-je clair ?

    Merci

    Jean-Marc

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    31
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 31
    Points : 27
    Points
    27
    Par défaut
    Creer une entité TypeCatSociete et en Attribut CodeTypeSociete associe la avec ta table societe. Déja sa t'aidera pour les multi-société
    Je n'invente rien, je redécouvre.....(Rodin)
    [Faq VB], [Source VB]
    http://membres.lycos.fr/bozec/bansms.gif

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    > Creer une entité TypeCatSociete et en Attribut CodeTypeSociete
    > associe la avec ta table societe. Déja sa t'aidera pour les multi-société


    Comprends pô

    Ce que je veux (et le multi-société est un cas concret) c'est pouvoir enregister dans ma base des données de la société SOC1 et d'autres de la société SOC2. Sachant que SOC1 a par exemple un client numero 156 mais que j'ai aussi un client numéro 156 pour SOC2. La clé d'unicité doit donc porter le code société.
    Mais même raisonnement pour les factures. Sachant qu'en plus Facture porte comme clé étrangère (du fait de son association) la clé de Client.

    Exemple :

    Client: (la clé étant CodeSoc, CodeClient)
    CodeSoc__CodeClient___Nom
    SOC1_______156_______Titi
    SOC1_______136_______Toto
    SOC2_______156_______Tata

    Facture: (la clé étant CodeSoc, CodeFacture)
    CodeSoc ___CodeFacture___Montant____CodeClient
    SOC1________15689______1500.00_______156
    SOC1________35895_______520.00_______136
    SOC2________15689______3500.00_______156

    Je fais donc bien du multi-société. C'est à dire que je stocke dans ma base aussi bien les enregistrements de la société SOC1 que SOC2. Elle n'ont aucuns liens entre elles, hormis leur structure de SGBD.

    Donc je vois bien comment construire ma base physiquement mais comment ça se représente conceptuellement dans un MCD ?

    Jean-Marc

  6. #6
    Membre éclairé Avatar de BizuR
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    688
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 688
    Points : 757
    Points
    757
    Par défaut
    ah, tout de suite on y voit plus clair

    bah je serait toi, si tu met qu'une client appartient a une et une seule societe, ne modelise pas ce probleme dans ton MCD, par contre, si il peut appartenir a plusieurs entreprises (que tu geres , par exemple mr tructruc qui a acheté a SOC1 et SOC2 ...) met une triple association entre client, societe et facture ...
    Cela dit, ce qui te pose probleme apparemment c que SOC1 et SOC2 ont chacun leur codes personnels et que le client 156 des deux etp n'est pas forcement le même ... dans ce cas, tu peux tjs changer ton mld de la sorte :

    Client(id_clt_base, #id_soc, cod_clt_etp)
    Facture(id_facture, #id_clt_base)

    qu'en penses tu ?
    See you, space cowboy... and if you're satisfied, click on

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    > qu'en penses tu ?

    Je comprends ta solution mais ce n'est pas ça le problème

    Quand je dis Multi-société ce n'est pas le concept Société qui est pris dans le sens Société = Nom de l'entreprise.

    Si j'emplois un autre terme ce serait qu'avec la même base de données (c'est à dire unique physiquement : sur un même serveur et dans les même tables) je veux pouvoir stocker des données qui proviennent de Sociéte ou Entreprise différente.

    Par exemple je developpe un logiciel de gestion des payes GesPaie pour la société Micro$ et Broland (toute analogie avec des sociétés existantes serait fortuite ).

    Ce logiciel est fait en client léger via une interface Web. La base pour ces deux société (mais ce n'est pas leur probléme) est stockée sur mon serveur de donnée à moi que j'ai à ma maison sur mon serveur de SGBD 8).

    Je veux donc pouvoir stocker les enregistrements de Micro$ et Broland dans les mêmes fichiers sans que ça ne leur pose de probléme sur des conflits de clé inter-société.

    C'est à dire que Micro$ peut avoir l'individu no 156 mais Broland aussi alors qu'il ne s'agit pas de la même personne évidemment !

    Il y a peut-être un autre terme pour ce concept de multi-société.

    Je pense qu'en définitif mon MCD ne modélise pas ce concept mais par contre c'est dans mon MLD que j'ajouterai un CodeSociété sur les tables suceptibles d'être en conflit après génération automatique à partir de mon MCD. Mon MPD sera alors juste

    Jean-Marc

  8. #8
    Invité
    Invité(e)
    Par défaut
    heu, je ne voudrais pas passer pour un imbécile, mais puisque ton but est de développer un logiciel de gestion de paie, quelque soit l'entreprise, le multi société n'a rien n'a faire ici. La Seule chose évidente est au niveau de ta gestion de BD : faire 2 instances, une pour chaque société...
    Pourquoi vouloir tout mettre dans la même bd alors que tes sociétés ne sont pas les mêmes...

    Mais bon je n'ai pas la science infuse

    CARPE DIEM

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    > Pourquoi vouloir tout mettre dans la même bd alors que tes sociétés
    > ne sont pas les mêmes...


    Je m'attendais un peu à cette proposition

    Mais imagine que Micro$ et Broland fasse partie du même groupe. Les grands gourous du groupe eux ne veulent voir qu'une base de donnée Pour eux qu'il s'agisse des données de Mirco$ ou de Broland, ils veulent manipuler l'ensemble des données ...

    Jean-Marc

  10. #10
    Membre éclairé Avatar de BizuR
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    688
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 688
    Points : 757
    Points
    757
    Par défaut
    Je pense avoir bien compris ton probleme, tu veux que les etp puissent consulter leurs fiches clients ou factures en saisissant leur id_client perso et en ne créant aucun conflit avec les autres etp de la mm base... ?

    et bien dans ce cas la solution que j'ai indiquée ne me semble pas ininteressante ...

    <rappel :
    Client(id_clt_base, #id_soc, cod_clt_etp)
    Facture(id_facture, #id_clt_base)
    />

    l'id_clt_base sera alors transparent pour l'entreprise qui consulte, mais en se loggant sur le site pour consulter facture etc... tu met un filtre (id_societe) sur tes tables en selectionnant les clients concernés et affichant les vues suivantes a l'entreprise

    facture_$nom_etp(id_facture, id_clt_etp, montant, ...) (jointure entre tes tables facture et client)
    client_$nom_etp(id_clt_etp, nom, ...)

    tu ne penses pas que ca resolve ton probleme ?

    et du cote MCD ainsi tu conserves juste une liaison simple entre client et facture car chaque client est identifie par ce num_base seulement visible par la BD

    enfin, certes je m'obstine dans mon idée mais je ne pense pas qu'elle soit mauvaise ... ou alors explique moi juste en quoi elle est erronée si c'est le cas ;p
    See you, space cowboy... and if you're satisfied, click on

  11. #11
    Membre éclairé Avatar de BizuR
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    688
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 688
    Points : 757
    Points
    757
    Par défaut
    ah et pour les super utilisateurs, tu leur donnes des droits d'acces a l'ensemble de la base ... eux auront alors ces id_client_base ...
    mais je ne pense pas que ca leur pose de réel soucis de fonctionner ainsi, au pire tu ne les affiche toujours pas dans les vues mais tu precises alors la societe (ou filiale) avec le code client ...
    See you, space cowboy... and if you're satisfied, click on

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 12
    Points : 8
    Points
    8
    Par défaut [Résolu]
    > enfin, certes je m'obstine dans mon idée mais je ne pense pas qu'elle
    > soit mauvaise ... ou alors explique moi juste en quoi elle est erronée si
    > c'est le cas ;p

    Bah tu as bien fait d'insister car je n'avais pas bien compris ce que tu voulais faire dans ton premier post et effectivement à la relecture du deuxième, ta solution me plait bien !!!

    J'étais embrouillé avec ta notion d'entreprise que je n'avais pas soumis. Mais quand j'ai compris qu'entreprise = société, tout s'est éclairé

    Faut que je regarde pour le reste de mon modéle mais ça me plait bien

    Merci beaucoup

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

Discussions similaires

  1. Une erreur 233 de ms sql server
    Par Hokage dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 05/10/2009, 17h40
  2. Erreur 233 sous sql server
    Par brajae85 dans le forum Oracle
    Réponses: 3
    Dernier message: 18/05/2009, 16h12
  3. Réponses: 2
    Dernier message: 05/10/2004, 22h43

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