以典型的产品/类别为例,多对多关系通常如下所示:
table -- ProductsCategories
column - ProductId
column - CategoryId
将其他属性添加到该关系中是不明智的,这些属性只存在于该特定关系中。例如(请原谅我糟糕的例子,我不擅长举例):
table -- ProductsCategories
column - ProductId
column - CategoryId
column - DiscountForProductsInThisCategory
column - CategoryImageForProductsInThisCategory
发布于 2009-03-06 18:14:45
多对多关系只是一个具有2个一对多关系的表,可以将其视为具有2个关系的3个表,而不是具有关系和与之关联的数据的2个表。在实现上没有区别。
无论哪种方式,这都是完全可以接受的。
发布于 2009-03-06 18:17:41
除非数据是专门针对该特定关系的,否则应避免这种情况,因为您最终会复制大量数据。在您的示例中,图像链接到类别,因此应该存储在那里。但是,应该在该表中包含指示建立和编辑关系的时间戳,以及创建和修改关系的user- in。
发布于 2009-03-06 18:15:12
当然,您可以将此信息存储在那里。在其他任何地方,它都不会被规范化。
https://stackoverflow.com/questions/619853
复制相似问题