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

标签 mysql database attributes translation relationship

我对如何在 MYSQL 数据库中的单个属性的值之间建立关系感到困惑,例如我在数据库中有两个表,分别名为“语言”和“字典”,因此在实体“语言”中有两个属性,第一个是“语言_id”,另一个是语言_id中的“名称”,语言名称的 id 存储在属性“中名称”语言名称被存储为例如“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 将为 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

关于mysql - 如何关联数据库中单个属性的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39863970/

相关文章:

mysql - 返回第一个结果,其中 CASE 结果 = X?

attributes - Axis SecureSocketFactory - 设置构造函数属性

mysql - 嵌套表上的级联删除

php - 根据所做的选择选择框加载

MySQL 转换表模式,同时将数据保留在新结构中(你见过的最好的模式)

java - 链接到 Access 数据库时如何输入相对 URL

javascript - 如何使用 jQuery 读取 data-* 属性的原始内容?

swift - 具有属性的子类 UIButton 不会改变 UI

java - 在java上备份mysql数据库

mysql - 如何在SQL中选择仅一个字段和所有其他字段重复的记录?