数据库问题:由于数据质量问题,2 个表具有相同的结构

Database issue: 2 tables with identical structure because of the quality of the data

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

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

我想有两个不同的 table 是有意义的,这样它们也可以独立进化。

objective是将数据拆分成垃圾数据(quote)和实际数据(booking)。 它在关系数据库理论中有意义吗?

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

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

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