Если мне нужно сохранить много связанных строк, которые могут быть разделены на разных языках: как лучше это сделать?
Я думаю, у меня есть следующие варианты. Варианты 1 и 3 являются наиболее понятным для меня решением. У них больше столбцов, но меньше строк.
Варианты 2 и 4 являются наиболее гибкими (я мог бы динамически добавлять новые string_x без изменения базы данных). У них всего три столбца, но в результате будет много строк.
Опция 5 приведет к множеству таблиц.
Вариант 1:
id | string_1 | string_2 | string_3 | string_4 | ... | string_n | lang
Вариант 2 * (где имя будет строка_1 или строка_2 и т. Д.) *
id | name | lang
Вариант 3
id | string_1 | string_2 | string_3 | string_4 | ... | string_n
id | lang | stringid
Вариант 4
id | lang | stringid
id | name
Опция 5
id | string_1 | lang
id | string_2 | lang
id | ... |lang
Я использую его для хранения предварительно кэшированных значений html для нескольких представлений (одна строка, две строки, длинное описание и т. Д.), Если это представляет интерес.