[MySQL] comment structurer ma base ? (le réflexe C/C++...)

comment structurer ma base ? (le réflexe C/C++...) [MySQL] - Divers - Programmation

Marsh Posté le 09-07-2003 à 09:26:54    

je me pose des problemes un peu tout seul sans doute, mais quand je réfléchis à la structure de mes tables, je me rends compte que des fois j'ai pas forcément saisi toute la méthodologie.
 
 
Bon, il s'agite de faire une base de données client donc
 
une fiche client (nom, prenom, adresse, etc....)
->pour ce client, la liste des "session" au magasin, c'est à dire des passages en caisse
--> pour chaque passage en caisse, la liste des achats effectués
 
 
bon, en C/C++, on se ferait des bonnes struc avec listes chainés imbriquées, c'est clair, c'est net, c'est logique.
 
Mais la en MySQL, ca devient chaud, surtout quand on a des tailles variables (l enombre de dvds vendus à chaque est variable)
 
Pour l'instant  je pensais à faire une méga-liste des produits vendus, pour chaque produit, on mettrait le numéro de client et un  "identifiant" de session, et ca permettrai de lier le tout
 
mais bon, a terme, ca ferait une basse avec un nombre d'entrées titanesque, et pour retrouver les produits d'un client, ou les cessions, il faudrait tout reparcourir...
 
 
En fait je me rend pas suffisemment compte si apres tout c'est la seule solution et MySQL est assez puissant pour parcourir vite les bases de données, ou si j'ai raté qq chose dans les méthodes d'approche

Reply

Marsh Posté le 09-07-2003 à 09:26:54   

Reply

Marsh Posté le 09-07-2003 à 10:41:12    

Ca peut se faire avec 2 tables :
- client : avec un identifiant id
- achat : avec une colonne id_client, et une colonne num_passage.
 
Toutes les lignes qui correspondent aux achats d'un client à l'un de ses passages auront les même valeurs pour le couple (id_client, num_passage). Lorsque le client repasse une nouvelle fois, la valeur de num_passage sera incrémentée.
 
Dans la table achat, tu peux avoir directement le nom du produit, ou un identifiant faisant référence à une autre table, qui contiendrait tous les produits disponibles.


Message édité par mrbebert le 09-07-2003 à 10:43:05
Reply

Marsh Posté le 09-07-2003 à 10:53:56    

plus ou moins d'accord avec mrBebert:
une table client (id, nom, prenom, etc.)
une table produit (reference_magasin, nom, etc.) //reference_magasin est unique, en théorie ...
une table passage (id, date, client)
une table achat (id, id_passage, id_reference_magasin, nombre_d'article)

Reply

Sujets relatifs:

Leave a Replay

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