我正在制作一个音乐下载网站。在这里有三个名为song_tbl,artist_tbl,album_tbl的表
Song_tbl
Artist_tbl
Album_tbl
每首歌都有一位艺术家。但问题是有些歌曲有不止一个艺术家(例如:song2可能有两个艺术家= petersn和艺术家3)。那我怎么能管理呢。谢谢你的帮助。
答案 0 :(得分:1)
您需要有一张表song_artist_tbl,可以将歌曲链接到艺术家。它应该有2列:song_id和artist_id,然后如果歌曲2链接到艺术家2和3,你有:
song_artist_tbl
song_id artist_id
2 2
2 3
然后您可以从song_tbl表中删除artist_id列
答案 1 :(得分:1)
从artist_id
中删除song_tbl
列,然后添加一个名为song_artists_tbl
的新表
song_artists_tbl
----------------
song_id
artist_id
它被称为1-n关系。
示例数据将是
song_id | artist_id
1 | 1
1 | 2
答案 2 :(得分:1)
您使用链接表的多对多关系。
最终得到的song_artist表只包含引用表的键。
示例:
song_tbl: song_id album_id ...
album_tbl: album_id ...
artist_tbl: artist_id ...
artist_song_tbl: song_id artist_id
通过此设置,您可以播放许多艺人的歌曲。
进一步阅读: http://www.tomjewett.com/dbdesign/dbdesign.php?page=manymany.php