私は中規模のアプリケーションで作業を開始するつもりです。私はそのデータベース設計を計画しています。 私が確信していないことの1つはこれです。 「タイトル、alternative_title、SHORT_DESCRIPTION、説明」国際化を使用したMySQLデータベース設計
:のような一般的な国際化フィールドを、共有する「membership_options、gender_options、language_optionsなど」これらの各テーブルを: 私のような国際化が必要になります多くのテーブルを、持っています
これを行う最善の方法はあなたの意見ですか? 必要なテーブルごとに同じフィールドを持つi18nテーブルがありますか?
かのような何かを実行します。このようなものを繰り返す私を避けるだろう
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)
を:
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
をというように、私はおそらく、DBテーブルの数を減らすだろうが、私はパフォーマンスについては不明です。私はDBデザイナーではないので、教えてください。
[多言語データベースのスキーマ](http://stackoverflow.com/questions/316780/schema-for-a-multilanguage-database) –