我有一个简单的产品数据库。
每个产品都是 N:1 与几个属性相关的,例如材质、性别、形状等。
每个属性都是一个表格(例如,带有方形、圆形和其他行的表格“形状”)
现在我想“翻译”每个属性,例如,我希望“square”记录与“quadrato”(it)、“carré”(fr)等相关联。"languages" 是另一个表 (it,fr,en) 并且可以添加或删除语言,因此具有列 "it_value"、"fr_value" 显然是不可能的和丑陋的。
我在考虑
- 创建一个带有 id、language_id 和 value 的表“TRANSLATIONS”
- 用 id、name 创建一个表“LANGUAGES”
- 创建具有 id 和其他列的表“SHAPES”和“MATERIALS”
- 使用 translation_id 和 material_id 创建一个表(例如)“MATERIAL_TRANSLATIONS”
- 用同样的思路创建一个表“SHAPE_TRANSLATIONS”,如上
您认为其他解决方案会比这更有效或更优雅吗?
(很抱歉也没有发布 ER 图,但我不是一个那么“图形”的人!;))