如何识别从多个提要中收集的重复项并将其链接到数据库中

如何识别从多个提要中收集的重复项并将其链接到数据库中,第1张

如何识别从多个提要中收集的重复项并将其链接到数据库

问题是双重的,两者都在您身边。当您知道如何处理时,请将代码编写到程序中(使用Java或SQL会很容易)。我先给它们命名,然后确定解决方案。

  1. 由于某些未知的原因,您已假设从多个站点收集产品描述不会收集相同的产品。

  2. 您已经习惯了普通的和无意义的

    Id
    专栏,在使用电子表格原型开发功能时,这很好。但是它离数据库或开发级功能的需求还很近。您的用户(或老板)自然具有数据库的数据库功能,而您未提供任何功能。(并且不,它不需要模糊字符串逻辑或任何形式的魔术。)

这是用于建模关系数据库的 IDEF1X 标准的精简版本。该部分是标识符

  1. 您需要考虑数据库术语,并考虑执行功能所需的数据库表,这意味着您不允许使用自动增量

    Id
    列。该列为电子表格提供了
    RowId
    ,但并不表示表格或标识产品的列的内容。

  2. 而且,您不能简单地从其他网站上窃取数据,您需要考虑您的网站对产品的要求。贵公司对产品的理解是什么,如何识别产品?

  3. 标识所有列和列的数据类型。

  4. 确定哪些列是必需的,哪些列是可选的。

  5. 确定哪些是强 标识符 。例如。

    Manufacturer
    Model
    ; short
    Product Name
    ,而不是long
    Description
    (或者对于您的公司而言,long描述 标识符)。与您的用户一起工作,并努力解决。

  6. 你会发现你确实有表的一小簇周围

    Product
    ,比如
    Manufacturer
    ProductType
    也许
    Vendor
    等。

  7. 组织这些表,并对它们进行规范化,这样就不会复制数据。

  8. 确保您对这些标识符有一点尊重。选择哪个将是唯一的。这些是 候选键 。每张表至少需要一个,并且中将有多个

    Product
    。将要搜索的所有标识符都需要编制索引(是否唯一)。请注意,唯一索引不能为空,因此您不能选择可选列。

  9. 使单个唯一标识符为其的原因

    Product
    可能不是单个列。没关系,我们可以为数据库中的键评估多个列;它们被称为 复合键

  10. 取得最佳,最稳定(不会改变的唯一标识符),候选键之一,并使其成为 主键

  11. 如果,且仅当,唯一的标识符,主键,这可能是一个复合键,是很长,因此不适用于主键,这是迁移到子表,然后 添加 一个 代理键 。那将是

    Id
    专栏。请注意,这是附加列和附加索引。它不能替代
    Product
    候选关键字;它们无法删除。

到目前为止,我们在网络上的贵公司都拥有一个Product数据库,这对它很有意义。现在,我们可以从网络的另一端评估产品了;然后,当我们这样做时,我们就拥有了一个强大的框架,可以用来衡量我们从网络另一侧获得的垃圾。

提要

  1. 您需要一个

    WebSite
    表来管理提要。

  2. 届时将有关联表(很多到多)之间

    Product
    WebSite
    。叫它
    ProductSite
    。它只包含我们的
    ProductId
    WebSiteCode. It may contain
    价格。内容对单个进给周期有效。

  3. 将每个提要加载到暂存数据库或架构,传入

    ProductIn
    表中,或者每个源网站一个。这只是来自外部源的平面文件。添加一列
    IsValid
    并将“默认值”设置为true。

  4. 然后编写一些SQL,将该

    ProductIn
    表及其松散和松散的内容
    Product
    与具有强大标识符的表进行比较。

    • 我这样做的方式是,进行几波单独的检查,每一次检查都将失败的行标记

      IsValid
      为false。最后,将
      IsValid
      行插入
      ProductSite

    • 您可能很幸运,并且乐于接受乐观的态度。也就是说,只要在几个重要的列上找到匹配项,该匹配项就有效。(反转默认值并更新

      IsValid
      布尔值)。

    • 此过程将需要一些来回的工作,直到解决为止。这就是为什么您需要与用户一起使用标识符。目标是不排除任何外部产品,但是您的出发点将排除许多外部产品。这将包括返回到我们的

      Product
      表,并改进标识符以及用于标识匹配行的其他相关列的内容(行中的值)。

  5. 对每个网站重复上述步骤。

  6. 现在

    Product
    ,使用我们有信心的信息从表格中填充我们的网站,并显示哪些网站销售产品
    ProductSite



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5462700.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存