Après plusieurs heures de réflexions, j'ai quelque peu du mal à organiser mes tables ainsi que les jointures qui eventuellement devraient les relier. Tout ça en grande partie dû à ma très petite expérience dans le domaine de la programmation web. C'est pour cela que je viens vers vous aujourd'hui
- Mon projet[/b]
Pour débuter dans la programmation web, je me suis dit qu'il serait bon de réaliser un projet 'fixe' afin d'utiliser empiriquement mes nouvelles connaissances.
Ce dernier n'est pas très compliquer, il s'agit d'un gestionnaire de stock (prêt à porter pour H&F).
Pour commencer correctement, j'ai d'abord prit les meilleurs des outils, une feuille de papier et un crayon.
Ainsi j'ai pu tirer au clair tout les éléments qui me seraient indispensables et comment les relier, les organiser etc ...
La théorie était simple puisqu'elle se limiter seulement à mes besoins et à mon imagination, maintenant la pratique l'est beaucoup moins
- Mon problème[/b]
L'organisation de ma base de donnée me semble être un point très important, puisqu'elle est à la 'base' de tout ce que je compte afficher. Pour vous expliquer simplement, un article possède plusieurs caractéristiques :
- Nom (ex : Chemise M 3/4 Lin)
- Référence (ex : F071222, sachant que la première lettre, en l'occurence 'F' ici indique le sexe auquel est destiné le produit, il n'en existe que deux M et F)
- Prix (ex : 59 €, peut avoir des décimales)
- Marge (ex : 24€; il ne s'agit pas d'un % fixe par rapport au prix donc je dois en effet le rentrer manuellement à chaque nouvelle insertion)
C'est ici que tout se complique
Chaque article est déservie en une à plusieurs couleurs (blanc, bleu, teck, rose etc ...), qui sont elles même disponible en différentes tailles (36, 38, 40 ... S, M, L ...).
J'avais donc l'idée de séparer les Articles, des Couleurs, des Tailles. Seulement comment faires des jointures aussi complexes (j'ai lu le tutoriel des bases fondamentales, mais je m'embrouille un peu plus à chaque fois que je pense avoir trouvé une solution.)
Je me suis donc permis de faire une petite illustration de ce à quoi pourrait ressembler la page d'affichage pour que vous compreniez plus ludiquement comment je voudrais montrer tout cela.

Il faudrait que la table Couleur soit relié à la table Articles, et que la table Taille soit relié à la table Couleur et Articles.
Edit :
J'ai commencé a faire des tables, j'aimerai avoir votre avis sur la 'chose';
Code : Tout sélectionner
CREATE TABLE Article (
idArticle SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
nomArticle CHAR BINARY NOT NULL,
prixArticle DECIMAL NOT NULL,
margeArticle DECIMAL NOT NULL,
PRIMARY KEY(idArticle)
);
CREATE TABLE Couleur (
idCouleur SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
Article_idArticle SMALLINT UNSIGNED NOT NULL,
nomCouleur CHAR BINARY NOT NULL,
PRIMARY KEY(idCouleur, Article_idArticle),
INDEX Couleur_FKIndex1(Article_idArticle)
);
CREATE TABLE Taille (
idTaille SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
Couleur_Article_idArticle SMALLINT UNSIGNED NOT NULL,
Couleur_idCouleur SMALLINT UNSIGNED NOT NULL,
S SMALLINT UNSIGNED NULL,
M SMALLINT UNSIGNED NULL,
L SMALLINT UNSIGNED NULL,
XL SMALLINT UNSIGNED NULL,
XXL SMALLINT UNSIGNED NULL,
PRIMARY KEY(idTaille, Couleur_Article_idArticle, Couleur_idCouleur),
INDEX Taille_FKIndex1(Couleur_idCouleur, Couleur_Article_idArticle)
);