【问题标题】:Tracking List Database跟踪列表数据库
【发布时间】:2015-05-11 10:53:09
【问题描述】:

所以我正在构建监视列表应用程序,人们可以在其中添加他们观看的内容并对其进行评分,而其他内容则存储在数据库中,以便在用户之间共享。

但我开始意识到我不知道如何有效地存储用户列表数据。我应该创建一个新表,其中每列的 id 都连接到数据库中的电影表吗?这似乎效率低下,因为用户列表可能包含数百或数千个条目,并且我认为为每个新列创建一个新列将非常耗费查询和空间。我是 SQL 新手,不知道如何继续我的项目,我们将不胜感激。

【问题讨论】:

    标签: mysql


    【解决方案1】:

    如果我对您的理解正确,您有一个用户列表和电影列表。每个用户可以给电影评分。 所以在这种情况下,我会创建一个具有以下结构的新表movie_rating:


    |movie_id |用户 ID |评级 |等等等等


    要存储观看的电影: 创建表watched_movies


    |movie_id |用户 ID |等等等等


    如果有很多用户,这肯定会创建大量记录。不过不用担心 MySQL 并没有那么糟糕 :)

    【讨论】:

    • 我知道如何存储收视率,如果用户有几百个条目,我很困扰如何存储用户观看的列表。
    • 您的意思是要存储已观看电影的列表?我也会以更简单的方式接受这一点。查看编辑后的答案
    • 哇,有几百个条目!我不知道数据库是否可以处理这个问题!开个玩笑,数据库就是为这种用途而设计的。即使是最简单的家用 PC 也可以轻松处理包含 100.000 条记录的数据库..
    • 谢谢,因为我刚开始使用 mysql,我不知道它有多费力,我想我现在知道该怎么做了
    【解决方案2】:

    从学习该主题开始,很快就会清楚。

    您通常会创建一个包含用户的用户数据库、一个包含节目的节目数据库以及一个包含评分的评分数据库。 评分数据库包含具有对用户的引用、对节目的引用和评分分数的项目。

    【讨论】:

    • 是的,我明白了,但我将如何存储用户观看的内容?我的意思是用户可以将他观看或计划观看的内容添加到他的“观看列表”中,并在他打开该列表时显示,该列表条目将对应于“显示”表。该列表应该很大,所以我不确定如何有效地存储它。
    • 创建一个像 Rating 表一样的监视表,可能有一个可以为 NULL 的项目来表示 Rating。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-28
    • 1970-01-01
    • 1970-01-01
    • 2016-05-10
    • 2011-08-15
    • 2012-05-30
    相关资源
    最近更新 更多