构建多语言词典数据库的表

时间:2013-04-01 19:27:22

标签: database database-design normalization

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

  

字| english_meaning1 | marathi_meaning1 | english_meaning2 |   marathi_meaning2 ... english_meaningN | marathi_meaningN


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

:单词

  • word_id
  • english_meaning1
  • marathi_meaning1
  • english_meaning2
  • marathi_meaning2
  • english_meaning3
  • marathi_meaning3
  • english_meaning4
  • marathi_meaning4 的



  • english_meaning10
  • marathi_meaning10


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

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

  

about1 - 含义
约2 - 含义

然后我将它们作为单独的行保存在上面的结构化表中 这种方法有问题吗?这可以通过规范化来解决吗?我想到了一个方法 表格将是:
表:

  • word_id

表: word_english

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


表: word_marathi

  • ID
  • word_id
  • marathi_meaning

我不确定上述方法是否有意义。谁有人建议可能的解决方案?提前谢谢!

1 个答案:

答案 0 :(得分:1)

ooof。绝对正常化

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表