一个任务:
创建一个SQL数据库,其中包含一个对象列表,这些对象表示将未知数量的问题翻译成以前未知数量的语言。此外,翻译必须具有类型属性。Одобрено如果是 JSON,那么它看起来像这样:
[
{
"id": 1,
"translations": {
"ru": {
"translation": "русский перевод",
"approved": true
},
"en": {
"translation": "english translation",
"approved": false
}
}
},
{
"id": 2,
"translations": {
"ru": {
"translation": "русский перевод",
"approved": true
}
}
}
]
可能的解决方案:
- 包含每种语言的列的表。单元格可以
null用于一种语言而不是翻译,它是来自另一个表的 ID,具有特定语言的翻译。我不喜欢它,因为 添加新语言时,您需要通过添加列来编辑表格。 - 一个有 2 列的表格 - ID 和用逗号 (
ru, en) 分隔的可用翻译,还有一个有 3 列的表格 - 表格 1 中的 ID、语言、问题 ID。我不喜欢这个选项,因为我需要以编程方式将数组切割成语言字符串.
问题:
如何正确地为这种情况设计数据库?
我会做两张桌子。
在第一个
id和идентификатор在第二个
id,translation和.lang_codeapproved因此,请求将是: