Структурирование таблицы многоязычной словарной базы данных
Я хочу структурировать таблицу(ы) для базы данных многоязычного словаря (английский-Маратхи). Маратхи является региональным языком в Индии.
Формат словаря:
Слово / english_meaning1 / marathi_meaning1 | english_meaning2 | marathi_meaning2 ... english_meaningN | marathi_meaningN
Слова могут иметь различное количество пар значений на английском и маратхи в зависимости от того, принадлежит ли оно к какому-либо из них. лексические категории (существительное, наречие, глагол, прилагательное и др.)
В настоящее время я подумал о неэффективном подходе к созданию такой таблицы:
таблица : слово
- word_id
- слово
- english_meaning1
- marathi_meaning1
- english_meaning2
- marathi_meaning2
- english_meaning3
- marathi_meaning3
- english_meaning4
- marathi_meaning4
.
.
.
. - english_meaning10
- marathi_meaning10
Здесь я предполагаю фиксированное число столбцов (20) для значений английского и маратхи на одно слово по-английски. Поэтому, если слово имеет только одно значение (на английском и Маратхи), остальные столбцы останутся пустыми.
Также, если это слово, например: 'о', которое в словаре показано как:
О1-значениях
О2-значениях
Тогда я сохраняю их в виде отдельных строк в приведенной выше структурированной таблице.
Разве такой подход не проблематичен? Можно ли решить эту проблему путем ее нормализации? Я придумал способ.
где столы будет:
Таблица: слово
- word_id
- слово
Таблица: word_english
- id
- word_id (FK из таблицы word)
- english_meaning
Таблица: word_marathi
- id
- word_id
- marathi_meaning
я не совсем уверен, имеет ли смысл вышеприведенный подход. Может ли кто-нибудь предложить ... возможное решение?? Заранее спасибо!