关于数据库设计和实施弱实体的问题

时间:2011-05-28 13:07:43

标签: database-design domain-driven-design

编辑:

虽然原始问题是DB不可知的...在与OP的评论中进行对话。问题略微更具有数据库特性。

有效地认为会员具有地址这一事实应该将地址存储在会员表或其自​​己的表中。

<小时/> 原始问题: 假设我们有一个成员实体和一个称为地址的弱实体。是实现分配ID到地址的最佳实现方式,并将该ID视为成员实体在地址弱实体中具有成员ID字段?我不区分哪个是最好的。

其次,这是否会影响我们设计BLL的方式?因为我在使用DDD,所以我认为弱势实体可能是我的成员根中的值对象的良好候选者。是这样吗?

2 个答案:

答案 0 :(得分:0)

我不是DDD专家,我当然不是您的问题领域的专家。 (你没有提供足够的信息让我清楚你的实体所代表的内容)但是根据我的理解,你可以用任何一种方式。

如果您正在谈论邮政地址以及成员代表您所在域中的某个人。您可以将您的地址作为值对象,并在想要对其进行更改时将其丢弃。另一方面,您可以为您的地址构建更多功能,例如更新,描述房屋,房屋价值,计算税收等等。您的对象/实体变得越复杂,它就越想成为一个实体。

您需要与域专家进行对话,并了解他们如何使用地址。

答案 1 :(得分:0)

如果您认为必须为成员存储多个地址,那么您可以考虑使用地址表。但是,如果成员只有一个地址,如果可能足以将其放入自己的表中。这取决于您的成员实体中的其他内容。