存储产品属性

时间:2015-12-07 15:55:31

标签: ruby-on-rails web-applications models

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

我得出结论,每个房产都需要有一个模型,主要是因为材料和饰面之类的东西可能有价格和重量以及与之相关的其他东西。

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

  1. 创建一个模型PropertyMap,将属性类型和ID映射到产品ID。
  2. 创建其他几个模型,例如ProductMaterial,ProductFinish等,它们将为产品提供属性
  3. 所有数据都需要搜索和搜索。筛选。该数据库可能会索引大约10K的产品。

    也可以通过其他更智能的方式存储这些数据!

1 个答案:

答案 0 :(得分:1)

根据经验,为了充分利用数据库工具,最好根据典型的SQL约定规范化数据。这意味着应该将一堆彼此具有一对一关系的字段收集到同一个表中。通过这种方式,您可以通过简单有效的查询抓取所有这些(并且经常需要它们)。

如果您不得不从不同的组织中收集它们,那么您和数据库最终都需要做更多的工作。当你努力维护和扩展它时,它将在硬件和大脑中扩展得很差。