【发布时间】:2010-07-08 01:30:22
【问题描述】:
以下建模的最佳方法是什么...
假设我有两个对象:Agency 和Publisher,它们都与Employee 具有一对多的关系。这是真正的一对一关系,因为每个Employee 只能用于一个Agency 或一个Publisher。让我们进一步假设我不能介绍
持有一对多关系的超类型(例如Employer)。
我的首选解决方案是在Employee 中有一个外键,它可以链接到Agency 或Publisher 的主键(我的所有主键都是在数据库中唯一的64 位ID)。但是,现在我无法映射双向关联,除非在 Employee 中指明这是 Agency 还是 Publisher 关系。
我的另一个选择是使用两个表,AgencyEmployee 和 PublisherEmployee,然后可以将它们链接为传统的 1 对 n 双向关联。
您认为在这种情况下的最佳做法是什么?
更新:感谢您在如此短的时间内做出如此出色的回应!您如何看待以下解决方案:Employee 中的外键同时用于Agency 和Publisher,例如agency_id 和publisher_id?
【问题讨论】:
标签: sql database-design orm data-modeling