多对多关联表 - 习惯上在这些表中添加其他列吗?

Ran*_*der 11 database sql-server database-design

我们在数据库中遇到了以下情况.我们有表'A'和表'B',它们具有M2M关系.关联表名为'AB',包含表'A'的FK列和表'B'的FK列.现在我们已经确定需要存储有关此关联的其他数据.例如,关联发生的日期,以及谁建立关联等.我们决定将这些附加列放在"AB"关联表中.然而,有些东西告诉我这是数据库纯粹主义者所不满意的.另一方面,我们创建一个额外的表来存储这些相关数据是没有意义的.

对此有何看法?

Gra*_*tzy 10

我完全没有看错.如果信息与关联本身有关,那么它似乎是存储它的绝对正确的地方.

如果你要创建一个新的表来存储它,它只会一对一地与associaton表相关.这基本上只是扩展关联表.


TLi*_*ebe 9

我以前做过这个,不要以为它有什么问题.如果数据与关系有关,例如在关联发生的日期,并且不属于一个表或另一个表,则关联表是放置它的位置.


Jus*_*ner 5

如果数据实际上属于关系而不是单个实体之一......那么是的,将其放入数据透视表中。