SQL ::多对多表或只是外键

时间:2010-12-10 19:30:54

标签: sql

我正在构建一个应用程序,我无法理解一些基本概念。

我正在构建的故事是,用户可以创建有关产品的消息。

用户只会在USERS表中出现一次。 产品只会在PRODUCTS表格中出现一次。

但是用户可以创建许多MESSAGES,每个MESSAGES都包含一个产品。

因此,MESSAGES中将引用多个产品。

我现在的问题是,用户与>消息和产品 - >消息之间是否存在许多关系?

即。我应该在它们之间创建链接表吗?

2 个答案:

答案 0 :(得分:1)

如果这个位是真的......

  

消息,每个都是关于一个产品。

...然后消息和产品之间的基数是多对一的。

所以我希望你的消息表包含用户和产品的FK,但就是它

答案 1 :(得分:1)

听起来你有两个一对多的关系。

用户和消息: 一个用户可以拥有许多消息,并且一个消息与一个用户相关联。如果这是真的,那么你就有了一对多的关系。

产品和信息: 一个产品可以引用许多消息,一个消息可以有一个产品。如果这是真的,那么你就有了一对多的关系。

USERS和PRODUCTS之间没有直接关系。

如果这些陈述属实,您将不需要任何其他链接表。