我在MySQL数据库中存储了大量歌曲。这就是我在'歌曲'表中存储的内容:
CREATE TABLE `songs` (
`song_id` int(10) unsigned NOT NULL auto_increment,
`song_artist` varchar(255) NOT NULL,
`song_track` varchar(255) NOT NULL,
`song_mix` varchar(255) NOT NULL,
`song_title` text NOT NULL,
`song_hash` varchar(40) NOT NULL,
`song_addtime` int(10) unsigned NOT NULL,
`song_source` text NOT NULL,
`song_file` varchar(255) NOT NULL,
PRIMARY KEY (`song_id`)
) ENGINE=MyISAM AUTO_INCREMENT=1857 DEFAULT CHARSET=latin1
现在,我想跟踪每首歌的播放次数,以及与歌曲相关的其他歌曲特定数据。我不想继续为'songs'表添加字段。如何以更有效的方式存储歌曲相关数据?这里最好的做法是什么?
答案 0 :(得分:5)
如果是1对1关系,则应将其添加到歌曲表中。当关系调用时,向表中添加更多字段没有错。然后,您可以使用SQL在每次播放时增加字段。
如果您想要跟踪特定用户播放歌曲的次数,可以使用另一种方法。您可以创建一个以song_id, user_id, plays
作为字段的关系表(song_id和user_id将形成一个复合键)。
取决于您的意思
特定于歌曲的数据
将确定如何修改架构。