存储产品属性

Storing Product Properties

我正在创建珠宝产品目录应用程序,我需要存储每个产品的属性,例如 material、饰面、产品类型等。

我得出结论,每个 属性 都需要一个模型,主要是因为像 material 和饰面这样的东西可能有价格和重量以及其他与之相关的东西。

这两个选项中哪一个是存储数据和可扩展性最有效的方式

  1. 创建模型 PropertyMap,将 属性 类型和 ID 映射到产品 ID。
  2. 创建几个其他模型,例如 ProductMaterial、ProductFinish 等,这些模型将 属性 制成产品

所有数据都需要可搜索和可过滤。该数据库可能会索引大约 10K 种产品。

也欢迎使用其他更智能的方式来存储此数据!

根据经验,要充分利用您的数据库工具,最好根据典型的 SQL 约定规范化您的数据。这意味着一堆彼此具有一对一关系的字段应该被收集到同一个 table 中。这样您就可以通过简单高效的查询来获取所有信息(并且经常需要同时使用它们)。

如果您不得不从其他组织收集它们,您和数据库最终都将不得不做更多的工作。当您努力维护和扩展它时,无论是在硬件上还是在您的大脑中,它的扩展性都会很差。