Каковы лучшие практики для проектирования многоязычных баз данных?
Я рекомендую ответ Мартина.
Но 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
Каковы лучшие практики для проектирования многоязычных баз данных?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.