0

我有两个核心数据实体,比如 Account 和 House。每个帐户都可以有一个房屋列表,而房屋只能在一个帐户中,因此这是一个常规的一对多关系,具有逆向关系。

一个帐户还有一个“主要”属性,它指示许多可能的房屋中的哪一个是主要的,或者如果没有,则为零。主要财产的身份可能会发生变化,当然可能会有很多账户,每个账户都有自己的房屋收藏。

我应该将其建模为与逆的一对一关系吗?没有?

或者我应该使用属性对其进行建模,比如存储有关房屋的唯一信息,例如包裹号,然后将其添加到房屋实体中?

两种方法的优点和缺点是什么,我应该考虑另一种方法吗?

4

1 回答 1

1

我会将其建模为与逆的一对一关系。尽管您可以在没有相反的情况下逃脱。

建议始终使用逆向(因此当数据模型中没有逆向时,Xcode 编译器会发出警告)。我能想到没有逆的唯一原因是空间。如果您每个帐户有大量房屋,则可以节省数据库中的空间以使关系成为单向关系(仅从帐户到主要房屋)。

您在每个实体中使用属性的替代方法将占用数据库中相似数量的空间并且不太有用。通过这种关系,您将在托管对象之间获得指针,而不仅仅是通过属性找到它们的方法。

于 2009-11-04T03:58:33.230 回答