我在表book_person
之间有一个桥接表book
并person
提供多对多关系。在此表中,我还有角色定义,用于设置一个人在特定书籍中的角色(作者、编辑、插图画家、翻译等)。现在我考虑将角色拆分为单独的角色表(例如book_author
等book_translator
)。但我很怀疑,这是个好主意吗?对于专业人士来说,它使 DB 更加干净和一个简单的好处,我看到 DBIC 模式加载器检测到这样简单的桥表并为我创建多对多访问器。对于缺点,我看到角色的聚合函数需要更多的连接。
使用单独的角色桥接表而不是多合一角色桥接表有什么好处?以及缺点是什么?我正在尝试使用 ORM (DBIx::Class) 升级我的应用程序,但还不太了解,因此也非常欢迎对它进行考虑。