Ich werde mit der Arbeit an einer mittelgroßen Anwendung beginnen, und ich plane es ist db-Design. Eine Sache, über die ich mir nicht sicher bin, ist diese. werde ich viele Tabellen haben, die Internationalisierung benötigen, wie zum Beispiel: "membership_options, gender_options, language_options etc"MySQL Datenbank Design mit Internationalisierung
Jede dieser Tabellen werden gemeinsame i18n Felder teilen, wie: "title, alternative_title, short_description, Beschreibung"
Was ist Ihrer Meinung nach der beste Weg? Haben Sie eine i18n Tabelle mit den gleichen Feldern für jede der Tabellen, die sie brauchen?
oder so etwas wie:
Membership table Gender table
---------------- --------------
id | created_at id | created_at
1 - 22.03.2001 1 - 14.08.2002
2 - 22.03.2001 2 - 14.08.2002
General translation table
-------------------------
record_id | table_name | string_name | alternative_title| .... |id_language
1 - membership regular null 1 (english)
1 - membership normale null 2 (italian)
1 - gender man null 1(english)
1 -gender uomo null 2(italian)
Dies würde vermeiden mich wie etwas zu wiederholen:
membership_translation table
-----------------------------
membership_id | name | alternative_title | id_lang
1 regular null 1
1 normale null 2
gender_translation table
-----------------------------
gender_id | name | alternative_title | id_lang
1 man null 1
1 uomo null 2
und so weiter, so würde ich wahrscheinlich die Anzahl der DB-Tabellen reduzieren, aber ich bin bin mir nicht sicher über die Leistung. Ich bin nicht viel von einem DB-Designer, also lass es mich wissen.
mögliches Duplikat von [Schema für eine mehrsprachige Datenbank] (http://stackoverflow.com/questions/316780/schema-for-a-multilanguage-database) –