【问题标题】:Data Modeling for consumer goods消费品的数据建模
【发布时间】:2014-10-08 23:46:39
【问题描述】:

一家公司正在尝试构建一个系统,将消费品(软饮料、清洁剂、美容产品等)分解为最基本的组件。目的是能够将产品的所有特征分解为尽可能多的可枚举量。例如,软饮料将具有风味、卡路里、颜色、成本等属性。请注意,产品将来自各种各样的细分市场,并非所有属性都适用于所有产品(洗涤剂没有卡路里) 和类似的声音特性并不相似(具有酸橙香味的洗涤剂与酸橙味软饮料不同)。此外,预计搜索速度会很快,并且数据库需要了解产品之间的关系。仅建议相同的数据模型。

【问题讨论】:

    标签: database database-design relational-database database-schema data-modeling


    【解决方案1】:

    您强调的特性(并非所有属性都描述所有产品)是类/子类情况的经典特性。或者,如果您愿意,可以键入/子类型。

    仅处理问题的那个特征,如果您想模拟您对主题的理解,我将提请您注意 EER(扩展实体关系)模型。 EER 有一种描述它所谓的泛化/专业化模式的方法。这是一个很好的搜索词,可以找到它的详细描述。这将充分描述你所说的你所追求的。

    不过,请注意。您将在 SO 中看到的大多数 ER 模型是设计模型,而不是概念模型。也就是说,它们反映了设计由列和行、键和外键组成的表以包含相关数据的意图。

    我推荐的是用于完全不同目的的 EER 模型。它是描述数据对主题专家的看法,而不是数据对数据库设计者的看法。那些从未了解过分析和设计之间区别的人会失去这种区别。

    如果您的项目是一项重大项目,那么在继续设计之前,值得花适当的时间对主题进行详细分析。在尝试解决问题之前了解问题是大型项目成功工作的关键。

    一旦您有了一个可以捕捉分析的良好概念模型,那么反映设计的数据模型的选择将取决于您决定构建的数据库类型。它可能是关系的,它可能是多维的,它可能是非结构化的。这取决于。但是,如果它独立于实现,分析会更有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-22
      • 1970-01-01
      • 2018-08-04
      • 1970-01-01
      • 2014-12-07
      相关资源
      最近更新 更多