use*_*392 3 mysql sql database database-design database-normalization
为简单起见,假设我的数据库有两个表,视频和用户.视频是不同视频的列表,用户是不同用户的列表.
我需要能够记录用户何时观看某个视频,所以当他们再次观看视频时,我可以让他们知道他们已经看过了.
信息:可能会有数十万用户可能会有数十万个视频.
我想到这样做的一种方法是为每个视频创建一个表,或者为每个用户创建一个表(两者都会产生数十万个表).
另一种方法是创建一个中性表,其中包含:userID(外键),videoID(外键).但是,我认为这会影响效率(和规范化),因为存在多值依赖关系,或两列中相同userID和videoID的倍数.
我仍然是数据库的新手,我觉得我错过了一些简单的东西.任何帮助将不胜感激.
我正在使用MySQL.
您的数据库应该有一个表users,一个表videos和一个表userViews.userViews包含字段userId和videoId时间/日期字段.在人们观看视频时填写.
规范化不会受到影响.