没有中间表的多对多 - 是否可能?

rud*_*nev 6 database many-to-many

我有两个通常具有一对多关系的实体,但在极少数情况下应该有机会成为多对多关系.我不想为每个查询加入带有中间表的表 - 我猜有"罕见的多对多"的优选模式, - (可能有mtm的附加表,有重复的记录或其他东西).有任何想法吗?

UPD.好吧,首先我考虑中间表的潜在开销(可能我高估它),第二个是关于表达真实世界的语义,通常对象应该具有一对多的关系.

Ran*_*der 14

"罕见的多对多"关系仍然是M:M关系,应该正确建模.这涉及创建将两个表链接在一起的中间表或关联表.您的查询稍微复杂一些,但只涉及额外的连接.但是,如果您正确地模拟了表格,那么您将获得同行的满意和钦佩:)

兰迪

  • 可悲的是,他的同伴更有可能反对额外的复杂性,因为他们宁愿不必准确思考.准确建模的满意度将仅针对OP和OP. (7认同)