如何关联数据库中单个属性的值

How to relate values of a single attribute in database

我对如何在 MYSQL 数据库中的单个属性的值之间建立关系感到困惑,例如我在数据库中有两个表名为 "Language" 和 "Dictionary" 所以在实体 "Language" 中有两个属性第一个是 "language_id" 另一个是 "Name" 在 language_id 存储语言名称的 id,并在属性 "Name" 中存储语言名称,例如"language_id = 201" "Name = English" 和实体 "Dictionary" 中有三个属性 第一个是 "id" 这是主键 第二个是 "Word" 其中单词根据名称存储语言和第三种是 "language_id" ,它被用作外键来实现一对多关系。现在的困惑是,如果我用不同的 language_id 存储两种不同的语言,例如英语和乌尔都语,那么它们的外键会成功地存储在属性 "Word" 中,但是我如何关联两个不同的词具有相同含义的语言以实现翻译。所有的回复都值得赞赏。谢谢

我的第一个想法是在词典中添加一个额外的列来引用主词。这两个表可能如下所示:

Language
--------
language_id
name

Dictionary
----------
id
word
language_id
primary_id

如果主词是英文,它的 primary_id 将为空。添加的每种后续语言都会将 primary_id 设置为英语单词的 ID。

language_id | name
-----------   ----
201         | English
202         | Spanish

id | word    | language_id | primary_id
--   ----      -----------   ----------
1  | hello   | 201         | null
2  | goodbye | 201         | null
3  | hola    | 202         | 1
4  | adios   | 202         | 2