|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : janvier 2008 Messages : 20 ![]() |
Bonjour,
Je suis confronté au problème suivant : - 1 société a 1 ou plusieurs sites - 1 contact appartient à la société ou à un des sites de la société. S'il appartient à la société, je peux également le considérer comme appartenant à chacun des sites constitutifs de la société. le cas contraire n'est pas vrai (un contact appartenant à un site n'appartient pas pas à la société). Je n'ai pas compris la disctinction entre le Siège et la Société (et donc entre IDSiège et IDSociete) dans les discussions préalables. Pour ma part, je considère que Siège et Société sont identiques. Sinon, pouvez-vous m'indiquer la distinction que vous faites? A partir de là, je suis donc parti du fait que je n'ai besoin que des tables suivantes: T_Societe: IDSite Nom Adresse, CP, Ville... IDSociete T_Contacts: IDContact Nom Prenom tel, mail, ... IDSite Je considère alors que si je crée un site, par défaut IDSociete=IDSite (je crée une société dont le siège est sur le site). Ensuite, je réaffecte si besoin le site créé à une société déjà existante dans la table T_Societe. dans ce cas, IDSociété diffère de IDSite. Que pensez-vous de cette démarche de modélisation? Par contre, une fois que je suis là, j'ai un souci IHM. Avant de poster dans IHM (en gros, je n'arrive pas à créer une société avec par défaut IDSociete=IDSiège, dans le formulaire de création, en cours de création), pouvez-vous valider cette modélisation (1 seule table qui permet de lier les Sites aux sociétés)? Merci par avance. Cordialement, |
|
|
00
|
|
|
#2 | |
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 410 ![]() |
bonjour,
Citation:
Site(idSite, NomSite, AdresseSite, CPSite,VilleSite) Un site peut avoir un site dans le rôle de site mère (le siège). Un site mère peut avoir plusieurs sites (des filiales). ![]() ![]() ![]() les sites 2 et 3 sont des filiales du site 1. Si on tolère la présence de champs vides gaspilleurs d'octets, on peut simplifier le modèle: ![]() ![]() après il y a plus qu'à: Contact-∞--------1-Site |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : janvier 2008 Messages : 20 ![]() |
Bonjour F-leb,
Merci pour vos commentaires. Dans mon modèle, je ne garde qu'une table T_Societe et j'affecte un ID Site Mère au ID Site. Le ID Site Mère peut être égal à ID Site (le siège de l'entreprise et le site de fabrication sont au même endroit). Dans le cas contraire, ID Site Mère et ID site sont distincts (le siège social est à un endroit et il y a plusieurs sites de fabrication à différentes adresses). Je souhaite savoir si le modèle que je propose est valide. Auquel cas, quels sont les avantages et inconvénients de chaque modèle? Dans le modèle que vous proposez, j'ai l'impression que l'on crée 2 tables (Site et Site1) qui contiennent les mêmes données que l'on relie ensuite. Pour la partie Contacts, pas de soucis. A nouveau merci par avance, Cordialement, |
|
|
00
|
|
|
#4 | |
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 410 ![]() |
bonjour betauser
Citation:
Pour cela, il suffit effectivement d'ajouter une deuxième fois la table Site qui apparaît sous le nom Site_1 mais don't worry, il ne s'agit que d'une représentation schématique et au niveau physique il n'y a qu'une seule table Site. Ton schéma est donc identique à mon 2ème schéma. A la différence que pour indiquer qu'un site est un siège tu fais idSiteMere=idSite alors que moi dans ce cas j'ai idSiteMere=Null (champ vide). Je n'ai pas réfléchi aux conséquences de faire comme tu fais (mmmhh, un site qui s'auto-référence) mais le schéma que j'ai proposé est classique, robuste et éprouvé (les sites mères sont ceux ou idSiteMere=Null). |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : janvier 2008 Messages : 20 ![]() |
Re-bonjour,
C'est fou comment la représentation visuelle peut simplifier ou au contraire "enduire d'erreur"... C'est maintenant clair. Je laisse tomber la solution IDSite = IDSiteMère, si cela crée plus de questions que de réponses . Merci encore. Je clos la question. Cordialement, |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com