Besoin de conseil pour structure BDD

webac

WRInaute occasionnel
Bonjour,

J'ai besoin de conseils pour structurer ma BDD et voici mon projet :

j'ai une table 'produits' sur laquelle j'ai tous mes produits(id+libellé),
j'ai une page sur laquelle on peut commander un ou plusieurs produits de cette même table,
je souhaite pouvoir insérer les commandes dans une autre table nommée 'commande'.

Comment dois-je proceder pour la structure de cette table en sachant qu'elle doit contenir : le nom de la personne qui à commandé, le ou les produits commandés, la quantité par produit commandé, le stock de la personne pour le ou les produits commandés.

Merci de votre aide
 

Bacteries

WRInaute passionné
Il te faut plusieurs tables. Dans l'idéal :
table produit
table commande (avec num commande, date, numClient, ...)
table ligneDeCommande (avec ID_produit, ID_commande, quantité, prix)
table client (avec numClient, nom, prenom, adresse)

La table ligne commande est de toute façon obligatoire, et tu dois y garder le prix (car si ton prix évolue tes commandes ne veulent plus rien dire).
 

webac

WRInaute occasionnel
merci Bacteries je preferais avoir un avis avant de m'embarquer sur une mauvaise piste.
Mais j'ai encore une petite question comment faire pour afficher la commande d'un client par exemple?
ou plutôt comment faire la liaison entre la table commande et la table lignedeCommande
 

Marie-Aude

WRInaute accro
La structure classique est d'avoir une table commande, qui reprend les données générales de la commande, et un lien vers une table client, et une table ligne de commande, qui liste chaque élément commandé.
 

Bacteries

WRInaute passionné
webac a dit:
merci Bacteries je preferais avoir un avis avant de m'embarquer sur une mauvaise piste.
Mais j'ai encore une petite question comment faire pour afficher la commande d'un client par exemple?
ou plutôt comment faire la liaison entre la table commande et la table lignedeCommande

Et bien là il faut approfondir tes connaissances en BDD et SQL je pense ;)

Quelques mots clés :
Liée des tables entre elle : clé étrangère
Faire des sélection avec plusieurs tables : jointures
http://sqlpro.developpez.com/cours/sqlaz/jointures/
 

Marie-Aude

WRInaute accro
Tu dois avoir une ID commande qui est une clé unique dans la table commande, et qui combinée à un numéro de ligne te fait une id unique dans la table lignes commandes
 

Discussions similaires

Haut