Хранение всего текстового содержимого в одной таблице БД - PullRequest
1 голос
/ 27 августа 2010

Я создаю многоязычный веб-сайт.

Я думал об использовании одной таблицы для всего текстового содержимого texts(key, language, content), к которому могут обращаться другие таблицы.

Например,скажем, у меня есть стол items(id, name, description).Вместо хранения фактического содержимого в столбцах name и description хранятся ссылки на таблицу текстов.

Как вы думаете?

1 Ответ

1 голос
/ 27 августа 2010

Я думаю, что две таблицы в этом простом случае не нужны: у вас все равно будет нормализованный дизайн с одной таблицей items(id, language, text, content) с (id, language) в качестве первичного ключа.

Обратите внимание, что если вы хотите добавить нелокализованные поля (например, цена в долларах), то вам понадобятся две таблицы:

items(id, priceInDollars)

itemTexts(itemId, language, name, description)

с id первичным ключом элементов, (itemId, language) первичным ключом itemTexts и itemID ссылкой внешнего ключа на id в таблице items.

...