如何关联数据库

时间:2016-10-05 01:09:52

标签: mysql database attributes translation relationship

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

1 个答案:

答案 0 :(得分:0)

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

Language
--------
language_id
name

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

如果主要单词是英文,则其primary_id为null。然后,添加的每个连续语言都会将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