多言語スキーマでの翻訳参照表の設計
翻訳参照表を設計する一般的な手法には、次の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 |