请考虑这种情况:
网上商店销售IT产品。如果我们看看电脑和打印机, 两种产品都需要一些过滤器:ID,名称,价格, E.D.某些过滤器仅适用于一种产品:操作系统,墨盒 类型。
存储这些产品的最佳方法是什么?
使用所有可能的过滤器创建产品表。如果是产品 没有特定的过滤器,只需保持空白即可。这个方法是 实现起来很简单但是如果有的话会导致很多腰部空间 许多不同的特定过滤器。
创建仅包含常规过滤器的产品表。创建一个单独的表,其中包含以下列的元数据(特定过滤器):filter_id,product_id,filter_name,filter_value。每个特定的过滤器都会获得它自己的行。这种方法不会浪费任何空间,但如果每个产品都有大约10个不同的特定过滤器,那么表格会变得非常大,并且可能比第一种方法产生更多的性能问题。
有人可以告诉我哪种方法是首选方式,或者可以提供替代方法。
由于
答案 0 :(得分:1)
您正在寻找的是m:n关系(即过滤器可能适用于多个产品,产品可能有多个过滤器),我在此处描述:Best way to design a table with m:n relation
您对可能的价值感兴趣。我推荐4张桌子: