我正在建立一个数据库,其中包括艺术家,专辑和歌曲。我有一张桌子供艺术家(艺术家),专辑(专辑)和歌曲(歌曲)使用。专辑表具有艺术家的外键,即artist_id,因此我不必一遍又一遍地写下艺术家的名字。
现在我要添加歌曲。我将相册的标签值导出到csv文件中。这些我导入到mysql中。这是歌曲表,其中包括:标题,艺术家名称,专辑名称,时间。
现在,我希望将歌曲链接到相应的专辑。因此,歌曲中的专辑名称为专辑中的专辑名称。据我所知,外键需要int,我不知道如何链接它们。在专辑中有album_id,但是不能包含在歌曲中,如果我想手动将它们放入,那会花费很多时间。
最佳答案
我认为您应该重构songs
表并将artist_name
替换为artist_id
,将album_name
替换为ablum_id
,它们分别对artists
和albums
表具有外键约束
另一种查看方式是:albums
表本质上是artists
和songs
之间的连接表。您可以调用表artists_songs
来反映这种关系。
在这种情况下,联结表应同时具有artist_id
和song_id
。
所以关系将是artists
有很多albums
(或artists_songs
),通过songs
有很多albums
albums
有很多songs
,属于artists
songs
属于albums
,通过artists
属于albums