Bonjour !
J'ai un petit problème pour le choix d'une structure de base de données.
Je souhaiterais faire une petite application web pour apprendre l'anglais mais je souhaiterais pouvoir y adjoindre plus tard une autre langue, mettons l'allemand.
L'idée serait que l'app. propose un mot et qu'il faille en donner la traduction. On sélectionne donc dans quelle langue on veut que l'app propose le mot, et dans quelle langue on doit le traduire.
J'avais initialement pensé qu'une DB sous la forme :
.anglais
..id
..mot
..link
.francais
..id
..mot
..link
.allemand
..id
..mot
..link-table
..link-mot
où link-table et link-mot correspondent à la table et l'ID dans celle-ci du mot équivalent dans une autre langue
ne serait pas la plus adaptée.
On préférerait plutôt habituellement une structure du type :
.mots
..id
..mot
..langue
..link
.langues
..id
..langue
Mais je vois un problème : en cours de fonctionnement, l'app. va proposer un mot et demander sa traduction à travers un champ. L'utilisateur rentre alors sa traduction dans le champ et le résultat est comparé et c'est juste ou faux. Mais si on veut une série, à chaque nouvelle proposition, l'app. va devoir rebrasser la DB en effectuant un tri par ..langue.
Dans la première solution, tout se passait dans la même table, donc moins pédalage dans la DB il me semble.
Quelle solution choisir alors ?