Bonjour,
je travaille actuellement à la conception d'un intranet pour ma boite, et ce sera de loin mon plus gros chantier php/mysql jusqu'ici : ça me pose des problèmes d'organisation et de méthodoloie.
Je me demandais si vous pourriez m'éclairer sur le point suivant :
Dans ma base, je gère (entre autres) des enseignants et leurs affectations dans des établissements. Il y a une table enseignants, une table établissements, une table disciplines et une table affectations, cette dernière contenant l'ID de l'enseignant, l'ID de son établissement d'affectation, l'ID de sa discipline + quelques autres infos.
Donc, si je veux afficher une liste des enseignants avec leur établissement d'affectation et la discipline qu'ils y enseignent, je dois faire un select sur la table affectations, puis :
- récupérer l'ID de l'enseignant pour aller lire son nom dans la table enseignants
- récupérer l'ID de l'établissement pour aller lire son nom dans la table établissements
- récupérer l'ID de la discipline pour aller lire son libellé dans la table disciplines.
Ma question est :
vaut-il mieux procéder comme ça, sachant que pour un enseignant on doit faire 4 SELECT, ou est-il plus économe de recopier carrément les noms de l'enseignant, de l'établissement et de la discipline dans la table affectations ?
Quelle est la priorité dans ce cas : le poids de la base de données + l'unicité de stockage des données, ou alors la simplicité du code + limitation des accès à la base ?
Merci d'avance pour vos conseils
Corinne