Je suis novice en matière de conception de bases de données et je n'ai pas trouvé de méthode définitive pour structurer ma base de données de vocabulaire. Les champs non pertinents mis à part, les données que je veux stocker sont conceptuellement quelque chose comme ceci :
Mot 1
-
Signification 1 (1-n de ceux-ci)
-
Exemple 1 (0-n de ceux-ci)
-
Exemple 2
-
...
-
Signification 2
-
...
Mot 2
...
Or, un mot est identifié par trois attributs : Nom du mot, Langue, et POS (part of speech). J'ai configuré cela comme une clé composée. D'après ce que j'ai lu, j'ai compris que les significations et les exemples devraient être dans des tables séparées, peut-être quelque chose comme ceci :
Tableau des mots
-
Clé
-
Nom de mot
-
Langue
-
POS
-
...
Table de signification
-
Clé
-
Nom de mot
-
Langue
-
POS
-
Signification (1-n lignes par clé)
Exemple de tableau
-
Clé
-
Nom de mot
-
Langue
-
POS
-
Signification
-
Exemple (0-n lignes par clé)
Mais cela me semble être une quantité horrible de données dupliquées. Serait-il préférable d'extraire la clé nom du mot-langue-POS dans une table séparée et de donner à chaque ligne une clé unique ? Existe-t-il une approche plus efficace ?
Merci beaucoup.