Каковы лучшие практики для проектирования многоязычных баз данных?

Я рекомендую ответ Мартина.

Но sqlselect вы, похоже, обеспокоены тем, что database-design ваши запросы становятся слишком sql-query сложными:

Создание локализованной sql-syntax таблицы для каждой таблицы database - сложный дизайн и создание sql-syntax запросов ...

Итак, вы могли dbms подумать, что вместо того, чтобы schema-design писать простые запросы вроде sql этого:

SELECT price, name, description FROM Products WHERE price < 100

... вам нужно начать database-structure писать такие запросы:

SELECT
  p.price, pt.name, pt.description
FROM
  Products p JOIN ProductTranslations pt
  ON (p.id = pt.id AND pt.lang = "en")
WHERE
  price < 100

Не очень sql хорошая перспектива.

Но вместо database-design того, чтобы делать это вручную, вам sql-query следует разработать собственный db класс доступа к базе данных, который table-design предварительно анализирует database SQL, содержащий вашу специальную databases разметку локализации, и преобразует database его в фактический SQL, который database-design вам нужно будет отправить sql-syntax в базу данных.

Использование databases этой системы может выглядеть db примерно так:

db.setLocale("en");
db.query("SELECT p.price, _(p.name), _(p.description)
          FROM _(Products p) WHERE price < 100");

И я уверен, что database-modeling у вас получится даже лучше.

Главное sql - чтобы ваши таблицы и поля sqlselect назывались единообразно.

sql

database

database-design

2022-11-20T06:28:43+00:00
Вопросы с похожей тематикой, как у вопроса:

Каковы лучшие практики для проектирования многоязычных баз данных?