首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >多对多关系是否应该定义关系以外的任何内容

多对多关系是否应该定义关系以外的任何内容
EN

Stack Overflow用户
提问于 2009-03-06 18:12:50
回答 7查看 655关注 0票数 3

以典型的产品/类别为例,多对多关系通常如下所示:

代码语言:javascript
运行
复制
table -- ProductsCategories
column - ProductId
column - CategoryId

将其他属性添加到该关系中是不明智的,这些属性只存在于该特定关系中。例如(请原谅我糟糕的例子,我不擅长举例):

代码语言:javascript
运行
复制
table -- ProductsCategories
column - ProductId
column - CategoryId
column - DiscountForProductsInThisCategory
column - CategoryImageForProductsInThisCategory
EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-03-06 18:14:45

多对多关系只是一个具有2个一对多关系的表,可以将其视为具有2个关系的3个表,而不是具有关系和与之关联的数据的2个表。在实现上没有区别。

无论哪种方式,这都是完全可以接受的。

票数 6
EN

Stack Overflow用户

发布于 2009-03-06 18:17:41

除非数据是专门针对该特定关系的,否则应避免这种情况,因为您最终会复制大量数据。在您的示例中,图像链接到类别,因此应该存储在那里。但是,应该在该表中包含指示建立和编辑关系的时间戳,以及创建和修改关系的user- in。

票数 6
EN

Stack Overflow用户

发布于 2009-03-06 18:15:12

当然,您可以将此信息存储在那里。在其他任何地方,它都不会被规范化。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/619853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档