Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1426 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  boutique en ligne : Les tables SQL

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

boutique en ligne : Les tables SQL

n°928042
freed102
Arayashiki
Posté le 20-12-2004 à 13:58:48  profilanswer
 

Je vais etre amené à construire une boutique en ligne de base (genre avec un caddie, des articles, eventuellement des promos etc etc)
je suis en train de reflechir sur les tables SQL, malgré la simplicité que ça a l'air d'être... il faut pas se planter à ce moment là...
 
pour l'instant je propose :
 
une table client qui renseigne toutes les infos du client avec un numéro de client unique
 
une table facture qui contient le numero de la facture, le numero du client, le numero d'article, la quantité, les infos sur le paiement et les infos sur la livraison (en gros)
(un enregistrement se faire à chaque article commandé, donc il peut y avoir plusieurs enregistrements pour la même commande)
 
uen table articles contenant le numero de l'article, le libellé, la description, le prix en euros, le prix en dollars, la promo eventuelle, la disponibilité, les frais de ports EUR et US
 
on peut faire la jointure de ces trois tables par l'id lui correspondant...
 
à votre avis... est-ce que je suis sur la bonne voie ou j'ai tout faut et ça risque de se vautrer rapidement ? ai-je oublié des élements importants ?
 
Merci d'avance
 
Freed

mood
Publicité
Posté le 20-12-2004 à 13:58:48  profilanswer
 

n°928062
j_lecruel
☀ ☁ ☂
Posté le 20-12-2004 à 14:13:02  profilanswer
 

Salut,
 
le seul truc que je trouve un peu bizarre c'est que pour une même commande tu auras autant de N° de factures que de produits commandés.  
 
Donc à ta place je ferais :
COMMANDE [numcommande, numclient,infos_paiement, infos_livraison, ...]
 
L_COMMANDE [num_article,num_commande, quantite,...]
 
Pour le reste je vois pas ce qui pourrait merder.

n°928066
freed102
Arayashiki
Posté le 20-12-2004 à 14:17:29  profilanswer
 

donc deux tables pour les commandes ?
une qui gere la facture et l'etat de la commande, et une qui gere son contenu ?

n°928067
skeye
Posté le 20-12-2004 à 14:20:19  profilanswer
 

Non, une "commande" et une "ligne d'une commande"


---------------
Can't buy what I want because it's free -
n°928075
freed102
Arayashiki
Posté le 20-12-2004 à 14:27:07  profilanswer
 

ah ok je capte bien... merci pour les infos !

n°928095
Berceker U​nited
PSN : berceker_united
Posté le 20-12-2004 à 14:53:27  profilanswer
 

freed102 a écrit :

ah ok je capte bien... merci pour les infos !


Au faite! n'utilise pas le mot caddie mais panier ;) Caddie est une marque [:aloy] .
Fait une model de données tu aurais les idées plus claire. Ne la fais pas a l'américain mais a la russe c'est a dire un stylo et du papier pas la peine d'un logiciel.
 
 
 
 
 
 
 
 
 [:papy]

n°928169
naceroth
Posté le 20-12-2004 à 15:41:56  profilanswer
 

Oulà, si c'était si simple, je serais le plus heureux des hommes :)
 
Sinon, oui, séparez commande et ligne de commande est une très bonne idée (n'oublie pas de stocké le prix de l'article dans la ligne de commande en passant). Puis suivant le type d'article que ta boutique peut contenir, je te conseillerais aussi une séparation article <> détail_article (hyper utile pour du matériel informatique ou des livres par exemple).
 
Voilà :)

n°928183
skeye
Posté le 20-12-2004 à 15:45:11  profilanswer
 

naceroth a écrit :

(n'oublie pas de stocké le prix de l'article dans la ligne de commande en passant)


...mais en gardant en mémoire que ceci n'est qu'une copie à l'instant T du prix indiqué dans la table des articles!:o


---------------
Can't buy what I want because it's free -
n°928194
naceroth
Posté le 20-12-2004 à 15:49:23  profilanswer
 

skeye a écrit :

