[解決済み】多言語データベース設計のベストプラクティスは何ですか?[クローズド]
2022-04-11 08:16:30
質問
多言語対応データベースを構築したいのですが、どのような方法がありますか?各テーブルにローカライズされたテーブルを作成することは、設計とクエリを複雑にしている、他のケースでは、各言語のカラムを追加することは簡単ですが、動的ではありません、エンタープライズアプリケーションに最適な選択を理解するために私を助けてください
どのように解決するのですか?
私たちが行うことは、各多言語オブジェクトに対して2つのテーブルを作成することです。
例えば、最初のテーブルには言語のニュートラルデータ(主キーなど)のみを格納し、2番目のテーブルには言語ごとに1レコード、ローカライズデータとその言語のISOコードを格納する。
場合によっては、DefaultLanguageフィールドを追加し、指定した言語のローカライズデータがない場合に、その言語にフォールバックできるようにします。
例
Table "Product":
----------------
ID : int
<any other language-neutral fields>
Table "ProductTranslations"
---------------------------
ID : int (foreign key referencing the Product)
Language : varchar (e.g. "en-US", "de-CH")
IsDefault : bit
ProductDescription : nvarchar
<any other localized data>
この方法では、必要なだけ多くの言語を扱うことができます(新しい言語ごとにフィールドを追加する必要はありません)。
更新情報(2014-12-14):ご覧ください。 この回答 アプリケーションに多言語データを読み込むための実装に関する追加情報は、こちらをご覧ください。
関連
-
[解決済み】Teradata - 計算中に数値のオーバーフローが発生しました。
-
[解決済み】SQL Server サブクエリが1つ以上の値を返しました。サブクエリが =, !=, <, <= , >, >= に続く場合、これは許可されません。
-
[解決済み】INTERSECTとINNER JOINは根本的に違うのか?[重複している]
-
[解決済み] ''付近の構文が正しくない
-
[解決済み] WHERE x IN (5) vs WHERE x = 5 ...なぜINを使うのか?
-
[解決済み] SQL Server - INNER JOIN WITH DISTINCT
-
[解決済み] オペランド型の衝突:uniqueidentifierはintと互換性がない
-
[解決済み] PLS-00428: この SELECT 文では INTO 句が必要です。
-
[解決済み] ユーザー定義フィールドのデータベースを設計するには?
-
[解決済み】多言語データベースのためのスキーマ
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ERROR: 参照されたテーブル "bar" の与えられたキーに一致するユニークな制約がありません。
-
[解決済み】PL/SQL SELECTに複数のCOUNT(DISTINCT xxx)を指定すると、予期しない結果になる。
-
[解決済み】SQL Server サブクエリが1つ以上の値を返しました。サブクエリが =, !=, <, <= , >, >= に続く場合、これは許可されません。
-
[解決済み】一括読み込みデータ変換エラー(切り捨て)
-
[解決済み] アンピボットの主キーを含む対象コードページで、テキストが切り捨てられたか、1つ以上の文字が一致しない。
-
[解決済み] ORA-04063: ビューにエラーがあります
-
[解決済み] エラー: 名前解析スクリプトで正しい関数に渡された長さのパラメーターが無効です。
-
[解決済み] PostgreSQL - json 型の等値演算子を識別できませんでした。
-
[解決済み] オペランド型の衝突:uniqueidentifierはintと互換性がない
-
[解決済み】多言語データベースのためのスキーマ