用于发布电视剧的数据库结构,每个剧集在特定季节的sql中

时间:2018-02-22 18:03:03

标签: php sql database

所以我在思考,我无法弄清楚。

我想出了这个想法。

table tv-shows (list of all tv shows)

id    show_title   
 1    Vampire Diaries

然后所有剧集的列表将放在一个表中

id    episode_title      episode_identifier      
 1    Vampire diaries    id from table tv-shows
 2    The walking dead   id from table tv-shows

问题

我知道我可以做类似于php的事情

"SELECT * FROM episodes WHERE episode_second_title = S1E5"

但我希望每个季节都有新的信息和图像海报等等。

我对这一切都很陌生,所以不要介意我的笨蛋

如果想法不好,请建议更好的< 3 :)

1 个答案:

答案 0 :(得分:0)

看着这个让我觉得你想要三个表:系列,剧集和季节。

**Show**
ShowID(Primary Key)     ShowTitle

**Episodes**
ShowID(Foreign Key)     SeasonID     EpisodeID     EpisodeTitle     EpisodeDescription

**Seasons**
ShowID(Foreign Key)     SeasonID     SeasonDescription     SeasonPosterURL

这将在ShowID上链接所有三个实体(Show,Episode和Season),并且会在SeasonID上链接Season和Episode。这样,每集都将具有ShowID,SeasonID和EpisodeId的独特组合。

当然,将每个节目分解为自己的模式可能会更好,而不是将每个节目的所有剧集保存在一个单独的表中。然后,您可以将表格组织为 my_tv_show_database.vampire_diaries.episodes my_tv_show_database.vampire_diaries.seasons

所以你的示例查询更像是:

SELECT * 
FROM my_tv_show_database.vampire_diaries.episodes 
WHERE SeasonID=1 AND EpisodeID=15;