placé un element sous plusieurs catégorie dans une base de donnéés - SQL/NoSQL - Programmation
Marsh Posté le 14-07-2003 à 17:37:49
3 tables :
- les sites
- les catégories
- une table qui fait le lien entre les différentes catégories
Cette 3ème table peut être très simple, avec 2 champs seulement
- id_site
- id_cat
Marsh Posté le 14-07-2003 à 17:41:14
j ai deja 3 tables,
j ai une table pour les liens, une pour les catégorie et une pour les sous catégories.
Marsh Posté le 14-07-2003 à 17:43:25
sebinfo a écrit : j ai deja 3 tables, |
et bien tu en fais une 4° avec les liens qui relient cat et sous-cat...
Marsh Posté le 14-07-2003 à 20:41:43
comment je dois définir les clé dans cette 4 eme table ??
Marsh Posté le 14-07-2003 à 20:49:38
Ce n'est peut être pas utile de faire une table intermédiaire entre les cats et les sous-cats. Il suffit d'une colonne dans la table des sous-cats indiquant l'id de la cat.
Marsh Posté le 14-07-2003 à 22:35:30
Non le probleme c ke je ne pourrais pas mettre plusieurs fois le même site de cette facon, ta premiere idee etait pas mal, j ai essayé mais le pb c ke j ai mit 3 elements en clé primaire et ca dit ke je ne peux en mettre ke un seul
Marsh Posté le 14-07-2003 à 22:41:29
sebinfo a écrit : Non le probleme c ke je ne pourrais pas mettre plusieurs fois le même site de cette facon, ta premiere idee etait pas mal, j ai essayé mais le pb c ke j ai mit 3 elements en clé primaire et ca dit ke je ne peux en mettre ke un seul |
Rien à voir avec les clés primaires... Aucun interet de vouloir en définir plusieurs
Marsh Posté le 14-07-2003 à 23:03:14
sebinfo a écrit : ok mais je dois en définir au moins une alors laquelle ? |
T'es pas obligé de définir une clé primaire sur t'as 4° table...
Marsh Posté le 14-07-2003 à 23:38:22
OK, kan j ai exécuté ma requete y a pas eu d erreurs; maintenant kel requete je pourrais faire pour voir si l organisation de ma base est cohérente
Marsh Posté le 15-07-2003 à 09:18:54
j ai retranscrit la structure de ma base sur microsoft acess; avec donc 4 tables (1 sites, 2 catgories, 3 sous catégories, 4 unions ( faisant le lien entre les 3 tables). et j'ai fait un teste sur des données, en insérant un site ce trouvant dans la catégorie informatique et dans 4 autres sous catégories.
en réalisant la requete suivante:
afficher les sites se trouvant dans la catégorie informatique, le pb c ke j obtient 4 résultats, et j en voudrais qu'un.
commen je peux régler ce pb?
Marsh Posté le 16-07-2003 à 01:12:08
si j'ai bien compris ta structure, pour avoir les sites qui se trouvent ds la catégorie informatique essaie cette requete :
select nom_site, nom_cat from sites s, categorie c, union u
where (s.id_site = u.id_site)
and (u.id_cat = c.id_cat)
and (nom_cat = 'informatque')
Marsh Posté le 16-07-2003 à 15:33:54
sebinfo a écrit : [..] |
sebinfo a écrit : j ai retranscrit la structure de ma base sur microsoft acess |
Marsh Posté le 14-07-2003 à 17:20:05
Voila je suis en train de réaliser un annuaire de sites, qui seront classés sous des catégories et sous catégories.
Je suis en train d'élaborer ma base de données.
J ai juste un ptit probleme, comment faire quand un site doit etre classé sous une catégorie, mais sous plusieurs sous catégorie.
je realise ma base de données grace à phpMyAdmin