modéliser DB

modéliser DB - SQL/NoSQL - Programmation

Marsh Posté le 09-03-2009 à 16:52:11    

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 ?

Reply

Marsh Posté le 09-03-2009 à 16:52:11   

Reply

Marsh Posté le 09-03-2009 à 17:44:14    

Si ton idée est de pouvoir facilement rajouter par la suite des nouvelles langues, alors je ferais la deuxieme solution : comme ca, un id langue supplementaire, les traductions qui vont bien dans la table et tu peux facilement faire toutes les traductions de n'importe quelle langue vers n'importe quelle autre.
 
La premiere solution implique qu'a chaque nouvelle langue tu dois retoucher au schema de la bdd. C'est pas la fin du monde en soit, mais c'est pas necessaire.


Message édité par fluminis le 09-03-2009 à 17:44:55

---------------
http://poemes.iceteapeche.com - http://www.simuland.net
Reply

Marsh Posté le 09-03-2009 à 18:29:13    

D'accord, merci de ton aide !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed