从电影数据库

时间:2017-07-17 03:18:50

标签: database database-design

我正在尝试使用从themoviedb api中提取的信息来创建数据库模式。

在我加入电视剧之前,我以为自己做得很好,然后我真的很困惑。

TMDb API似乎将电视连续剧和电影视为完全独立的事物。它进一步将电视节目分为系列,季节和剧集。

例如,电视季节(季节常客)和个人剧集(客座演员)有一个单独的演员表。我不知道如何在数据库中反映所有这些。

我已尽力模拟下面的所有内容,但我觉得某处出了点问题。请忽略数据类型。

first attempt at a schema

Role can be either writer, director, or actor.

1 个答案:

答案 0 :(得分:1)

http://imgur.com/a/1WKQB

嗨user2146821,

您的数据库设计看起来不错,但正如您所表达的那样,除了如何显示常规演员和客座演员之间的关系之外。

目前,您正在通过在电影,电视季节,电视剧集和人物之间建立单一联接表来接近该场景。这将创建一个表,您不能拥有单个主键或正确的复合主键,因为任何给定记录都将具有空值。

在上面的链接图片中,你可以看到另一种处理这种关系的方法 - 你创建了三个连接表,每个连接表一边是Person,另一边是相应的表(电影,电视季节或电视剧集)。这消除了连接表中的空值,允许在连接表中形成复合主键,并以更有意义的方式构造数据库。