[SQL] Structure tables MySQL pour menu de Site Web - ch. conseil pour optimisation de requète

et si tu ferais une double clée genre

id rubrik n° rubrik place
1 test rubrik1 2
2 encore rubrik1 1

tu fais un select * from table where n° rubrik like xxx order by place
suffit plus que de faire des ajout avec une place donnée par l’user pr une tel rubrique

Rubrik 1 : encore
test

Chavais pas;

Faudrait que j’y repense pour quand je réinstallerai ma machine

(oui j’ai pgsql en service, mais m’en sert pas :))

y’a pas de mal, de toute façons on peut pas tout savoir :neutre:
mais j’aime beaucoup pg [:lefossoyeur]

Je viens de me demander un truc, quel interêt y’a-t-il à foutre le menu dans la base de données si, au final, il est géré par des Objets (j’ai une classe “Menu”, une classe “Rubrique” et une classe “Entree”) au sein du script PHP ?

Je peux très bien sérialiser le tout dans un fichier (qui serait ma “Base de données non-relationnelle”) et le charger (déserialiser) à chaque fois, ne serait-ce pas plus rapide ? Ma partie d’administration travaillerait également sur cet Objet “Menu” mais les modifications ne seraient pas écrite dans une table MySQL, à la place un fichier texte contenant la sérialisation de l’objet serait écrit sur le serveur.

Ainsi, ça évite toute la partie Base de données qui, au final, n’est pas très utile vu que l’ensemble des tables nécessaire pour le menu est chargé à chaque fois (ce que je veux dire c’est que cette méthode est viable -du moins je le crois- pour un menu mais qu’elle ne l’est pas pour gérer des Articles d’actualités car on ne veut pas charger l’ensemble des articles à chaque fois, et qu’on veut pouvoir faire des recherches, des tris, etc…).

Plus facile à gérer pour le tri? Et ensuite, si tu mets en cache le menu ça revient au même? Et si tu veux tu as l’approche Hibernate (je crois) qui consiste à calquer une table par un objet…

hibernate te fait un lien entre ton objet et ton tuple dans la table ( je suis en train de me documenter dessus) donc en gros ca fonctionne comme un ejb sans toute la programmation pas chouette ^^

tu as ton applic - object@link hibernate - bd

donc qd tu fais un set ou un get c’est direct par rapport à la bd

Mais c’est pas (encore) dispo en php :slight_smile:

Après quelques tests, la méthode serialize (linéarisation) de mon objet Menu est la plus rapide et la plus simple, plus besoin de recréer l’objet Menu à chaque fois, juste besoin de le recharger.