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