我的数据库和查询设计

时间:2014-03-12 11:52:47

标签: mysql sql database database-design

我正在用laravel 4做一个网站,我的数据库背后有问题。

我有一个使用领域(花园,家庭,户外),这是使用产品和材料的领域。

材料,是产品的材料。

一种产品,可以有许多不同的颜色。

材料可以有许多使用领域: [例如,塑料可以在室内和室外使用,甚至在花园中使用] 但是使用领域可以应用于许多材料 [例如,塑料和皮革可以应用于花园]

产品由一种材料制成,但可以有许多使用领域,例如,pvc(材料:塑料)可用于花园,甚至可用于户外。但是,不能使用材料(产品由其制造)没有的使用领域。

所以我连接了很多产品 - 使用领域和材料 - 使用领域

现在真正令我生气的是产品可以有不同的语言,所以我为产品制作了语言表。

但我无法得到的是材料有很多语言,并且描述和图像随着使用领域而变化。例如,如果我在花园里,我使用塑料,我想说:塑料可以抵抗紫外线,但如果我在家里,我使用塑料,我想说:塑料可以防止意外跌落。

我试图像这样实现,但我有一个材料,使用领域和产品的循环。我不知道是否合法。

我还有一个嵌套表,其中包含应根据所选语言和使用字段更改的材料的说明。

1)有更好的方法吗?

2)如果没有,用英语获取材料的描述,我需要加入主页:

SELECT description_field.description 
  FROM description_field 
       JOIN language 
            ON language.id=description_field.id_language
       JOIN material 
            ON material.id_material=language.id_material
       JOIN field_of_use_material 
            ON material.id_material=field_of_use_material.id_material
       JOIN field_of_use 
            ON field_of_use.id_field_of_use = field_of_use_material.id_field_of_use

这是对的吗?我的意思是,我从来没有做过很多关系的循环。

3)当我用表格填写这个数据库时,我应该首先让他插入产品,检查材料并让他根据产品选择材料,然后要求对产品的每个应用领域进行描述。每种语言。

修改

既然产品只能有一种材料,我是否可以从多个领域中取出多个类别和产品关系?

my database http://i62.tinypic.com/nbrpfo.png数据库

0 个答案:

没有答案