[MySQL] help schéma bdd... newbee inside

help schéma bdd... newbee inside [MySQL] - SQL/NoSQL - Programmation

Marsh Posté le 21-08-2002 à 13:26:53    

Bonjour !
Je voudrais transformer un catalogue de produits en base de données MySQL pour pouvoir consulter ce catalogue online et pouvoir faire des recherches d'articles en fonction de certains critères (type de meuble, couleur, matériau...).
Pour ça, j'ai créé plusieurs tables contenant les champs :
- nom (le nom du produit)
- photo (url de la photo du produit)
- description (...)
- tarif (...)
 
Chaque table regroupe les produits d'une même catégorie. (ex : tables, chaises, canapés...).
 
Est-ce que ce schéma est correct ... ?
Pour adapter un moteur de recherche par mot clés, est-il possible de le faire comme c'est ou alors est-il mieux de rajouter un champs "mots-clés" pour chaque produit ?
 
Si vous avez d'autres conseils, je suis preneur !!
Merci d'avance !


Message édité par freeman_78 le 21-08-2002 à 13:27:19
Reply

Marsh Posté le 21-08-2002 à 13:26:53   

Reply

Marsh Posté le 21-08-2002 à 13:46:57    

salut
il faudrait que tu donnes le schéma de ta base - ou mieux, le mcd  :) pour qu'on puisse se faire une idée, & q tu explicites un peu + tes besoins


---------------
di. / www.diredaredare.org - Ailes de la ville
Reply

Marsh Posté le 21-08-2002 à 14:00:32    

Utilise une seule table avec un champ en plus "TYPE_ID"
 
Puis une table "TYPE" contenant la liste des types de produits (Table, chaise, etc.)
 
Faire des mots clés permettra une recherche à peine plus rapide, et sera très contraignant.
Donc autant ne pas l'utiliser.

Reply

Marsh Posté le 21-08-2002 à 14:01:17    

euh oui volontiers, mais c'est à dire ? c'est quoi le mcd ?

Reply

Marsh Posté le 21-08-2002 à 14:02:43    

MagicBuzz a écrit a écrit :

Utilise une seule table avec un champ en plus "TYPE_ID"
 
Puis une table "TYPE" contenant la liste des types de produits (Table, chaise, etc.)
 
Faire des mots clés permettra une recherche à peine plus rapide, et sera très contraignant.
Donc autant ne pas l'utiliser.



ah voui merci beaucoup !!
comme ça j'ai qu'une table et c'est plus facile pour chercher... mais dans ce cas pour la recherche je fais appel aux mots de la description ?


Message édité par freeman_78 le 21-08-2002 à 14:02:56
Reply

Marsh Posté le 21-08-2002 à 14:14:42    

oui, avec un like '%MOT_CLE%'
 
si t'as pas 2 millions de produits, ça suffit.

Reply

Marsh Posté le 21-08-2002 à 14:21:40    

je comprends pas vraiment le truc du like '%MOT_CLE%' ? tu pourrais m'expliquer ?
 
mais non en effet y'a pas énormément de produits... 119 exactement :)
 
 
merci d'avance !

Reply

Marsh Posté le 21-08-2002 à 14:48:44    

quand tu rechercheras un produit pas mot clé, la requête sera :
 
select NOM from TABPRO where NOM LIKE '%mot_clé%';

Reply

Marsh Posté le 21-08-2002 à 14:49:56    

C'est une instruction lente et pas très recommandée, mais pour une base qui n'a pas énormément de lignes, c'est très bien.
 
Ca commence réellement à poser problème sur des champs de type text de plusieurs Ko par ligne avec plus de 100 000 lignes sinon...

Reply

Marsh Posté le 21-08-2002 à 15:05:28    

oki donc dans mon cas ça ira très bien :)
 
sinon il existe des ptits moteurs de recherche tout faits que je pourrais adapter à ma bdd et à la table ?

Reply

Marsh Posté le 21-08-2002 à 15:05:28   

Reply

Marsh Posté le 21-08-2002 à 15:19:29    

la table TYPE, je mettrais quoi comme champs dedans ?

Reply

Marsh Posté le 21-08-2002 à 15:30:04    

id et description par exemple


Message édité par --greg-- le 21-08-2002 à 15:30:08
Reply

Marsh Posté le 21-08-2002 à 15:53:08    

Et nom aussi :D

Reply

Marsh Posté le 21-08-2002 à 15:55:29    

3 champs dans cette table ?
pourquoi une description ... ?
 
dans cette table j'ai mis un champ "cat2 (où je mets le nom de la catégorie" et un champ "id" (là je mets le ptit numéro qui correspond à la catégorie)
 
...

Reply

Marsh Posté le 21-08-2002 à 15:59:35    

Exemple :
 
TYPE
ID = Numéro - Unique pour chaque type
NOM = Nom du type (Chaise, Table, etc.)
DESCRIPTION = Description promotionnelle (Découvrez notre gamme de chaise grand confort à revêtement anti-taches...)
 
PRODUIT
ID = Numéro ou chaîne correspondant au code catalogue par exemple
NOM = Nom du produit (Chaise à montants imitation chêne et revêtement accrylique)
DESCRIPTION = Description (Chaise de salon à bas prix anti-taches. Très bonne alternative pour un salon "ancien" nécessitant peut d'entretien.)
TARIF = Prix (entier, en centimes) (8000 pour 80 ?)
PHOTO = Chemin d'accès à la photographie (/photos/DZ32H.jpg par exemple)
TYPE_ID = Numéro correspondant à l'ID du type rattaché.
 
Pour ton "moteur de recherche", utilise une requête du genre (pour le mot clé "chêne" par exemple) :
 
SELECT ID, NOM
FROM PRODUIT
WHERE NOM LIKE '%chêne%'
OR DESCRIPTION LIKE '%chêne%'
 
Et si tu veux ajouter un filtre pour un type donné, rajoute à la fin de la requête (pour le type 2 par exemple) :
 
AND TYPE_ID = 2


Message édité par MagicBuzz le 21-08-2002 à 16:01:12
Reply

Marsh Posté le 21-08-2002 à 16:05:35    

yessssssss merci monsieur !!
là au moins je comprends bien :D
et j'ai tout bon en +  :D  
 
bon pour le formulaire de recherche on en est pas encore là par contre :/ ça va pas être facile ça je sens ...

Reply

Marsh Posté le 21-08-2002 à 16:06:35    

Si.
 
Là où ça va se compliquer, c'est si tu veux donner la possibilité de faire des "AND", "OR" dans la recherche, et sur plusieurs mot-clés.

Reply

Marsh Posté le 21-08-2002 à 16:21:12    

ben si possible oui ...  :sweat:

Reply

Sujets relatifs:

Leave a Replay

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