我想要这样的数据库设计。它用于存储一种语言的单词列表,即英语,以及用另一种语言(即西班牙语)翻译它们。所以最初我有一个表英语(id,word,isTranslated)。
1 i false
2 love false
3 you false
4 hate false
5 him false
...
" isTranslated"是一个布尔值,表示该单词是否有翻译。
在Web前端,每次在表格英文的html页面中显示多个单词。例如:
2 love
3 you
4 hate
然后,用户单击每个单词并在Web表单中提交翻译后的单词,并将其存储到西班牙语表中。与英语表不同,西班牙语表以零记录开头。它通过html表单逐渐填充。
我认为西班牙语表格应该与英语表格相同;
西班牙语(id,word,isTranslated)
这样我就可以拥有另一个关联表EnglishSpanish(English_ID,Spanish_ID),它将翻译的对存储在两个表中。这是一个多对多的关系。该表的目的是便于检索语言中单词的对应部分。
这有意义吗?我遇到的麻烦是,如果用户随时间提交翻译,如何逐渐填充其他两个表格西班牙语和英语西班牙语?第一个表格是预先加载的。
感谢您的见解和帮助。
答案 0 :(得分:0)
我曾经设计过一个字典(一对一)的关系,就像在现实世界中一样,你只会为每个英语短语选择一个最好的翻译:
id, term, lang, english_id
1 I En 1
2 Love En 2
3 You En 3
4 我 Cn 1
5 爱 Cn 2
6 你 Cn 3
7 ichi De 1
...
Above Designed也适用于一对多关系
如果你想要多个关系,你需要2个表:
id, term, lang
1 xyz en
2 ...
id1, id2
1 2
1 3
2 5
...