数据库问题:由于数据质量问题,2 个表具有相同的结构
Database issue: 2 tables with identical structure because of the quality of the data
我有一个包含一个 table 的数据库,我在其中存储两种不同类型的数据。
我将 Quote 和 Booking 存储在名为 Booking 的唯一 table 中。
首先,我认为报价和预订是相同的,因为它们具有相同的字段。
但是报价与预订所在的用户无关。
我们的数据库中有很多报价,这些报价用不太重要的数据污染了 table 预订。
我想有两个不同的 table 是有意义的,这样它们也可以独立进化。
- 引用
- 预订
objective是将数据拆分成垃圾数据(quote)和实际数据(booking)。
它在关系数据库理论中有意义吗?
我首先要寻找将其关联到的域模型 - “报价”与“预订”是否具有相同的逻辑?报价通常与预订具有不同的生命周期,而预订通常代表财务承诺。它们共享某些属性的事实暗示它们是相似的领域概念,但这不是决定性的。汽车和金鱼共享一些属性 - 年龄、位置、颜色 - 但很难将它们视为任何基本级别的“相似概念”。
在数据库设计中,最好尽可能地表示业务领域。它使您的代码易于理解,从而减少引入错误的可能性。它通常也使代码更简单,这可能会使其更快。
如果您确定它们在域模型中相关,则可能是尝试在关系数据库中对继承层次结构建模的情况。 This 问题对此进行了广泛讨论。
我有一个包含一个 table 的数据库,我在其中存储两种不同类型的数据。 我将 Quote 和 Booking 存储在名为 Booking 的唯一 table 中。
首先,我认为报价和预订是相同的,因为它们具有相同的字段。 但是报价与预订所在的用户无关。 我们的数据库中有很多报价,这些报价用不太重要的数据污染了 table 预订。
我想有两个不同的 table 是有意义的,这样它们也可以独立进化。
- 引用
- 预订
objective是将数据拆分成垃圾数据(quote)和实际数据(booking)。 它在关系数据库理论中有意义吗?
我首先要寻找将其关联到的域模型 - “报价”与“预订”是否具有相同的逻辑?报价通常与预订具有不同的生命周期,而预订通常代表财务承诺。它们共享某些属性的事实暗示它们是相似的领域概念,但这不是决定性的。汽车和金鱼共享一些属性 - 年龄、位置、颜色 - 但很难将它们视为任何基本级别的“相似概念”。
在数据库设计中,最好尽可能地表示业务领域。它使您的代码易于理解,从而减少引入错误的可能性。它通常也使代码更简单,这可能会使其更快。
如果您确定它们在域模型中相关,则可能是尝试在关系数据库中对继承层次结构建模的情况。 This 问题对此进行了广泛讨论。