如果我有Book
和Author
,并且它们之间的关系可以分别为MainAuthor
和AssistantAuthor
。 MainAuthor
和AssistantAuthor
可能有多个实例。制作两个单独的联接表,或在联接表中添加一个字段表示与MainAuthor
或AssistantAuthor
之间的关系之间的权衡是什么?
答案 0 :(得分:1)
这取决于您认为业务模式将来会发生多大的变化。
两个独立关系的好处是它看起来更干净,更简单。如果您想要主要作者,则使用一种关系;如果需要助手,则使用另一个。另一个好处是采用此解决方案更便宜。
与“类型”字段建立单一关系的好处是随时间变化的灵活性。如果下个月您想添加第三或第四种作者,该怎么办?例如:法律顾问还是合作者?相同的单一关系应该能够轻松容纳更多类型。
底线:如果您认为这种关系稳定并且不会改变,请选择第一个;如果您想增加灵活性,则可以采用价格稍高的第二个。