MySQL - 数据库结构,不知道如何做到这一点

时间:2013-09-27 11:07:52

标签: mysql database-design

我正在尝试创建用户和电影的数据库。然后我想让用户点击一部电影并将其标记为“已观看”。

构建这个的最佳方法是什么。我的意思是,我可以简单地使用一个名为“Watched”的表,并简单地将UserId链接到该表中的MovieId,以表示用户已观看该特定电影。这意味着正在观看的电影的每个实例都需要在表格中记录,对吧?看起来它最终会占用数据库中的大量空间。

有没有更简单的方法来做到这一点?对不起,如果它听起来很模糊。我认为它类似于Facebook上的“朋友”。会不会有一张桌子,其中每个友谊实例都被记录为记录,或者是否有一种方式只是简单地列出朋友查询,或者其他什么,我不知道...任何帮助非常感谢,谢谢!

2 个答案:

答案 0 :(得分:2)

您的建议是正确的,使用名为“Watched”的表格,只需将UserId链接到该表格中的MovieId

通过这种方式,您将拥有一个规范化的数据库,两侧都有一对多关系,朝向“电影”和“用户”表。

如果您的数据库变得非常庞大,它还可以在以后检索数据时节省您的性能成本。

答案 1 :(得分:0)

您需要一个用户表,电影表,friendship_match表,如果您想录制哪个时间观看的电影,还有一个观察表(使用此表还可以显示用户的观看记录)

你必须拥有友谊表,因为它也包含请求。如果一个人添加某人,则并不意味着另一个人会接受它。除此之外,如果查询整个用户表,则需要很长时间。