首页 > 解决方案 > 数据库设计方法:需要的建议

问题描述

我正在设计培训视频市场应用程序。将有付费和无偿客户。对于未付费客户,我想提供一些视频作为所选培训包的免费访问权限。

例如,如果给定的培训包中共有 10 个培训视频,则 4 个视频将是免费的。但是,要观看剩余的 6 个视频,客户需要购买整个培训包。

我无法决定为这种情况设计数据库表的正确方法。

这是我能想到的。我不确定这将是正确的方法。

第一种方法: 我假设,我需要如下三个表:

当用户访问任何培训视频时,我会检查用户是否付费。为此,我将借助 Purchase_table。然后根据 boolean free_access 列,视频将被提供/拒绝。但是,这在性能方面似乎太昂贵了(我可能错了!)。

第二种方法: 我应该在付费和非付费用户的培训视频表顶部创建视图,以尽量减少非付费用户对视频的访问。但是,我不确定这将如何实施。

我是否应该使用一些缓存机制来避免为每个视频请求查询购买表。您是否认为可以或可以建议任何新方法。

任何帮助将不胜感激!

谢谢

标签: mysqldjangodjango-rest-framework

解决方案


推荐阅读