...mais en gardant en mémoire que ceci n'est qu'une copie à l'instant T du prix indiqué dans la table des articles!:o


 
Ouais, enfin, en général, le prix d'un article est celui au moment de la commande, pas celui à la livraison. Je pourrais te tartiner pendant des heures sur des cas où ce genre de petit détail a été oublié dans la conception des db :)

n°928198
skeye
Posté le 20-12-2004 à 15:50:09  profilanswer
 

naceroth a écrit :

Ouais, enfin, en général, le prix d'un article est celui au moment de la commande, pas celui à la livraison. Je pourrais te tartiner pendant des heures sur des cas où ce genre de petit détail a été oublié dans la conception des db :)


Ben...c'est ce que je dis, non?


---------------
Can't buy what I want because it's free -
mood
Publicité
Posté le 20-12-2004 à 15:50:09  profilanswer
 

n°928208
naceroth
Posté le 20-12-2004 à 15:52:10  profilanswer
 

Euh, oui, le smiley m'a trompé :D

n°928275
freed102
Arayashiki
Posté le 20-12-2004 à 16:18:20  profilanswer
 

naceroth a écrit :

Oulà, si c'était si simple, je serais le plus heureux des hommes :)
 
Sinon, oui, séparez commande et ligne de commande est une très bonne idée (n'oublie pas de stocké le prix de l'article dans la ligne de commande en passant). Puis suivant le type d'article que ta boutique peut contenir, je te conseillerais aussi une séparation article <> détail_article (hyper utile pour du matériel informatique ou des livres par exemple).
 
Voilà :)


Par contre je capte pas trop pourquoi on sépare l'article de son detail ?

n°928291
naceroth
Posté le 20-12-2004 à 16:29:21  profilanswer
 

Pour permettre une recherche sur certaines caractéristiques lorsque tes articles en ont un nombre variable (bon, à nouveau, ça dépend de ce que tu mets dans ta boutique :)).
 
Par exemple, comment fais tu une recherche style "je veux toutes les cartes graphiques de marque Asus possédant une entrée TV et 256 Mo de Ram vidéo" avec juste un champs description dans une table contenant tes articles informatiques ? :)
 
Avec la séparation, c'est juste une recherche des valeurs dans la table détail :)

n°928331
freed102
Arayashiki
Posté le 20-12-2004 à 16:42:55  profilanswer
 

ah okok ! j'avais pas compris ça comme ça ! je pensais que tu faisais une deuxieme table pour les articles !
 
dans mon cas je crois qu'il n'y a pas besoin de trop decouper la description de mes articles... on devrait pouvoir s'en passer

n°928352
naceroth
Posté le 20-12-2004 à 16:53:21  profilanswer
 

freed102 a écrit :

ah okok ! j'avais pas compris ça comme ça ! je pensais que tu faisais une deuxieme table pour les articles !


 
3 au total en fait :D

n°928367
freed102
Arayashiki
Posté le 20-12-2004 à 16:59:18  profilanswer
 

naceroth a écrit :

3 au total en fait :D


3 tables ????  :??: alors là je sèche !

n°928402
naceroth
Posté le 20-12-2004 à 17:17:02  profilanswer
 

freed102 a écrit :

3 tables ????  :??: alors là je sèche !


 
Je sais :D
 
En gros et sans entrer dans les détails :
 
une table produit(idproduit,libellé,idfournisseur,...)
une table detailProduit(idDetail,intitulé,unité)
une table relDetailProduit_Produit(idProduit,idDetail,valeur)
 
En pratique, ça pourrait donner un truc genre
Produit
-------
1 kkwet 123 ...
 
detailProduit
-------------
1 Prix €
2 Prix $
3 Poids Kilo
relDetailProduit_Produit
------------------------
1 1 1
1 2 1.07
1 3 0.23
 
