Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Modélisation
Modélisation Le forum qui vous aide à résoudre vos questions relatives à la modélisation (tables et relations) de votre base de données sous Access. Pour les états et les formulaires, postez dans le forum IHM.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/06/2011, 23h34   #1
Membre du Club
 
Inscription : octobre 2005
Messages : 304
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 304
Points : 59
Points : 59
Par défaut Mauvaise modélisation ?

Bonjour, je suis en train de créer une base de donnée et je crois que j'ai un petit probleme au niveau de la modelisation.
Je me retrouve avec une table qui contient des clé étrangères et en fait dans certain cas la clé étrangère peu ne pas etre renseigné. Est-ce grave ?

je pense que les cardinalités sont 1,1 et 0 1


mais je suis meme pas sur de mes cardinalités.
est ce que quelqu un pourrait m'aider ?
_developpeur_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2011, 03h09   #2
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 616
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 616
Points : 30 954
Points : 30 954
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Bonjour

Tu devrais mettre une copie d'écran de ta fenêtre relation, cela aidera à mieux comprendre.

Une clé étrangère est en général la clé primaire d'une autre table, donc un information important pour qualifier un enregistrement de ta deuxième table.

Si c'est grave docteur, je dirais oui dans un premier temps, mais il faudrait plus d'informations sur le contenu de ta base.

Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.

Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2011, 12h11   #3
Membre du Club
 
Inscription : octobre 2005
Messages : 304
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 304
Points : 59
Points : 59
Bonjour Philippe merci pour ta réponse, je fais untest pour voir si j arrive a mettre une cioie decran
Fichiers attachés
Type de fichier : htm .htm (166 octets, 19 affichages)
_developpeur_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2011, 12h33   #4
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 805
Points : 2 805
Bonjour _developpeur_ et Philippe,

En premier lieu, la pièce jointe est illisible.

D'autre part,
Citation:
Envoyé par _developpeur_
Je me retrouve avec une table qui contient des clé étrangères et en fait dans certain cas la clé étrangère peu ne pas etre renseigné. Est-ce grave ?
je pense que les cardinalités sont 1,1 et 0 1
==> Exact, pour la relation que tu indiques. Donc, nous avons :

Table1 :
- Id_Table1 (clé primaire)
...

Table2 :
- Id_Table2 (clé primaire)
- Id_Table1 (clé étrangère sur Table1 pouvant être nulle)
...

Relation Merisienne (que tu indiques fort justement)
Table1 ---(1,n)---[est lié à]---(0,1)--- Table2

Relation Access
Table1 1 ---∞ Table2, via Id_Table1

Je me permets de "rebondir" sur
Citation:
Envoyé par Philippe
Si c'est grave docteur, je dirais oui dans un premier temps, mais il faudrait plus d'informations sur le contenu de ta base.
==> dans Access, c'est "moins grave" que dans les autres SGBD... cela est dû à la simplification des relations qui est évidente dans la représentation graphique.
En clair, dans le formulaire qui gère Table2, tu auras une liste déroulante qui propose les enregistrements de Table1, avec possibilité de ne rien choisir (Table2.Id_Table2 = Null).
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2011, 15h15   #5
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 2 415
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 41
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 2 415
Points : 4 446
Points : 4 446
Bonjour à tous,

Le diagnostic n’est pas clair…

A-t-on des cardinalités 0,1---1,1 ?

Par exemple :
Citation:
Commande---0,1---être---1,1---CommandeAnnulee
Une commande peut être annulée et si elle l’est, elle ne peut l’être qu’une seule fois. Une commande annulée est forcément associée à une et une seule commande.


Comme plusieurs clés étrangères peuvent être à Null, il se peut aussi que l’on ait affaire à plusieurs associations 0,1---0,n, par exemple :

Citation:
Emprunt---0,1---EmprunterAmi---0,n----Ami
|
|
|
+--------0,1----EmprunterBanque---0,n----Banque
Un emprunt pouvant être effectué auprès d’un ami ou d’une banque (forcément l’un ou l’autre mais pas les deux à la fois).


