Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Projektowanie baz danych MySQL z internacjonalizacją

Najczęstszym sposobem, w jaki to robiłem, jest użycie dwóch tabel, membership i membership_ml , z jedną przechowującą wartości podstawowe i tabelą ml przechowującą zlokalizowane ciągi. To jest podobne do twojej drugiej opcji. Większość systemów, które widzę w ten sposób, jest wykonanych w ten sposób, ponieważ nie zostały zaprojektowane z myślą o internacjonalizacji od samego początku, więc dodatkowe tabele _ml zostały „doczepione” później.

To, co moim zdaniem jest lepszą opcją, jest podobne do pierwszej, ale trochę inne. Mógłbyś mieć centralną tabelę do przechowywania wszystkich tłumaczeń, ale zamiast umieszczać tam nazwę tabeli i nazwę pola, użyjesz tokenów i centralnej tabeli „Zawartość” do przechowywania wszystkich tłumaczeń. W ten sposób możesz wymusić pewien rodzaj RI między tokenami w tabeli bazowej a tłumaczeniami w tabeli Content, jeśli chcesz.

Właściwie zadałem pytanie na ten temat jakiś czas temu, więc możesz rzucić okiem na to, aby uzyskać więcej informacji (zamiast ponownie wklejać przykłady schematów tutaj).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Uporządkuj posty na forum według czasu ostatniej odpowiedzi

  2. Jak utworzyć LEFT JOIN z podzapytaniem SELECT przy użyciu QueryBuilder w Doctrine 2?

  3. Połącz dane aplikacji na Androida z bazą danych witryny

  4. MYSQL - WYBIERZ dane z dynamicznych nazw tabel

  5. Pobieranie wierszy dodanych w ostatniej godzinie