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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  comment faire les tables pour mon problème

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

comment faire les tables pour mon problème

n°233938
art_dupond
je suis neuneu... oui oui !!
Posté le 24-10-2002 à 16:14:02  profilanswer
 

voilà
 
en fait j'aurai des trucs du genre:
 
 

[g]Programmation -> Internet -> PHP -> Tutorials ->[/g] ([#0000ff]url_1, url_2[/#0000ff])
[g]Programmation -> Internet -> PHP ->[/g] ([#e21c00]url_3, url_4, url_5[/#e21c00])
[g]Programmation -> Internet -> Tutorials ->PHP ->[/g] ([#0000ff]url_1, url_2[/#0000ff])
[g]Programmation -> Tutorials -> PHP ->[/g] ([#0000ff]url_1, url_2[/#0000ff])
[g]Programmation -> Internet -> PHP -> Tutorials ->[/g] ([#0000ff]url_1, url_2[/#0000ff])
[g]Programmation -> Internet -> PHP -> [/g]([#e21c00]url_3, url_4[/#e21c00])
 
[g]Programmation -> PHP -> Tutorials ->[/g] ([#0000ff]url_1, url_2[/#0000ff])
[g]Programmation -> PHP ->[/g] ([#e21c00]url_4, url_5[/#e21c00])


 
 
donc une catégorie peut etre la sous-catégorie de plusieurs catégories.
 
 
Mon problème est que je ne sais pas comment faire mes tables pour que les url se mettent au bon endroit :
 
Progra -> PHP -> Tut -> url_1
Progra -> Tut -> PHP -> url_1
 
 
si url_1 est dans la catégorie PHP (sous-categ de Tut)
comment lui dire de se mettre dans Tut quand Tut est sous-categ de PHP ?
 
En fait j'y arrive quand il n'y a que deux catégories concernées (PHP et Tut)
 
mais comment faire pour que ce soit général, pour que je puisse lier n'importes quelles catégories entre elles (comme en haut).
 
 
je sais pas si c'est très clair :sweat:


---------------
oui oui
mood
Publicité
Posté le 24-10-2002 à 16:14:02  profilanswer
 

n°233946
western
AJMM
Posté le 24-10-2002 à 16:20:17  profilanswer
 

si quelqu'un fait plus obscure, c'est qu'il vachement balèze

n°234016
irulan
Posté le 24-10-2002 à 17:24:03  profilanswer
 

En fait je verrais 4 tables :

Code :
  1. * CATEGORIES
  2.   ----------
  3.   ID_CATEG
  4.   NOM_CATEG
  5. -> contient la liste exhaustive et non hierarchisée des catégories
  6. * URL
  7.   -------
  8.   ID_URL
  9.   NOM_URL
  10. -> contient la liste exhaustive des URL


Puis deux tables qui permettront l'une de hiérarchiser les catégories en fonction du niveau de menu, et l'autre d'associer une URL à une hiérarchie donnée

Code :
  1. * HIERARCHIE_CATEG
  2.   ----------------
  3.   ID_CATEG_MERE
  4.   ID_CATEG_FILLE
  5.   NIV_MENU
  6. -> permet de définir pour chaque élément de menu la catégorie immédiatement supérieure.
  7. * URL_HIERARCHIE_CATEG
  8.   --------------------
  9.   ID_URL
  10.   ID_CATEG_MERE
  11.   ID_CATEG_FILLE
  12.   NIV_MENU
  13.  
  14. -> permet d'associer une ou plusieurs URL pour une categorie hiérarchisée donnée, et pour un niveau de menu donné.


 
Exemple : la ligne Programmation -> Internet -> PHP -> Tutorials serait ainsi enregistrée :
 

Code :
  1. Table CATEGORIES : ID_CATEG  NOM_CATEG
  2.                    --------  ---------
  3.                    1         Programmation
  4.                    2         Internet
  5.                    3         PHP
  6.                    4         Tutorials
  7. Table HIERARCHIE_CATEG : ID_CATEG_MERE  ID_CATEG_FILLE  NIV_MENU
  8.                          -------------  --------------  --------
  9.                          1              1               1        (Programmation est au niveau 1 de menu et est donc elle-même catégorie mère et fille)
  10.                          1              2               2
  11.                          2              3               3
  12.                          3              4               4


La ligne Programmation -> Internet -> Tutorials ->PHP serait ensuite enregistrée :

Code :
  1. Table HIERARCHIE_CATEG : ID_CATEG_MERE  ID_CATEG_FILLE  NIV_MENU
  2.                          -------------  --------------  --------
  3.                          2              4               3
  4.                          4              3               4
  5. NB : les 2 premiers éléments du menu ont déjà été codés précédemment.


et ainsi de suite...
 
Puis les URL correspondantes sont associées :
 

Code :
  1. Table URL : ID_URL  NOM_URL
  2.             ------  -------
  3.             1       url_1
  4.             2       url_2
  5. Table URL_HIERARCHIE_CATEG : ID_URL  ID_CATEG_MERE  ID_CATEG_FILLE  NIV_MENU
  6.                              ------  -------------  --------------  --------
  7.                              1       3              4               4
  8.                              2       3              4               4
  9.                              1       4              3               4
  10.                              2       4              3               4


et ainsi de suite...
 
Ensuite pour une requête tu n'aurais plus qu'à envoyer en paramètres pour ta requête le niveau de menu où tu te trouves, la catégorie où tu te trouves (correspond à la catégorie fille) et la catégorie immédiatement supérieure (correspond à la catégorie mère).
 
Voilà, c'est tout pour l'instant, ce n'est qu'un premier jet, libre à tout le monde de critiquer / affiner ce modèle de données...


Message édité par irulan le 24-10-2002 à 17:30:02
n°234147
art_dupond
je suis neuneu... oui oui !!
Posté le 24-10-2002 à 22:09:46  profilanswer
 

waouw, je pensais pas que quelqu'un aurait compris ce que je voulais faire :p
 
C'est vrai que j'avais pas pensé à faire deux tables pour lier tout ca (j'suis neuneu aussi :) )
 
 
Merci, je vais un peu voir ca...
 
 
sinon j'étais en train de penser à une autre méthode, mais ce n'est pas encore tout à fait clair... et de toute facon, je sens que ca va pas marcher.  
 
 
Enfin je ferai tout ca demain parce que c'est l'heure de  :sleep:


---------------
oui oui
n°234291
irulan
Posté le 25-10-2002 à 09:29:42  profilanswer
 

Tiens-moi au courant, je suis curieux de savoir si ce que je propose répond bien à tes besoins...

n°234442
art_dupond
je suis neuneu... oui oui !!
Posté le 25-10-2002 à 13:49:06  profilanswer
 

ok bien sur :)


---------------
oui oui
n°235741
art_dupond
je suis neuneu... oui oui !!
Posté le 28-10-2002 à 10:24:21  profilanswer
 

bon voilà, je crois que je vais faire comme ca :
 
 
HIERARCHIE_CATEG  
----------------  
HIERARCHIE_CATEG_ID
ID_CATEG_MERE  
ID_CATEG_FILLE  
NIVEAU
 
 
SITES
-----
ID_HIERARCHIE_CATEG
ID_SITE
NIVEAU
 
 
voili :)
 
en tout cas, merci de ton aide :)


---------------
oui oui
n°235855
irulan
Posté le 28-10-2002 à 13:35:03  profilanswer
 

art_dupond a écrit a écrit :

bon voilà, je crois que je vais faire comme ca :
 
 
HIERARCHIE_CATEG  
----------------  
HIERARCHIE_CATEG_ID
ID_CATEG_MERE  
ID_CATEG_FILLE  
NIVEAU
 

SITES
-----
ID_HIERARCHIE_CATEG
ID_SITE
NIVEAU

 
voili :)
 
en tout cas, merci de ton aide :)




 
Effectivement utiliser une ID pour HIERARCHIE_CATEG n'est pas mal. Mais à ce moment-là, pourquoi garder la notion de NIVEAU au niveau de la table SITE, puisque celui-ci est déjà défini au niveau de HIERARCHIE_CATEG ? Cette redondance n'est à mon avis pas nécessaire : en effet, tu lanceras tes requêtes sur HIERARCHIE_CATEG principalement, du coup le NIVEAU sera déjà pris en compte du fait de la structure de la table ?

n°235856
art_dupond
je suis neuneu... oui oui !!
Posté le 28-10-2002 à 13:38:47  profilanswer
 

oui c'est vrai :)
 
 
merci encore


---------------
oui oui

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

  comment faire les tables pour mon problème

 

Sujets relatifs
Probleme d'affichage de Canvas dans un panel[C] Probleme de noms de fichier longs....
Problème avec une requête SQL[PHP] Problème de configuration de PHP sur ma machine
[Urgent] Probleme de communication[XHTML 1.1] Problème de validation
Problème avec les sessionsLecture d'un fichier... problème de Read !!!
Problème IE : décalage des images dans les tablesProblème avec les tables d'un forum :(
Plus de sujets relatifs à : comment faire les tables pour mon problème


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