我有一个机密网站。
用户可以放入分类广告,每个类别都有子选项。
Ex:用户选择CAR,并且必须填写颜色,里程,燃料,变速箱等选项。
以下是我的表格:
Category table:
cat_id (PK)
cat_name // "Cars" for example
Category Options table:
option_id (PK)
cat_id (FK)
option_name // "Color" for example
Option Values table:
value_id (PK)
option_id (FK)
value // "red" for example
我的Q是,在最后一个表(选项值)中,不应该有“别的”,因为我如何增加此表或将此表引用到分类?
例如,让我们看看这些表中的两条记录: 首先是分类表:
Cat_id Cat_name
1 cars
2 trucks
然后是Category Options表:
option_id Cat_id(FK) option_name
1 1 color
2 1 mileage
然后选项值表,这里是问题,我不知道如何:
Value_id option_id(FK) value
1 1 red
2 2 11000 miles
如果我决定在另一辆车上插入另一辆车,会发生什么? 最后一张表中不应该有另一个参考文献吗?
我还有其他表格,如“分类”,其中包含标题,文字,价格等......
由于
答案 0 :(得分:1)
你已经自己给出了答案。
不应该有另一个参考 在最后一张表中?
我还有其他表格,如 “分类”,其中包含标题, 文字,价格等...
将表classified
的ID作为表选项中的另一个键,以便获得
Option Values table:
value_id (PK)
option_id (FK)
classified_id (FK)
value // "red" for example
然后,您可以获取指定分类的所有选项的所有值:
SELECT c.option_name, o.value
FROM option_Values o
LEFT JOIN category_options c ON (o.option_id=c.option_id)
WHERE o.classified_id = 15; -- as an example