Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL дизайн на база данни с интернационализация

Най-често срещаният начин, по който съм виждал това да се прави, е с две таблици, membership и membership_ml , като едната съхранява базовите стойности, а таблицата ml съхранява локализираните низове. Това е подобно на втория ви вариант. Повечето от системите, които виждам като тази, са направени по този начин, защото не са били проектирани с оглед на интернационализацията от самото начало, така че допълнителните _ml таблици бяха „залепени“ по-късно.

Това, което мисля, че е по-добър вариант, е подобно на първия ви вариант, но малко по-различен. Ще имате централна таблица за съхраняване на всички преводи, но вместо да поставяте името на таблицата и името на полето там, ще използвате токени и централна таблица "Съдържание", за да съхранявате всички преводи. По този начин можете да наложите някакъв вид RI между токените в основната таблица и преводите в таблицата със съдържание, ако също искате.

Всъщност зададох въпрос точно за това нещо преди известно време, така че можете да го разгледате за малко повече информация (вместо да поставяте отново примерите за схеми тук).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Свържете MySQL база данни от Android

  2. MySQL - Как да анализирам стойност на низ във формат DATETIME в инструкция INSERT?

  3. Как да получите истинския размер на MySQL база данни?

  4. JSON_VALID() – Тествайте за валиден JSON в MySQL

  5. Групите за сигурност на DB могат да бъдат свързани само с VPC DB екземпляри с помощта на версии на API