modele conceptuel simple

modele conceptuel simple - SQL/NoSQL - Programmation

Marsh Posté le 04-10-2009 à 21:28:32    

Bonjour a tous
 
Je souhaite realiser un modele conceptuel des donnees (c'est un exercice) afin de realisser une mini-base de donnees me permettant de suivre les commandes de pizzas realisees par des clients.
 
J'ai donc les entites suivantes :
 
CLIENT(num_client; nom_client)
PIZZA(code_pizza; nom_pizza)
comme ces pizzas sont classiquement disponibles en 3 tailles, j'ai atomise les donnees...
TAILLE(code_taille; taille)
 
Le prix d'une pizza sera repertorie dans la table qui resultera de la relation existant entre pizza et taille (puisque le prix depend a la fois de ces deux données)
EXISTER(code_pizza; code_taille; prix_pizza)
 
Mais si je veux pouvoir suivre les sommes depensees par les clients lors de leurs achats...comment dois-je faire. Pour l'instant je pensais créer une nouvelle entité COMMANDE(numero_commande;date) relié d'un cote a la table client de l'autre... a la table pizza ? Doit-on la relier aussi la table taille ?? ou puisque la table Pizza est deja relie a la table taille avec une relation qui en donne le prix est-ce que cela est suffisant ???
 
Ce serait plus facile avec un schema...
 
CLIENT(num_client; nom_client)---passer---COMMANDE(numero_commande;date)---comprend(numero_commande;code_pizza°---PIZZA(code_pizza; nom_pizza)----exister(code_pizza; code_taille; prix_pizza)----TAILLE(code_taille; taille)
 
En tous les cas merci par avance si quelqu'un comprend ma question et peut y repondre. Toute reponse sera appreciee.
nogaro21


Message édité par nogaro21 le 04-10-2009 à 21:52:27
Reply

Marsh Posté le 04-10-2009 à 21:28:32   

Reply

Marsh Posté le 05-10-2009 à 16:39:39    

Tu peux faire une table COMMANDE(num_commande,num_client,code_pizza,code_taille,date), tu peux rajouter dans cette table commande tout enregistrement lié à la commande genre prix_total ...
 
Par contre si dans ta table pizza tu n'as que le nom a renseigné et dans la table taille tu n'as que le numéro de taille (1, 2 ou 3) il n'est pas nécessaire de faire deux table pour ça
 
Je te conseil de faire 1 table client avec toutes les coordonnees du client et une table commande avec un numéro de client en clé étrangère, et avoir direcement toutes les données dans la table commande

Reply

Marsh Posté le 05-10-2009 à 17:02:37    

Il faut distinguer dans cette table commande un numéro de commande (valeur fixe) et un id Commande (auto incrémenté), cela permettra d'avoir plusieurs pizza sur une même commande pour un même client.
 
Pas d'accord avec kurstley, il vaut mieux avoir une table Pizza et une table taille éventuellement. Si on veut respecter un minimum les normes (3FN) et éviter les redondances d'information.  
 
Par ailleurs, cela sera plus facile pour générer éventuellement des combobox pour choisir la pizza et la taille


Message édité par antac le 12-10-2009 à 11:48:26
Reply

Marsh Posté le 11-10-2009 à 11:20:07    

Je vous remercie tous les deux pour vos reponses. Cela est tres apprecie.

Reply

Marsh Posté le 15-10-2009 à 17:30:13    

Salut, j'arrive un peu tard, mais vu que je suis pas super d'accord avec les réponses proposées, je propose la mienne :
 
-> Ton entité "commande" doit être reliée à l'entité "client" par une contrainte simple, et à l'entité "prix" (l'entité "EXISTER" dans ton modèle, mais renommée de façon plus explicite pour l'occasion) par une contrainte simple à nouveau.
 
En effet, ce qui importe dans la commande, c'est pas seulement le type de pizza commandé (napolitaine, chèvre, etc.) mais surtout le prix. grâce à ce dernier, non seulement tu as l'information fondamentale pour faire ton exercice (suivre l'argent dépensé par les clients) mais surtout, tu as aussi la relation avec la pizza et sa taille que tu déduis à partir du prix. donc tout roule.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed