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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

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

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

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

n°198760
freeman_78
Posté le 21-08-2002 à 13:26:53  profilanswer
 

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
mood
Publicité
Posté le 21-08-2002 à 13:26:53  profilanswer
 

n°198784
instantdha​rma
Ailleurs c'est ici
Posté le 21-08-2002 à 13:46:57  profilanswer
 

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
n°198797
MagicBuzz
Posté le 21-08-2002 à 14:00:32  profilanswer
 

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.

n°198798
freeman_78
Posté le 21-08-2002 à 14:01:17  profilanswer
 

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

n°198801
freeman_78
Posté le 21-08-2002 à 14:02:43  profilanswer
 

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
n°198818
MagicBuzz
Posté le 21-08-2002 à 14:14:42  profilanswer
 

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

n°198825
freeman_78
Posté le 21-08-2002 à 14:21:40  profilanswer
 

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 !

n°198859
MagicBuzz
Posté le 21-08-2002 à 14:48:44  profilanswer
 

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

n°198861
MagicBuzz
Posté le 21-08-2002 à 14:49:56  profilanswer
 

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...

n°198886
freeman_78
Posté le 21-08-2002 à 15:05:28  profilanswer
 

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 ?

mood
Publicité
Posté le 21-08-2002 à 15:05:28  profilanswer
 

n°198904
freeman_78
Posté le 21-08-2002 à 15:19:29  profilanswer
 

la table TYPE, je mettrais quoi comme champs dedans ?

n°198920
--greg--
Posté le 21-08-2002 à 15:30:04  profilanswer
 

id et description par exemple


Message édité par --greg-- le 21-08-2002 à 15:30:08
n°198954
MagicBuzz
Posté le 21-08-2002 à 15:53:08  profilanswer
 

Et nom aussi :D

n°198956
freeman_78
Posté le 21-08-2002 à 15:55:29  profilanswer
 

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)
 
...

n°198963
MagicBuzz
Posté le 21-08-2002 à 15:59:35  profilanswer
 

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
n°198968
freeman_78
Posté le 21-08-2002 à 16:05:35  profilanswer
 

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 ...

n°198970
MagicBuzz
Posté le 21-08-2002 à 16:06:35  profilanswer
 

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.

n°198978
freeman_78
Posté le 21-08-2002 à 16:21:12  profilanswer
 

ben si possible oui ...  :sweat:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

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

 

Sujets relatifs
Arrondir dans une requette MySQL ?[MySQL] Connaître la date d'un éventuel dernier accès.
[MySQL ] - SELECT et UPDATE[XSL-XML] Script XSL et données XML => intéraction : soluce inside
Garnir un champ 'dateHeure' dans une base MySQL - [RÉSOLU]Faire un SELECT MySQL sur une chaîne contenant des accents
mysql veut pas prendre toutes les entrées de ma table access?!Ordonner une liste d'images avec mysql...
je cherche une applet RTP, help me !!Erreur serveur lors de l'upload de ma base MySQL
Plus de sujets relatifs à : [MySQL] help schéma bdd... newbee inside


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