私は現在、言語リスト用のSQLテーブルを設定しています。これは、近い将来、Webアプリケーションの翻訳作業のフレームワークとして機能します。
私が作成することにしたテーブルとフィールドは次のようになります。
Language
--------
Language ID
Language name
Native name
Region
------
Language ID
Region
Active
------
Language ID
Active
言語IDは、両方のテーブルの主キーになります。
アクティブテーブルのアクティブフィールドを使用すると、翻訳された言語(1で示される)と翻訳されていない言語を簡単に知ることができます。
サンプルデータは次のようになります。
言語表
Language ID Language name Native name
----------- ------------- -------------
afr Afrikaans Afrikaans
sqi Albanian gjuha shqipe
ara Arabic العربية
リージョンテーブル
Language ID Region
----------- -------------
afr Africa
sqi Eastern Europe
ara Middle East
アクティブなテーブル
Language ID Active
----------- -------------
afr 0
sqi 1
ara 0
言語と地域の数は決まっている予定です。私がデータベースに追加する予定の言語(後で翻訳に使用するため)には、次のものが含まれます(すべてのコードは、http: //en.wikipedia.org/wiki/にあるISO 639-2/B列から取得されます。 List_of_ISO_639-1_codes):
Afrikaans
Albanian
Arabic
Belarusian
Bulgarian
Catalan
Chinese (simplified)
Chinese (traditional)
Croatian
Czech
Danish
Dutch
English
Estonian
Esperanto
Filipino
Finnish
French
Galician
German
Greek
Hebrew
Hindi
Hungarian
Icelandic
Indonesian
Irish
Italian
Japanese
Korean
Latvian
Lithuanian
Macedonian
Malay
Maltese
Norwegian
Persian
Polish
Portuguese
Romanian
Russian
Serbian
Slovak
Slovenian
Spanish
Swahili
Swedish
Thai
Turkish
Ukrainian
Vietnamese
Welsh
Yiddish
地域のカテゴリは次のとおりです。
All
Africa
Middle East
Americas
Asia-Pacific
Eastern Europe
Western Europe
私の質問は、このテーブルを完全に正規化したかどうかです。それをさらに正規化することはできますか、それともより効率的にすることができますか。設定する前に、何か提案をいただければ幸いです。