Modèle relationnel probleme

Fermé
fifty-theking Messages postés 36 Date d'inscription mercredi 28 novembre 2007 Statut Membre Dernière intervention 24 avril 2012 - 6 févr. 2010 à 10:23
blux Messages postés 26450 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 6 novembre 2024 - 6 févr. 2010 à 19:15
Bonjour,

J'ai fait un modèle relationnel :

CLIENT (CodeClient, NomClient, PrenomClient, AdresseClient, VilleClient, CodePostalCLient )

Clé primaire : CodeClient

PRODUIT (ReferenceProduit, DesignationProduit, PUTTCClient )

Clé primaire : ReferenceProduit

COMMANDE (NumCommande, CodeClient, DateCommande )

Clé primaire : NumCommande
Clé étrangère : CodeClient

CONTENIR : ( CodeProduit, NumCommande, QuantiteeCommande )

Clé primaire : CodeProduit


Voila je pense qu'il est normaliser mais j'ai un problème lors des saisies dans la table contenir, en effet j'ai 2 fois a mettre le meme produit mais ce n'est pas le meme client. Sa fait donc un doublon. Comment puis-je éviter ce doublon ? (faut que le modèle relationnel reste cohérent)
J'utilise access 2007.

Merci de m'aider
A voir également:

11 réponses

blux Messages postés 26450 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 6 novembre 2024 3 312
6 févr. 2010 à 11:04
Salut,

la clé primaire de la table 'contenir' doit être la concaténation des champs Codeproduit ET NumCommande...

Ainsi tu pourras avoir le même produit mais dans deux commandes différentes. Ton modèle de données sera intègre, dans ce cas.

Par contre, je ne sais pas quelles relations tu as créées, ça peut gêner.
0
fifty-theking Messages postés 36 Date d'inscription mercredi 28 novembre 2007 Statut Membre Dernière intervention 24 avril 2012
6 févr. 2010 à 11:10
merci de votre réponse, pouvez-vous me dire la manip pour concaténé ? merci
0
blux Messages postés 26450 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 6 novembre 2024 3 312
6 févr. 2010 à 11:37
On sélectionne les deux champs en même temps dans la table en mode création et on clique sur la petite clé dans la barre de menus jusqu'à ce que les deux champs aient une petite icône de clé.
0
fifty-theking Messages postés 36 Date d'inscription mercredi 28 novembre 2007 Statut Membre Dernière intervention 24 avril 2012
6 févr. 2010 à 13:06
merci de ton aide blux.

Voici mes relations :

http://www.noelshack.com/up/aac/relation-1eed7cdc87.jpg
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
blux Messages postés 26450 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 6 novembre 2024 3 312
6 févr. 2010 à 13:10
Tu ne devrais pas avoir de relation entre client et produit, mais plutôt entre client et commande. De plus, toutes tes relations devraient être de type 'un à plusieurs'...
0
fifty-theking Messages postés 36 Date d'inscription mercredi 28 novembre 2007 Statut Membre Dernière intervention 24 avril 2012
6 févr. 2010 à 13:12
peut-tu me corriger a l'aide de paint stp ? merci
0
blux Messages postés 26450 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 6 novembre 2024 3 312
6 févr. 2010 à 13:26
Pas besoin, si tu fais ce que je dis, ACCESS s'adaptera automatiquement.

Supprimer la relation entre client et produit et création d'une relation entre client et commande. Si les champs sont les mêmes dans chaque table, alors ACCESS les reconnaîtra.
0
fifty-theking Messages postés 36 Date d'inscription mercredi 28 novembre 2007 Statut Membre Dernière intervention 24 avril 2012
6 févr. 2010 à 13:42
voila j'ai effectué la modification : http://www.noelshack.com/

En fait les relations servent a quoi ?
0
fifty-theking Messages postés 36 Date d'inscription mercredi 28 novembre 2007 Statut Membre Dernière intervention 24 avril 2012
6 févr. 2010 à 18:02
?
0
blux Messages postés 26450 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 6 novembre 2024 3 312
6 févr. 2010 à 18:51
Les relations servent à 'relier' les informations les unes aux autres.

Avec le modèle que tu as, il est facile de savoir qui a commandé quoi, une simple requête avec une jointure (action de faire jouer les relations entre tables) et le tour est joué.

En passant, les relations que tu as devraient toutes être du type 1 à plusieurs.
0
fifty-theking Messages postés 36 Date d'inscription mercredi 28 novembre 2007 Statut Membre Dernière intervention 24 avril 2012
6 févr. 2010 à 18:57
merci blux, mais je ne comprend pas quand vous dites "les relations que tu as devraient toutes être du type 1 à plusieurs. "

J'ai mal relié ?
0
blux Messages postés 26450 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 6 novembre 2024 3 312
6 févr. 2010 à 19:15
Tu as bien relié, mais il faut mettre le type de relation à '1 à plusieurs'...

Double-clic sur le trait de relation pour faire cette modif.

Et ça aurait été bien de mettre CodeProduit comme clé primaire de la table produit au lieu de ReferenceProduit (c'est juste un renommage de champ), ou alors modifier le nom du champ de la table commande pour le mettre à 'ReferenceProduit' au lieu de CodeProduit.
0