|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
En attente de confirmation mail
Inscription : mars 2006 Messages : 45 ![]() |
Bonjour,
je dois créer un menu qui sera dans un composant treeview pour un site. Cependant, j'ai un peu de mal avec mes bases de données, et je ne sais pas comment je pourrais créer une table qui contiendrais les éléments de mon menu. Quels champs dois-je mettre pour que ce soit vraiment une bonne structure de table? Il faut savoir que j'insère mon contenu du menu au chargement de la page qui contient celui-ci. (pour l'instant je fais des test avec un simple nom de menu, sans sous menu...) J'ai donc besoin, je suppose, de savoir si un élément du menu est un noeud racine ou un noeud enfant. Mon problème est donc de savoir quels champs je dois mettre dans ma table, et quelle requête je dois exécuter pour afficher les éléments dans mon treeview? merci d'avance, Zebeber |
|
|
00
|
|
|
#2 |
|
Membre chevronné
![]() Ingénieur développement logiciels Inscription : août 2003 Messages : 581 ![]() |
Bonjour, le problème de la représentation arborescente en base de données relationnelle est qu'il met en jeu des problème de récursivité, pas implémentable en interrogation SQL, ce qui se transforme donc en un nombre important de requetes.
Dans le cas d'un menu, tout dépend de la profondeur de l'arbre. Et tout dépend aussi du nombre de données à afficher. Si le nombre de menus est raisonnable, on pourrait envisager de charger tout le menu (1 seule requete SQL) puis de reconstruire l'arborescente avec un langage de programmation, pour enfin n'afficher que ce que l'on souhaite afficher. Il existe par ailleurs des techniques plus ou moins exotiques pour représenter des structure arborescentes en base de données, mais je ne sais pas si ça t'intéresse ? Sinon, si otn menu n'est pas trop gros, tu peux utiliser une structure qui ressemble à ça (à adapter après à ton cas) item(item_id, item_pere_id, label, position) Désolé pour les digressions en début de message, je me suis peut-être emballé ! a+ |
|
|
00
|
|
|
#3 |
|
Expert Confirmé
![]() Inscription : mai 2005 Messages : 3 633 ![]() |
Bonsoir Zebeber
Comme tu parles de TreeView , es-tu sous techno ASP.Net ? Sinon une base de données me paraît un peu lourd pour un simple affichage d'une arborescence sachant que tu disposes de xml
__________________
Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles |
|
|
00
|
|
|
#4 | |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 959 ![]() |
NAKO vous dites d'énormes bétises !!!
Citation:
Des SGBDR comme Oracle ont implémenté des solutions spécifiques bien avant cette date. Voici un article récent que j'ai écrit sur ce sujet : http://www.sqlservercentral.com/columnists/fBROUARD/recursivequeriesinsql1999andsqlserver2005.asp et un autre en français : http://sqlpro.developpez.com/SQL_Server_2K5/N1.php paragraphe : 1.5 Écriture des expressions de table (CTE : Common Table Expression, norme SQL:1999) : En l'absence de cette clause WITH, il est possible de représenter un arbre en mode intervallaire afin d'éviter toute récursivité du SQL. Voir les différents articles que j'ai consacré à la chose : http://sqlpro.developpez.com/cours/arborescence/ A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
|
00
|
|
|
#5 | |
|
Membre chevronné
![]() Ingénieur développement logiciels Inscription : août 2003 Messages : 581 ![]() |
Citation:
Je ne connaissais pas du tout. Je vais donc me tenir au courant. Désolé. |
|
|
|
00
|
|
|
#6 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 959 ![]() |
;-)
C'est pas grave on est là pour ça !!!! mais je constate que l'enseignement sur SQL dans les écoles d'ingé et les fac est assez médiocre ! A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
|
|
#7 |
|
En attente de confirmation mail
Inscription : mars 2006 Messages : 45 ![]() |
Je suis sous webdev version 9.
Mon menu aura uniquement 2 niveaux. donc un genre à ça : Home Services - service1 - service2 - service3 Réalisations - réalisation1 - réalisation2 - réalisation3 Autremenu News Mon menu sera affichable dans 5 langues, voila pourquoi je veux le mettre dans une base de données. En plus, j'ai fait un outil de gestion de contenu pour ce site, qui me permet de modifier tous les textes de mon site, et qui me permettra aussi par la même occasion (et via ce même outil) de gérer le contenu de mon menu (le texte, pas le nombres d'entrées) |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com