【问题标题】:SQL Data modeling -Querying Records that have tags across multiple categoriesSQL 数据建模 - 查询具有跨多个类别的标签的记录
【发布时间】:2020-11-17 11:45:51
【问题描述】:

我有一张表,用于存储公司提供的不同软件服务。服务由其服务的行业、所属的 LoB 以及服务中涉及的技术标记。该服务可以在每个行业、LOB 和技术上都有多个标签。

例如:以下可能是主数据:

交易数据可能如下所示:

我需要创建一个可用于按行业/LoB 和技术标签查询数据的视图。目前,我已经将所有 tagtoService 关系表(服务-技术、服务-LoB、服务-行业表)从外部连接到服务事务表。但这适用于大量记录,因为通常可以将一项服务标记到多达 10-15 个行业和技术。

只是想知道对这些数据建模的最佳方法是什么,以便我可以在一个视图中通过所有三个标签查询服务。

我不是数据建模专家,这更像是我第一次涉足数据建模方面 - 所以请原谅我的问题的“菜鸟”:)。我使用 SAP HANA 作为数据库并通过 OData 服务公开数据,我想将此视图用作数据源。

【问题讨论】:

    标签: sql odata hana datamodel columnstore


    【解决方案1】:

    如果您要求对数据进行建模:通常在您的事务表中,您保留外键,而不是可以通过主表中的外键获得的文本列。我敢打赌这也是您的意思,但该示例显示了事务表中的文本值。

    除此之外,我认为您所拥有的是合理且合理的。这些“标签”表代表“服务”表的不同粒度级别,如果将它们组合在一个表中可能会适得其反(例如:带有逗号分隔标签的单列、XML/JSON 列、多列 [LOBTag1、LOBTag2 , ...] ) b/c 这将使这些列不可索引和/或难以查询。您可能对 XML 和 JSON 列进行了优化,但除非列太多且稀疏,否则不应考虑这些。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-29
      • 2022-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多