Ca nous donne un article kkwet avec un prix de 1 € ou 1.07 $ et pesant 0,23 kilo (exemple bidon, c'est pas la meilleure façon de faire pour les prix dans des devises différentes, mais soit)

n°928428
freed102
Arayashiki
Posté le 20-12-2004 à 18:01:39  profilanswer
 

mouai je suis pas convaincu là... :-/
 
deux tables ok.. Mais trois....

n°928432
j_lecruel
☀ ☁ ☂
Posté le 20-12-2004 à 18:12:57  profilanswer
 

Ben pourtant là on touche aux bases de la modélisation de données :/

n°928433
freed102
Arayashiki
Posté le 20-12-2004 à 18:13:56  profilanswer
 

je sais j'ai fais des cours de modelisation (normalisation) avec les trucs de merise etc etc... mais je comprends pas les 3 tables

n°928457
freed102
Arayashiki
Posté le 20-12-2004 à 18:37:28  profilanswer
 

je commence à piger... mais en fait c les chiffres qui m'embrouillaient l'esprit... j'essaie de faire les relations entre les trois tables et je comprenais rien !


Message édité par freed102 le 20-12-2004 à 18:38:17
n°928459
sircam
I Like Trains
Posté le 20-12-2004 à 18:37:54  profilanswer
 

freed102 a écrit :

je sais j'ai fais des cours de modelisation (normalisation) avec les trucs de merise etc etc... mais je comprends pas les 3 tables


Comment veux-tu faire une association m-n entre deux tables sans passer par une troisième ?


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°928467
naceroth
Posté le 20-12-2004 à 18:42:55  profilanswer
 

freed102 a écrit :

je commence à piger... mais en fait c les chiffres qui m'embrouillaient l'esprit... j'essaie de faire les relations entre les trois tables et je comprenais rien !


 
Arf, j'ai failli mettre le mcd, mais devant l'hésitation sur les 3 tables, je me suis dit que ce serait encore plus abstrait :)

n°928469
freed102
Arayashiki
Posté le 20-12-2004 à 18:44:18  profilanswer
 

bah ouai et moi j'essayais (et j'essaie toujours) d'imaginer le mcd !! mais bon.. je devrais peut etre le faire avec un stylo et une feuille plutot que de me fier a mon petit cerveau !

n°928561
j_lecruel
☀ ☁ ☂
Posté le 20-12-2004 à 20:50:00  profilanswer
 

peut être... c'est toujours bon de faire un schéma sur papier.

n°929100
freed102
Arayashiki
Posté le 21-12-2004 à 12:43:31  profilanswer
 

j_lecruel a écrit :

peut être... c'est toujours bon de faire un schéma sur papier.


 
bon voila j'ai tenté de faire un MCD... j'ai pas trop l'habitude de ça (en fait j'en ai fait que pendant 3 jours alors pas facile de toute capter)
 
voila ce que ça me donne :
 
http://www.clonecopy.net/freed/MCD.jpg
 
dites moi ce que vous en pensez, j'ai surement oublié des trucs... et je suis pas sur de moi sur les cardinalités et les actions... bref... c plus un exercice pour moi qu'autre chose mais ça peut toujours servir !  :D

n°929388
naceroth
Posté le 21-12-2004 à 17:46:05  profilanswer
 

Bon, en vrac et sans fouiller profondément, quelques trucs que j'ai noté :
 
Il est toujours utile dans le cas d'une boutique en ligne d'avoir l'adresse email du client :D (j'aurais vraiment envie de te pourrir la vie, je te dirais de faire une table à part pour les contacts, histoire d'avoir aussi plusieurs n° de téléphone pour tes clients :D)
 
Pense aussi au fait que tu peux ne pas faire toute la livraison de la commande en une seule fois, et donc avoir plusieurs factures partielles pour une commande. il manque d'ailleurs le suivi de la commande dans ton MCD : pas de facture, pas de vérification de payement, c'est gênant :)
 
Je comprends pas trop l'intérêt de la structure Produits-rel_Detail_Produits-detail_produits telle que tu la définis là, uniquement des relations 1-1, je sens la mauvaise interprétation de ce que je t'ai dit plus haut :D
 
Voilà, je vais essayer de voir si j'ai pas encore un modèle qui traine pour ce genre de truc, pour voir si j'ai rien oublier en survolant le tien :)

