【问题标题】:Database issue: 2 tables with identical structure because of the quality of the data数据库问题:由于数据质量,2 个表具有相同的结构
【发布时间】:2021-03-11 10:34:40
【问题描述】:

我有一个带有一张表的数据库,我在其中存储两种不同类型的数据。 我将 QuoteBooking 存储在名为 Booking 的唯一表中。

首先,我认为报价和预订是相同的,因为它们具有相同的字段。 但是,报价与预订所在的用户无关。 我们的数据库中有很多报价,它们用不太重要的数据污染了餐桌预订。

我想有两个不同的表是有意义的,这样它们也可以独立发展。

  • 报价
  • 预订

目标是将数据拆分为垃圾数据(报价)和实际数据(预订)。 这在关系数据库理论中有意义吗?

【问题讨论】:

    标签: relational-database database-theory


    【解决方案1】:

    我会首先寻找与此相关的域模型 - “报价”与“预订”是否具有相同的逻辑意义?报价通常与预订具有不同的生命周期,而预订通常代表财务承诺。它们共享一些属性的事实暗示它们是相似的域概念,但这不是决定性的。汽车和金鱼有一些共同的属性——年龄、位置、颜色——但在任何基本层面上都很难将它们视为“相似的概念”。

    在数据库设计中,最好尽量代表业务领域。它使您的代码易于理解,从而降低了引入错误的可能性。它通常也使代码更简单,这可能会使其更快。

    如果您确定它们在域模型中是相关的,则可能是尝试在关系数据库中对继承层次结构进行建模。 This question 对此进行了广泛讨论。

    【讨论】:

    • 感谢@NevilleKuyt 正是感谢您提供的链接。我猜是的 Quote 和 Booking 没有相同的业务域,一个与潜在客户(潜在客户)有关,另一个与实际客户有关。
    猜你喜欢
    • 2014-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-20
    • 2023-03-15
    • 1970-01-01
    • 2014-06-02
    相关资源
    最近更新 更多