Database design 关于数据库设计和实现弱实体的问题

Database design 关于数据库设计和实现弱实体的问题,database-design,domain-driven-design,Database Design,Domain Driven Design,编辑: 虽然最初的问题是不可知的。。下面是与OP的评论对话。问题稍微具体一些 有效地考虑到成员有一个地址的事实,该地址应该存储在成员表中还是存储在自己的表中 原始问题: 假设我们有一个成员实体和一个称为address的弱实体。是实现分配ID的最佳方式,并考虑到ID实体在地址弱实体中具有成员ID字段的ID吗?我不知道哪一个是最好的 其次,这是否会影响我们设计BLL的方式?由于我使用DDD,我认为弱实体可能是成员根中值对象的一个很好的候选对象。是吗?我不是DDD专家,当然也不是您问题领域的专家。(

编辑:

虽然最初的问题是不可知的。。下面是与OP的评论对话。问题稍微具体一些

有效地考虑到成员有一个地址的事实,该地址应该存储在成员表中还是存储在自己的表中


原始问题: 假设我们有一个成员实体和一个称为address的弱实体。是实现分配ID的最佳方式,并考虑到ID实体在地址弱实体中具有成员ID字段的ID吗?我不知道哪一个是最好的


其次,这是否会影响我们设计BLL的方式?由于我使用DDD,我认为弱实体可能是成员根中值对象的一个很好的候选对象。是吗?

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

如果您谈论的是邮政地址和代表您域中某个人的成员。您可以将您的地址作为值对象,当您想要对其进行更改时,将其丢弃。另一方面,您可以在地址中添加更多功能,如更新、描述房屋、房屋价值、计算税收价值等。。对象/实体越复杂,它似乎越想成为实体


你需要与你的领域专家进行对话,并找到他们如何使用地址。

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

事实上,我想知道这个问题是否在细节或领域对你们来说是不够的,或者实际上我在谈论我的DAL和数据库设计。这正是我所关心的……这不是你所问的。所以,基本上,您是在问,您的成员表中是否应该有一个地址字段?或者一个单独的地址表,在成员表中有一个外键?你应该问这个问题:)