@musclecode

Как правильно спроектировать базу данных?

в качестве примера, есть 3 словаря русский, белорусский, украинский и 3 описания (или толкование) слов, т.е. когда выбирается русский язык и белорусский для описание (перевода) слова то прога ищет значение слова в таблице на белорусском, для примера на русском вводим слово 'рука' получаем описание на белорусском 'частка цела' (часть тела на белорусском языке).

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

как лучше организовать бд, на ум пришло только решение при котором создаю 3 таблицы для каждого языка (если добавятся новые языки новые таблицы и для них), 3 таблицы для каждого языка с описание слов, всего получается 6 таблиц (с каждым новым языком это цифра будет расти) как все это связать между собой? в правильном ли направлении я иду?
  • Вопрос задан
  • 61 просмотр
Решения вопроса 1
oxyberg
@oxyberg
Продуктовый дизайнер ВКонтакте
Ну если по-простому, то две таблицы.

language
id | title

meaning
id | language_id | phrase | meaning

В таблице языков храним айдишники (PK) и названия доступных языков. В таблице значений храним значение для фразы, ее айди (PK) и айди языка (FK). Связь один ко многим, БД нормализована по 3НФ. При добавлении языка/значения фразы количество таблиц расти не будет.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы