2013-10-20 79 views
0

我正在製作一個數據庫,其中包括藝術家,專輯和歌曲。我有一張藝術家(藝術家),專輯(專輯)和歌曲(歌曲)的表格。專輯表中有來自藝術家的外鍵,artist_id,所以我不必一遍又一遍地寫下藝術家的名字。Mysql鏈接表列varchar

現在我想添加歌曲。我將我的相冊的標籤值導出到csv文件。這些我導入到MySQL。這是歌曲表,它包括:標題,artist_name,album_name,時間。

現在我想讓歌曲鏈接到相應的專輯。所以,來自歌曲的專輯列名稱是來自專輯的專輯名稱。我不知道如何鏈接它們,據我所知外鍵需要int。在專輯中有album_id,但是不能包含在歌曲中,如果我想要,我必須手動將它們放入,這是很多時間。

回答

0

我想你應該重構你的songs表和替換artist_nameartist_idalbum_nameablum_id,這對artists外鍵約束,並分別albums

看待另一種方式是:

albums表基本上是artistssongs之間的聯結表。你可以調用表artists_songs來反映這種關係。

在這種情況下,您的聯結表應該同時具有artist_idsong_id

這樣的關係將是

  1. artists有很多albums(或artists_songs),有songs通過許多albums
  2. albums有很多songs,屬於artists
  3. songs屬於albums,屬於artists via albums