n°929399
harrysauce
Miaaaooou!
Posté le 21-12-2004 à 17:53:05  profilanswer
 

Pour un stage j'ai fait une boutique en ligne.
Voila le modèle de données (à l'arrache) :
http://www.pagededemarrage.net/ivan/Annexe%204%20-%20MDD%20boutique.png
 
Les tables transporteur et assoc_cat_transporteur, laisse tomber, c'était un truc spécifique à ma boutique (possiblité d'ajouter des transporteurs avec des règles de calcul de prix)
 
 
Y'a une version de démo de la boutique ici : http://aujardindedgar.free.fr/plantes-du-mois.php
 
Et la partie administration là :  
http://aujardindedgar.free.fr/admin/index.php

n°929826
freed102
Arayashiki
Posté le 22-12-2004 à 11:01:44  profilanswer
 

naceroth a écrit :

Bon, en vrac et sans fouiller profondément, quelques trucs que j'ai noté :
 
Il est toujours utile dans le cas d'une boutique en ligne d'avoir l'adresse email du client :D (j'aurais vraiment envie de te pourrir la vie, je te dirais de faire une table à part pour les contacts, histoire d'avoir aussi plusieurs n° de téléphone pour tes clients :D)


 
Je suis tout à fait d'accord avec toi... mais j'ai pas detaillé les contenu de mes entités... j'ai surtout focalisé sur les entités et les relations.. apres je dois forcement penser à creuser un peu.. là pour l'instant j'ai mis dans mes tables que ce qui me venait à l'esprit sans trop me creuser les meninges
 

naceroth a écrit :


Pense aussi au fait que tu peux ne pas faire toute la livraison de la commande en une seule fois, et donc avoir plusieurs factures partielles pour une commande. il manque d'ailleurs le suivi de la commande dans ton MCD : pas de facture, pas de vérification de payement, c'est gênant :)


 
Là c même réponse que précedement... et tu pourras noter que pour le suivi des commandes j'ai ajouté un champ "livraison" et "paiement" qui insinuait que je compte bien donner un état à ce niveau là... (je l'ai ecrit dans le cahier des charges mais vous ne l'avez pas lu ! :d )
Quand à la facture partielle... je n'y ai pas pensé.. mais là c pas dans le cahier des charges ! (on suppose que une livraison se fait en une seule fois (à defaut de rupture des stocks mais c censé etre bien géré !) par contre on peut livrer à des adresses différentes de celle du client, ainsi que la facturation qui peut etre différente... d'où les deux tables addr_livraison et addr_facturation
 

naceroth a écrit :


Je comprends pas trop l'intérêt de la structure Produits-rel_Detail_Produits-detail_produits telle que tu la définis là, uniquement des relations 1-1, je sens la mauvaise interprétation de ce que je t'ai dit plus haut :D


Là c possible que j'ai mal interprété... enfin je l'ai comprise dans un sens... peut etre que je me suis planté !

naceroth a écrit :


Voilà, je vais essayer de voir si j'ai pas encore un modèle qui traine pour ce genre de truc, pour voir si j'ai rien oublier en survolant le tien :)


Merci pour tout en tous cas... je fais tout ça un peu pour revenir à l'essentiel, je me suis trop pris de gamelles avec un boss un peu trop impulsif qui croit qu'on peut changer tout dans un site tous les 3 jours et qui râle à la fin parceque c'est pas terminé 15 jours apres la signature du devis par le client! lol ! ya de quoi halluciner ! alors maintenant c moi qui fait les devis et le cahier des charges ! (mais c pas trop mon truc!)

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  boutique en ligne : Les tables SQL

 

Sujets relatifs
[mysql] pb de selection sql avec OR et ANDaide pour un sujet en SQL
Texte de saisie + saut de ligne et accentsBackup SQL
comment aller à la ligne en vb6 ?Recherche personne ki a fait marcher Pervasive SQL et php sous Linux
JS et requete SQL ?effacer un ligne d'une table access en vba
[urgent] mechante requete pour experts SQL[access][MS SQL Serveur] migration
Plus de sujets relatifs à : boutique en ligne : Les tables SQL


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR