Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/01/2012, 12h09   #1
Invité de passage
 
Inscription : novembre 2011
Messages : 3
Détails du profil
Informations forums :
Inscription : novembre 2011
Messages : 3
Points : 0
Points : 0
Par défaut Gestion des tables de références

Bonjour

On a tous connu ça :

Vous concevez la base de données... Les tables principales ont forcément dans leurs colonnes des clés étrangères référençant des tables de références. Les tables de références peuvent être volumineuses mais les données ne bougent pas beaucoup.

Par ex, une base de données référençant les espèces animales, avec pour chaque animal sa classe, son ordre, sa famille, son espèce etc...

Ensuite, pour gérer cette table, on crée une interface web avec une requête qui afficherait tous les enregistrements de la table, les clés étrangères remplacées par les libellés (c'est plus clair pour tout).

L'interface web offre la possibilité de filtrer la requête grâce aux clés étrangères. Le plus simplement, puisque pour chaque clé étrangère, la liste est sensée être "finie", du coup, j'utilise un élément de formulaire <SELECT>.

Et c'est là que j'ai besoin de vos avis :
Comment rempliriez vous cet élément <SELECT> ?

1ere solution : exporter les tables de ref dans des fichiers à inclure.
Pour éviter les aller-retour entre le site et la base, j'aurais tendance à exporter les tables de référence dans des fichiers en include avec les paires ID - Libelle et j'utiliserais ces fichiers pour remplir les balises <SELECT>. Les fichiers sont alors remis à jour à chaque fois que les tables de références sont mises à jour.

2me solution : faire de la requête SQL
Sinon, pour pas se crever, par balise SELECT, faire un select sur chacune des tables de références à chaque fois qu'on affiche la page web (donc si il y a 4 tables de références, il y a facilement au minimum 5 requêtes SQL sur la même page... mon petit doigt me dit que c'est pas très bon ça... mais je ne sais pas si mon petit doigt a raison)

En 2bis, je peux peut-être faire de la requête SQL en cachant les résultats... mais si les tables de référence changent ?

3me solution : les procédures stockées
Sinon, est-ce que le principe de procédures stockées en mysql peut m'aider dans ce que je veux faire ?

Merci pour votre aide.
Je cherche surtout une réponse argumentée parce que je ne maîtrise pas bien les contraintes de performance et je veux essayer de comprendre à partir de vos réponses. Merci
haclong est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h54.


 
 
 
 
Partenaires

Hébergement Web