2

我想为多语言词典(英语 - 马拉地语)的数据库构建表。马拉地语是印度的一种地方语言。
字典的格式是:

词 | 英语含义1 | marathi_meaning1 | 英语含义2 | marathi_meaning2 ... english_meaningN | marathi_meaningN


单词可以具有可变数量的英语和马拉地语含义,具体取决于它是否属于任何词汇类别(名词、副词、动词、形容词等)。
目前我想到了一种低效的方法来创建这样的表格:

表格: 单词

  • word_id
  • 单词
  • 英语含义1
  • marathi_meaning1
  • English_meaning2
  • marathi_meaning2
  • English_meaning3
  • marathi_meaning3
  • English_meaning4
  • marathi_meaning4

    .
    .
    .
  • English_meaning10
  • marathi_meaning10


在这里,我假设英语单词的英语和马拉地语含义有固定数量的列(20)。因此,如果一个词只有一个含义(英语和马拉地语),其余列将保持为空。

此外,如果它是一个单词,例如:'about',在字典中显示为:

about1 -含义
about2 - 含义

然后我将它们维护为上述结构化表中的单独行。
这种方法是不是有问题?这可以通过规范化来解决吗?我已经想到了表格的一种方式:
表格:单词

  • word_id
  • 单词

表:word_english

  • ID
  • word_id(来自单词表的 FK)
  • English_meaning


表:word_marathi

  • ID
  • word_id
  • 马拉地语意思


我不太确定上述方法是否有意义。任何人都可以提出一个可能的解决方案吗?提前致谢!

4

1 回答 1

1

哎呀。绝对正常化

word
---------
word_id
word
definition
language_id
lexical_part_id

language
-----------
language_id
name

word_word
------------
word1_id
word2_id

lexical_part
-------------
lexical_part_id
name

然后用等价图填写word_word表

于 2013-04-01T23:13:54.277 回答