0

データベースの国際化について学んでいて、「小さな」質問があります。

categoriesなどのフィールドを持つ名前のテーブルが1つあります。そして、 、、、およびその他のフィールドを持つテーブルも。idnamedescriptionproductsidcategory_idnamedescription

categories table
id | name | description | ...others

products table
id | category_id | name | description | ...others

これらの (およびその他の) テーブルを国際化する必要があります。したがって、最初のアプローチでは、さらに 3 つのテーブルを作成し、最初のテーブルを変更します。

languages table
id | name | code

categories table
id | ...others

category_languages table
id | category_id | language_id | name | description

products table
id | category_id | ...others

product_languages table
id | product_id | language_id | name | description

さて、主な質問は次のとおりです。ローカライズを 1 つのテーブルに「一元化」する方法はありますか? 私は何を忘れていますか?

ありがとう!

4

1 に答える 1

2

翻訳のラベルと翻訳を 1 つのテーブルに追加してから、すべてのテーブルの新しい列に翻訳のラベルを追加するだけです。ラベルと翻訳列になる可能性のある id 列を持つ translations という名前のテーブルが 1 つあります。

id | label | translation | language_id

そしてすべてのテーブルで:

id | some columns | translation_label
于 2012-10-14T19:35:03.073 に答える