复合主键由其他表的主键组成

问题描述 投票:-1回答:1

嗨,我正在尝试将两个表中的PK(PK为'video_id'和'user_id')组合在一起,以创建由特定用户观看的唯一视频列表。我希望这是复合以最小化冗余,但在文档中只有FK似乎用于制作复合PK。如果我使它成为复合FK,这仍然是唯一的(同一用户观看的视频不会有多行)?

database database-design data-modeling
1个回答
0
投票

不知道你在这里问的是什么,但以下是一般性问题。

你在这里有多对多的关系。许多用户可以观看一个视频。一个用户可以观看许多视频。

记录这种关系的一般方法是使用第三个表。我们可以称之为userVideo。它至少有两列,UserID和VideoID。正如您所建议的那样,FK引用了用户和视频表的PK。总之,它们可以是第三个表的(复合)PK。可能会有更多列,例如评级,它会显示用户对视频的喜爱程度。

UserID和VideoID的组合在此表中是唯一的。如果您想要存储每次用户观看视频时的数据,那就是另一种情况。

这回答了你的问题了吗?

© www.soinside.com 2019 - 2024. All rights reserved.