如何使用语言建模用户配置文件?如何存储语言?

时间:2017-08-18 16:01:33

标签: sql postgresql database-design

Say User1说英语,中文和User2说英语,西班牙语。

假设还有更多语言可供选择。

我应该像以下一样存储:

user
---
id: 1 | languages_spoken: [1,2]
id: 2 | languages_spoken: [1,3]

user
---
id: 1 | languages_spoken: ["English","Chinese"]
id: 2 | languages_spoken: ["English","Spanish"]

如果我选择languages_spoken: int[],我应该如何将这些转换为显示的值?我应该有一个单独的表language来映射1->"English",还是应该只使用前端的代码转换它?

(我来自NoSQL背景,所以这让我感到困惑。)

1 个答案:

答案 0 :(得分:0)

最好有3个分开的表。

User: user_id (pk), user_name
Languages: language_id (pk), language
User_Languages: user_id (fk), language_id (fk)