1

如今,似乎很多电子商务网站都提供了产品过滤器来搜索商品。例如,您可以按宽度、高度、电视尺寸、家具类型等搜索项目。

现在,如果它是一个只有几个可搜索过滤器的简单网站,那么它很容易做到,但我正在管理一个销售家具、电器和电子产品的网站,每个类别也有很多子类别。例如:

电器:洗衣店可搜索属性(洗衣机、烘干机、洗衣机类型..微波炉、宽度、高度)电子电视(电视尺寸、宽度)游戏(ps3、类型、销售日期)

我相信你明白了。ecomerece 网站提供基本类别,然后每个类别都可以有子类别或 Searable 过滤器来深入搜索。

使用 MS SQL Server 和 Asp.net 执行此操作的最佳方法是什么。我有兴趣在 SQL 中创建优化的可搜索模式。

欢迎任何提示,建议。

谢谢

4

2 回答 2

1

您可以使用实体-属性-值模型
简单的概念是,您将拥有另一个名为 Attributes 的表格,而不是为每个模型的属性(例如 ps3 游戏的类型、销售日期等)设置一个列,其中将列出属性及其类型,并且第三个表,您的主要模型实例(ps3 游戏)将通过 3 列与属性链接:

  • Model Id(ps3游戏的id)
  • 属性 ID
  • 属性值

这个概念可能更难管理,并且需要更复杂的查询,但它会以最简单的方式添加新产品/类别。
当然,在这个模型中,如果少数产品共享一个共同的属性(例如 pc 游戏和 ps3 游戏共享一个流派),您将只定义一次属性,并且两个模型都将链接到它,允许共同搜索查询不同的产品。

于 2012-06-03T09:08:24.833 回答
0

一个问题太多了。找一本关于数据库设计的书。对于向下钻取,您可以拥有一个包含与向下钻取一样多的 PK 列的表。但是当涉及到细节时,您将需要单独的表格,因为电视没有与立体声音响相同的细节。

于 2012-06-03T08:41:35.840 回答