Comment représenter une liste des produits sous la forme d'un tableau à 2 dimensions : [[Nom du produit, quantité, prix unitaire HT], ...] dans une base de données mysql ? il y a t-il déjà un type tableau ?
Comment représenter une liste des produits sous la forme d'un tableau à 2 dimensions : [[Nom du produit, quantité, prix unitaire HT], ...] dans une base de données mysql ? il y a t-il déjà un type tableau ?
Que représente la quantité ?
- Si c'est la quantité en stock, ça peut être un attribut du produit.
- Si c'est la quantité achetée pour une commande, tu as donc une association entre les produits et les commandes qui comprend cette quantité.
D'une manière générale, on ne stocke pas de tableau dans une colonne de table SQL.
Typiquement, tu as une table Produit (p_id, p_nom, p_prix_unitaire_HT...) et quand tu as besoin d'associer les produits à autre chose (lignes de commande ou de livraison ou de facture, fournisseurs qui vendent les produits...), tu utilises l'identifiant du produit en tant que clé étrangère dans une autre table.
Par exemple, si je veux associer les produits aux fournisseurs pour savoir qui me me vendre un produit, j'ai la règle de gestion suivante :
"Un produit peut être proposé par plusieurs fournisseurs et un fournisseur peut proposer plusieurs produits."
Il en découle le MCD suivant :
Fournisseur -0,n----Proposer----0,n- Produit
Il découle de ce MCD les tables suivantes :
Fournisseur (f_id, f_nom, f_adresse...)
Produit (p_id, p_nom, p_reference, p_prix_vente_ht...)
Produit_Fournisseur (pf_id_produit, pf_id_fournisseur, pf_prix_catalogue_ht...)
Un petit cours de modélisation des données ?
Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise la suite Linux Mageïa !
Bonjour
Votre réponse a été bien plus que claire.
Merci de votre temps.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager