Bonjour,

J'ai besoin de stocker des langues associés à un spectacle. Ensuite je vais devoir effectuer des sélections assez complexe pour regrouper les spectacles ayant telle ou telle langue (ok dis comme ca c'est simple mais y a tout un algo qui fait que ca va être complexe et je veux que ce soit le plus basique possible).

Solution 1:

Créer une colonne par langue puis avec un état à 0 ou 1. Bien mais ca va obliger de trainer des conditions simples mais très longue avec des OR et des AND qui seront illisibles. De plus la structure de la table sera à modifier si on veut ajouter une langue.

Solution 2:

Utiliser le type de colonne SET. http://dev.mysql.com/doc/refman/5.0/fr/set.html
Ca semble propre mais c'est pas standard du coup je vais galérer pour faire comprendre ça à mon framework zend. De plus, la structure de la table sera aussi à modifier si on ajoute une langue.

Solution 3:

Je fais une table d'association avec les langues etc. Surement la solution la plus propre mais qui complique quand même mon MCD pour pas grand chose.


Solution 4:

Du coup je cherche une autre solution. C'est très flou pour moi mais je pense qu'avec un champ varchar ou int je pourrais m'en sortir. Peut-être avec un calcule binaire et mettant en conf que la position 1 c'est FR, 10 c'est ES, 100 c'est EN, etc.

Cependant ca n'est pas très clair pour moi si je cherche ensuite un spectacle FR et EN (et ES on s'en fiche) par exemple.


Réponse :

La solution est certainement la 3 ou la 4, sachant que je préfèrerais que ce soit la 4 mais je ne sais pas comment m'y prendre.

Vous feriez comment à ma place ? Vous savez où je peux trouver de la doc sur la solution 4 ? D'autres pistes ?