我需要构建应用程序,用户可以通过多种特征搜索/过滤产品。有25个产品组。每个产品组都有大约10个产品特征。我有一些数据库设计解决方案,但它们似乎都不合适:
我相信已经解决了像我这样的问题。谢谢你的帮助。
编辑:
在大多数情况下,群体中的特征完全不同。这些是起动机/交流发电机组件。只有大约25%的特征可以重叠,如物理特性,长度,直径等。
答案 0 :(得分:0)
我建议如下: 创建3个表;群组,群体特征,产品。
<强>组:强>
[组名]
1-车辆
2,家具
的特性:强>
[地图] [集团] [特点]
1-C01 |车辆|长
2-C02 |车辆|卷
3-C03 |车辆|键入
4-C01 |家具|身高
5-C02 |家具|卷
6-C03 |家具|长
的产品:强>
[ProdName]的[组] [C01] [C02] [C03] ...
1车|车辆| 2 | 50 |两厢
2-Jet |车辆| 10 | 70 |空
3,表|家具| 1 | null | 1.6
4杯|家具| 0.1 | 0.12 | null
String col =从特征中选择地图,其中Group =&#39; Vehicles&#39;和特征=&#39;键入&#39;
- 这将返回列(在本例中为C03)然后 -
String sql =&#34;从产品中选择ProdName,其中Group =&#39; Vehicles&#39;和&#34; + col +&#34; =&#39;两厢&#39;&#34;
- 这将在字符串中构建查询然后您只需执行它 -
执行(SQL)
- 无论您使用何种语言,这只是您必须编写的代码背后的基本理念。