【发布时间】:2012-04-20 20:27:36
【问题描述】:
我正在开发一个简单的具有播放列表功能的视频数据库。在这样的播放列表中,可以按用户指定的顺序放置视频。
所以我想我为每个video_id 分配一个number_in_playlist。这样做的问题是,如果稍后将视频 19 移动到视频 2 和 3 之间的位置,则另外需要更新其间所有视频的 number_in_playlist。
这让我想起了数组与链表。所以我认为链接列表可以解决这个问题,即为每个视频记录存储previous_video_id_in_playlist 和next_video_id_in_playlist 之类的东西。但是,在这种情况下,我不确定如何(按顺序)获取播放列表中的所有视频?
这一定是别人之前遇到过的问题,所以想问问有没有标准推荐的解决方案?
PS:我使用的是 MySQL,我更喜欢简短、快速的查询(我认为这与链表解决方案背道而驰?)
【问题讨论】:
-
你可能已经有了这个,但是由于“视频”与“播放列表”是多对多的关系,你已经创建了一个交集表,对吧?首先创建它,它可能会提供一些解决方法的想法。
-
我有一个表映射
video_id到playlist_id,如果这就是你的意思吗?我自己的解决方案是在该映射表中添加另一个字段number_in_playlist。我只是希望可能有更好的解决方案(用于更新)。
标签: mysql database-design video playlist