多言語スキーマでの翻訳参照表の設計

翻訳参照表を設計する一般的な手法には、次の2つがあります。1つは各ベース表の参照表を設計すること、もう1つは翻訳済フィールドごとに参照表を設計することです。

各ベース表に対応する参照表

多くの場合、ベース表ごとに個別の参照表があります。参照表には、ベース表内のレコードへの外部参照キーが含まれ、各翻訳済フィールドの値が個別の列に含まれます。

参照表が完全に密である場合、特定言語用の参照表内の行数は、ベース表内の行数と等しくなります。

次の図の例は、ベース表内の1つの行のみに一致する、参照表内の各レコードを示しています。

ベース表

キー コード 説明 Category_Code カテゴリ
1 A123 パン D45 食料品
2 B234 マーマレード D45 食料品
3 C345 牛乳 D45 食料品

参照表

キー Language_Key 説明 カテゴリ
1 DE Brot Lebensmittelgeschaft
1 IT Pane Drogheria
2 DE Marmelade Lebensmittelgeschaft
2 IT Marmeleta di agrumi Drogheria
3 DE Milch Lebensmittelgeschaft
3 IT Latte Drogheria

各翻訳済フィールドに対応する参照表

ベース表ごとに1つの参照表を使用するかわりに、次の図に示すように、翻訳済フィールドごとに個別の参照表を使用する方法があります。

各フィールドの翻訳済値を取得するには、参照表に対する個別の結合が必要です。実際には、これは多くの場合、複数フィールドの翻訳を含む1つの物理表になります。単一の表に複数フィールドの翻訳が含まれる場合は、参照表にフィルタを設定して、データを、ベース表内の特定の列に関連する値のみに制限する必要があります。

ベース表

キー コード 説明 Category_Code カテゴリ
1 A123 パン D45 食料品
2 B234 マーマレード D45 食料品
3 C345 牛乳 D45 食料品

参照表

Field_Key Value_Key Language_Key 翻訳
説明 A123 DE Brot
説明 A123 IT Pane
説明 B234 DE Marmelade
説明 B234 IT Marmeleta di agrumi
説明 C345 DE Milch
説明 C345 IT Latte
カテゴリ D45 DE Lebensmittelgeschaft
カテゴリ D45 IT Drogheria