On attend donc la pièce-jointe (une image au format jpeg ou png ferait l'affaire) pour voir l’état du malade…
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2011, 20h09   #6
Membre du Club
 
Inscription : octobre 2005
Messages : 304
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 304
Points : 59
Points : 59
Bonjour à tous merci de vos réponse. A lire vos commentaires on peut très bien laisser une clé etrangere vide. D ailleurs j ai posé cette question car tout betement en laissant vide le champs de la clé etrangere, access ne dit rien ... c est pour ça que j ai posé la question. par contre si on renseigne une clé etrangere qui n'est pas dans la table reliée a cette clé etrangere la il est poas content, normal...


Voici mon model ci dessous :

maintenant quelques explications; je vais essayer d etre clair. les 4 tables NiveauActivité 1 2 3 et 4 caractérisent en fait une activité, mais une activité peut avoir un niveau de détail plus ou moins détaillé.

autrement dit, il se peut que l'on n'est rien dans les tables niveau 3 et niveau 4.

Niveau Activité 1 N A 2 N A 3 N A 4
Projet /Projets Client /Projet P1 /Développement
Recurrente /Supervision
Projet /Enveloppe Avant Projets /Avant projet C 1


Vous remarquerez que pour la deuxieme ligne, le regroupement "activité" recurrente /Supervision n'a pas de niveau de détail 3 et 4...


Vous remarquerez que pour la troisieme ligne, le regroupement "activité" Projet /Enveloppe Avant Projets /Avant projet C 1 n'a pas de niveau de détail 4...


Ensuite, la table AssociationActiviteService permet d'associer le regroupement "Activité" a un ou plusieurs service et d'effectuer une facturation pour cette association.

On arrive au probleme cité ci-dessus, pour le regroupement "activité"
Projet Projets Client Projet P1 Développement
pas de probleme toutes les clés étrangeres de la table association sont renseignées.

pour le regroupement "activité"
Recurrente Supervision
pas de clé etrangeres renseignées dans la table association pour les IDniveau3 et IDNiveau4

pour le regroupement "activité"
Projet /Enveloppe Avant Projets /Avant projet C 1
pas de clé etrangeres renseignées dans la table association pour IDNiveau4

Je me demande donc si la modélisation est bonne. Ca fait trois jours que je réfléchi et je ne trouve pas d'autre maniere si ce n'est de créer tout simplement une table Activité avec un idetifiant activité et quatres propriétés niveauActivité1 niveauActivité2 niveauActivité3 et niveauActivité4
avec des champs vide quand on a pas de niveau de détail 3 et 4.

Ca serait plus simple pour la tables association puisque ce serait juste l'identifiant activité qui y serait présente.
Par contre ça ferait des redondances dans la table activité, on retrouverait selon mon exemple deux fois le niveau activté 1 Projet. Plusieurs fois les niveau 2 également etc...

Voila j'espere avoir été clair et j'attends vos avis, est ce que la modélisation est bonne est ce que c'est grave si les clé etrangeres ne sont pas toujours renseignées dans la tables associations ...
Images attachées
Type de fichier : jpg relation0.jpg (138,4 Ko, 15 affichages)
_developpeur_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2011, 20h16   #7
Membre du Club
 
Inscription : octobre 2005
Messages : 304
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 304
Points : 59
Points : 59
Richard et Leb, je me suis trompé sur les cardinalités nous avons en fait des cardinalités 0 N , 0 N entre les tables NiveauActivité1 2 3 et 4 et la table service d'ou la création de la table Association Activité / Service...
_developpeur_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2011, 21h37   #8
Membre du Club
 
Inscription : octobre 2005
Messages : 304
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 304
Points : 59
Points : 59
oops oops, en saisissant les données dans les tables je me suis rendu compte qu'en faite entre les tables NiveauActivite3 et NiveauActivite4, ce sont des cardinalitées 0 N 0 N....

du coup je dois créer une table intermédiaire que je vais appeller RegroupementNiveau3Niveau4 et qui contiendra l'ID de niveauActivite3 ainsi que l'ID de niveauActivite4.

est-ce que ça change quelque chose au probleme ? je ne sais plus. Comment relier NiveauActivite3 , NiveauActivite4 ou RegroupementNiveau3Niveau4 a AssociationActiviteService ?


Les ID de niveau3 et Niveau4 ou bien une clé primaire que je dois créer dans RegroupementNiveau3Niveau4?

merci de votre aide..
_developpeur_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2011, 22h32   #9
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 2 415
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 41
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 2 415
Points : 4 446
Points : 4 446
bonsoir,

Est-ce que ces activités peuvent être hiérarchisées comme suit ?

Citation:
Activité1 (niveau 1)
........Activité11 (niveau 2)
................Activité111 (niveau 3)
................Activité112 (niveau 3)
........Activité12 (niveau 2)
........Activité13 (niveau 2)

Activité2 (niveau 1)
........Activité21 (niveau 2)
........Activité22 (niveau 2)
................Activité221 (niveau 3)
................Activité222 (niveau 3)
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2011, 22h56   #10
Membre du Club
 
Inscription : octobre 2005
Messages : 304
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 304
Points : 59
Points : 59
Bonsoir F-LEb, oui on peut leshiérarchisées comme ça, mais tu n a jamais mis de niveau 4 alors qu'on peut en avoir plusieurs ou pas du tout pour un niveau 3. et que le niveau 4 peut se retrouver 0 ou plusieurs niveau 3 (voir mes derniers posts, relation 0 N 0 N).
_developpeur_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2011, 23h09   #11
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 2 415
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 41
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 2 415
Points : 4 446
Points : 4 446
la flemme d'aller jusqu'à 4 niveaux...

Citation:
Activité2 (niveau 1)
........Activité21 (niveau 2)
........Activité22 (niveau 2)
................Activité221 (niveau 3)
................Activité222 (niveau 3)
........................Activité2221 (niveau 4)
........................Activité2222 (niveau 4)
........................Activité2223 (niveau 4)
mais dans mon modèle hiérarchique les activité2221, 2222 et 2223 de niveau 4 dépendent d'une seule activité de niveau 3 (la 222).

Citation:
entre les tables NiveauActivite3 et NiveauActivite4, ce sont des cardinalitées 0 N 0 N....
donc le modèle hiérarchique ne convient pas

Les règles de gestion sont complexes, c'est quoi ces activités reliées entre-elles ?
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2011, 23h21   #12
Membre du Club
 
Inscription : octobre 2005
Messages : 304
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 304
Points : 59
Points : 59
Citation:
Envoyé par f-leb Voir le message
la flemme d'aller jusqu'à 4 niveaux...



mais dans mon modèle hiérarchique les activité2221, 2222 et 2223 de niveau 4 dépendent d'une seule activité de niveau 3 (la 222).



donc le modèle hiérarchique ne convient pas

Les règles de gestion sont complexes, c'est quoi ces activités reliées entre-elles ?
Alors non le modele hierarchique n'est pas bon car l activite 2223 peut tres bien se retrouver egalement dans l activite 221.


oui c'est un peu complexe. En fait ce sont des activités qui doivent etre facturé à un client mais qui ont différents niveau de détail. On peut tres bien facturer une activité avec un niveau de détail max de 3 ou alors une activité avec un niveau plus détaillé et donc 4
_developpeur_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2011, 10h29   #13
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 805
Points : 2 805
Bonjour à tous,

Citation:
Envoyé par Fabien
donc le modèle hiérarchique ne convient pas
==> il semble, en effet.


Donc, si j'ai bien compris, tu as 4 niveaux et il faut trouver un "équilibre" entre :

une solution "hyper-contrôlée"
NiveauActivite1 ---0,n---[possède les sous-niveaux]---0,n--- NiveauActivite2
NiveauActivite2 ---0,n---[possède les sous-niveaux]---0,n--- NiveauActivite3
NiveauActivite3 ---0,n---[possède les sous-niveaux]---0,n--- NiveauActivite4
NiveauActivite1 ---0,n---[est niveau1 de prestation]---0,1---AssociationActiviteService
NiveauActivite2 ---0,n---[est niveau2 de prestation]---0,1---AssociationActiviteService
NiveauActivite3 ---0,n---[est niveau3 de prestation]---0,1---AssociationActiviteService
NiveauActivite4 ---0,n---[est niveau4 de prestation]---0,1---AssociationActiviteService
==> qui nécessite 3 tables intermédiaires pour la cohérence des 4 niveaux.

et

une solution "sans contrôle"
NiveauActivite1 ---0,n---[est niveau1 de prestation]---0,1---AssociationActiviteService
NiveauActivite2 ---0,n---[est niveau2 de prestation]---0,1---AssociationActiviteService
NiveauActivite3 ---0,n---[est niveau3 de prestation]---0,1---AssociationActiviteService
NiveauActivite4 ---0,n---[est niveau4 de prestation]---0,1---AssociationActiviteService
==> qui ne gère aucune cohérence entre les 4 niveaux.

A ce stade, il me semble que toi seul peut décider, selon les règles de gestion que tu n'auras pas manquées de demander aux utilisateurs.

Par exemple, il pourrait être nécessaire de gérer une cohérence entre le niveau2 et le niveau3, et pas pour le reste.
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2011, 13h29   #14
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 2 415
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 41
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 2 415
Points : 4 446
Points : 4 446
rebonjour,

Citation:
Envoyé par _developpeur_ Voir le message
oui c'est un peu complexe. En fait ce sont des activités qui doivent etre facturé à un client mais qui ont différents niveau de détail. On peut tres bien facturer une activité avec un niveau de détail max de 3 ou alors une activité avec un niveau plus détaillé et donc 4
à défaut de comprendre ce qu'est un "niveau de détail" d'une activité, en quoi un modèle avec une seule table Activité au lieu de 4 tables ActivitéNiveauX ne conviendrait pas ?

Activité(idActivite, LibelleActivite, NiveauActivite)

avec NiveauActivite=1,2,3 ou 4
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2011, 17h26   #15
Membre du Club
 
Inscription : octobre 2005
Messages : 304
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 304
Points : 59
Points : 59
Citation:
Envoyé par Richard_35 Voir le message
Bonjour à tous,

==> il semble, en effet.


Donc, si j'ai bien compris, tu as 4 niveaux et il faut trouver un "équilibre" entre :

une solution "hyper-contrôlée"
NiveauActivite1 ---0,n---[possède les sous-niveaux]---0,n--- NiveauActivite2
NiveauActivite2 ---0,n---[possède les sous-niveaux]---0,n--- NiveauActivite3
NiveauActivite3 ---0,n---[possède les sous-niveaux]---0,n--- NiveauActivite4
NiveauActivite1 ---0,n---[est niveau1 de prestation]---0,1---AssociationActiviteService
NiveauActivite2 ---0,n---[est niveau2 de prestation]---0,1---AssociationActiviteService
NiveauActivite3 ---0,n---[est niveau3 de prestation]---0,1---AssociationActiviteService
NiveauActivite4 ---0,n---[est niveau4 de prestation]---0,1---AssociationActiviteService
==> qui nécessite 3 tables intermédiaires pour la cohérence des 4 niveaux.

et

une solution "sans contrôle"
NiveauActivite1 ---0,n---[est niveau1 de prestation]---0,1---AssociationActiviteService
NiveauActivite2 ---0,n---[est niveau2 de prestation]---0,1---AssociationActiviteService
NiveauActivite3 ---0,n---[est niveau3 de prestation]---0,1---AssociationActiviteService
NiveauActivite4 ---0,n---[est niveau4 de prestation]---0,1---AssociationActiviteService
==> qui ne gère aucune cohérence entre les 4 niveaux.

A ce stade, il me semble que toi seul peut décider, selon les règles de gestion que tu n'auras pas manquées de demander aux utilisateurs.

Par exemple, il pourrait être nécessaire de gérer une cohérence entre le niveau2 et le niveau3, et pas pour le reste.
Bonjour Richard_35, merci pour ta réponse.
Tu me dis si je me trompe, mais la solution controlée est je crois ce que j'ai fait, a la différence pres qu'entre les niveau 1 2 et 3 il n y a pas de table intermédiaire car une niveau 3 se retrouve dans un seul niveau 2 et un niveau 2 dans un seul niveau 1. C est juste entre les niveau 3 et 4 qu'on a des cardinalitées 0 N 0 N.
Je te joint le modele relationnel en jpeg.

Par contre quel est la clé primaire de AssociationActiviteService
? une clé incrémentée ? ou bien les idniveau 1 2 3 et 4 plus l IDService ?
Si clé incrémentée on se retrouve avec les clées étrangeres INniveau3 et 4 parfois vide .... est-ce grave ? quels impacts derriere ? pour le code notamment..

Si c'est les 4 ID plus IDService >> impossible car une clé primaire ne peut etre vide ...

bref je sais pas.
Merci.
Images attachées
Type de fichier : jpg relation0.jpg (137,3 Ko, 6 affichages)
_developpeur_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2011, 17h36   #16
Membre du Club
 
Inscription : octobre 2005
Messages : 304
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 304
Points : 59
Points : 59
Citation:
Envoyé par f-leb Voir le message
rebonjour,



à défaut de comprendre ce qu'est un "niveau de détail" d'une activité, en quoi un modèle avec une seule table Activité au lieu de 4 tables ActivitéNiveauX ne conviendrait pas ?

Activité(idActivite, LibelleActivite, NiveauActivite)

avec NiveauActivite=1,2,3 ou 4
f_leb, merci de ta réponse.. J'ai déja réfléchi a créer une table Activité mais je pense que ça marche pas car en fait une activité est la concaténation des libellés NiveauActivité1 2 et 3 (ou pas) et 4 (ou pas)....
et c'est ce regroupement de niveau qui est associé à un service.
_developpeur_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2011, 17h41   #17
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 2 415
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 41
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 2 415
Points : 4 446
Points : 4 446
re,

je pense qu'on ne s'entend pas sur le vocabulaire...

Citation:
Activité(idActivite, LibelleActivite, NiveauActivite)
Peut-être préfères-tu que je renomme Activité en NiveauActivité, ce qui donnerait:

NiveauActivité(id, LibelleNiveauActivite, NumeroDetailActivite)

avec NumeroDetailActivite=1, 2, 3 ou 4

Au lieu de mettre tous les libellés dans 4 tables différentes, tu les mettrais dans une seule table NiveauActivité avec le champ NumeroDetailActivite=1, 2, 3 ou 4.

Tu vois ?
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2011, 18h04   #18
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 805
Points : 2 805
Citation:
Envoyé par _developpeur_
Tu me dis si je me trompe, mais la solution controlée est je crois ce que j'ai fait, a la différence pres qu'entre les niveau 1 2 et 3 il n y a pas de table intermédiaire car une niveau 3 se retrouve dans un seul niveau 2 et un niveau 2 dans un seul niveau 1.
==> non, tu ne trompes pas : ce que tu as fait est bien entre la solution "hyper-contrôlée" et la solution "sans contrôle".

L'excellente solution de Fabien également.
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2011, 21h03   #19
Membre du Club
 
Inscription : octobre 2005
Messages : 304
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 304
Points : 59
Points : 59
Citation:
Envoyé par f-leb Voir le message
re,

je pense qu'on ne s'entend pas sur le vocabulaire...



Peut-être préfères-tu que je renomme Activité en NiveauActivité, ce qui donnerait:

NiveauActivité(id, LibelleNiveauActivite, NumeroDetailActivite)

avec NumeroDetailActivite=1, 2, 3 ou 4

Au lieu de mettre tous les libellés dans 4 tables différentes, tu les mettrais dans une seule table NiveauActivité avec le champ NumeroDetailActivite=1, 2, 3 ou 4.

Tu vois ?
re, je crois que ça colle pas , Si je ne lie pas les niveaux entre eux, je me retrouve avec uniquement l'IDNiveauActivité dans la table AssociationActiviteService.


Si je reprends mes exemples :

Niveau Activité 1 N A 2 N A 3 N A 4
Projet /Projets Client /Projet P1 /Développement
Recurrente /Supervision
Projet /Enveloppe Avant Projets /Avant projet C 1

>> Table Niveau Activite
idNiveauActivite LibelleNiveauActivite NumeroDetailActivite
1 Projet 1
2 Projets Client 2

>> Table AssociationActiviteService
#IDNiveauActivite #IDService CoutFacturation
1 100 50K euros
2 120 60K euros

Dans cette table ca me dit juste que le niveauActivite1 "Projet" est lié au service 100, Alors que c'est Projet /Projets Client /Projet P1 /Développement qui est associé au service 100..

D'ou la présence dans mon modele des 4 tables NiveauActivite 1 2 3 et 4 qui font migrer les 4 identifiants dans la table AssociationActiviteService.

Le probleme c'est que pour l'exemple Projet /Enveloppe Avant Projets /Avant projet C 1 (qui n'a pas de niveauActivite4), L'identifiant (clé étrangere) IDNiveauActivite4 dans la table AssociationActiviteService n'est pas renseigné..

ou bien pour l exemple Recurrente /Supervision (Pas de niveau Activité3 et 4), pas d'ID Externe renseigné dans la table AssociationActiviteService pour IDNiveauActivité3 et 4.

Est-ce que je sis clair ?
_developpeur_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2011, 21h11   #20
Membre du Club
 
Inscription : octobre 2005
Messages : 304
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 304
Points : 59
Points : 59
Citation:
Envoyé par Richard_35 Voir le message
==> non, tu ne trompes pas : ce que tu as fait est bien entre la solution "hyper-contrôlée" et la solution "sans contrôle".

L'excellente solution de Fabien également.
Ma solution est entre ? pourquoi "entre" ? le modele que j'ai fait n'est pas precisemment le résultat de ton MCD ?

Quid de la clé primaire dans la Table AssociationActiviteService ?
Quid des champs clé externe non renseignés dans la Table AssociationActiviteService ?

Car avec le modele que j'ai fait dans la table AssociationActiviteService, pour l'exemple

Niveau Activité 1 /Niveau Activite 2 /Niveau Activite 3 /Niveau Activite 4
Recurrente /Supervision

(pas de niveauActivite3 et 4)

les champs (clé externe) IDNiveauActivite3 et IDNiveauActivite4 ne seront pas renseignés..

est-ce grave ? quels impacts derriere ?
si tu sais, je suis preneur.
_developpeur_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h55.


 
 
 
 
Partenaires

Hébergement Web