我有一个数据库,其中包含一个表,用于存储两种不同类型的数据。我存储了一个Quote和预订在名为Booking的唯一表中.
首先,我认为报价和预订是相同的,因为它们具有相同的字段。但是,报价与预订所在的用户无关。我们的数据库中有很多报价,这些报价用不太重要的数据污染了预订。
我想有两个不同的表是有意义的,这样它们也可以独立发展。
- " 预订
目标是将数据拆分为垃圾数据(报价)和实际数据(预订)。这在关系数据库理论中有意义吗?
我将首先寻找将其绑定到的域模型-是一个"引号"one_answers"预订"的逻辑一样吗?报价的生命周期通常与预订不同,而预订通常代表财务承诺。它们共享某些属性的事实暗示它们是类似的领域概念,但这并不是决定性的。汽车和金鱼有一些共同的属性——年龄、位置、颜色——但很难把它们看作是"相似的概念"。
在数据库设计中,最好尽可能地表示业务域。它使您的代码易于理解,从而降低引入错误的可能性。它通常也使代码更简单,这可能使它更快。
如果您确定它们在域模型中是相关的,则可能是尝试在关系数据库中建模继承层次结构的情况。这个问题讨论得很广泛。