|
Foreign Key. Как лучше реализовать?
|
|||
---|---|---|---|
#18+
Всем привет. Нужна помощь опытных. Есть таблица Classes, в ней будет определенный данные и ГЛАВНОЕ в ней нужен ПЕРЕВОД. То есть можно сделать по самому примитивному варианту, создать колонки "nameRU", "nameEN" и т.д. Я решил попробовать через SQLite и привязку к другой таблице Localization по Foreign Key. Таблица Localization примитивная, есть ключ и колонки RU EN .... То есть это большой список ключей и переводов, а на неё типа ссылаются другие таблицы. Тут важно учесть что в таблице Classes, есть 4!! колонки которые нужно локализовать. То есть при запросе придется делать 4 JOINT к Localization и получать для каждой из 4 колонок перевод.... Как бы сделали вы? Речь именно про SQLite и про перевод колонок таблицы. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2019, 18:58 |
|
Foreign Key. Как лучше реализовать?
|
|||
---|---|---|---|
#18+
Druid8, Можно попробовать такую схему, если не хочется много джойнов писать. Каждая запись со своим переводом хранится в таблице ресурсов и кодом языка. ID ресурса и код языка составляют первичный ключ. В основной таблице будет хранить ID этого ресурса, а в выборке будем подставлять код языка, который потребуется. FK тут уже нормально построить не получится... Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.
Выбираем строки Код: sql 1. 2. 3.
Результат idsurnamenamepatronymicagephone1ИвановИванИванович25888882ПетровПетрПетрович3699999 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2019, 20:24 |
|
|
start [/forum/topic.php?fid=54&fpage=2&tid=2008385]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
others: | 281ms |
total: | 398ms |
0 / 0 |