i18n используя базу данных - PullRequest
1 голос
/ 01 апреля 2012

Я должен создать базу данных, которая позволит мне хранить данные на нескольких языках. Я придумал что-то вроде этого.


create table lang ( id primary key, lang_code )
create table data (id primary key)
create table i18n_data (id primary key, i18n_text ,data_id references data, lang_id references lang)

Является ли создание таблицы с одним столбцом / первичным ключом излишним для меня? Есть ли лучший способ сделать это?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 02 июля 2014

В верхней части головы я вижу два похожих варианта:

Имеет только две таблицы lang и i18n_data и индексированное поле в i18n_data, которое вы используете с языком для индексации перевода.

Другим вариантом может быть использование составного первичного ключа в таблице i18n_data, которая имеет ссылку на lang и идентификатор data.

0 голосов
/ 01 апреля 2012

Я думаю, что ваше решение довольно хорошее, я решаю такие же проблемы. И я не побоялся бы создать таблицу только с первичным ключом (хотя вы можете найти несколько атрибутов, принадлежащих этой таблице).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...