我使用带有Sequelize 的PostgreSQL作为我的 ORM。
我有一种类型,User
。第二种类型是Group
,它可以通过一个GroupMemberships
表将任意数量的用户与其关联。User
s 也可以拥有任意数量的Group
s。
我的第三种类型 ,Playlist
可以属于 aUser
或 a group
。为这种类型设计模式以便它可以拥有一种类型的所有者或两者之一的最佳方法是什么?
我的第一遍创建了两个关联,但一次只填充一个。这可能有效,但看起来很笨拙并且使查询变得困难。
附加信息
以下是我对 MDCCL 通过评论发布的澄清请求的回应:
(1)如果一个播放列表是由给定资集团,可以说,这个播放列表是关系到一个一对多的用户,只要他们是会员这样的小组,对不对?
我相信这在技术上是正确的,但这种一对多关联并不明确存在。
(2) 那么,一个特定的播放列表是否有可能同时被一对多的群组拥有?
不, a 应该不可能被Playlist
一对多拥有Groups
。
(3) 特定播放列表是否可能由一对多组拥有,同时由不是该组成员的一对多用户拥有?
不,因为如 (2) 中的一对多 from Playlist
toGroup
不应该存在。此外,如果 aPlaylist …