2013-10-20 3 views
0

저는 아티스트, 앨범 및 노래가 포함 된 데이터베이스를 만들고 있습니다. 아티스트 (아티스트), 앨범 (앨범) 및 노래 (노래) 테이블이 있습니다. 앨범 테이블에는 아티스트의 외래 키 (artist_id)가 있으므로 아티스트의 이름을 반복해서 쓸 필요가 없습니다.Mysql 링크 테이블 열 varchar

이제 노래를 추가하고 싶습니다. 내 앨범의 태그 값을 CSV 파일로 내 보냈습니다. 이것들은 mysql로 ​​가져왔다. 그것은 곡 테이블입니다. 여기에는 title, artist_name, album_name, time이 포함됩니다.

이제 노래를 해당 앨범에 연결하고 싶습니다. 앨범의 앨범 이름은 album_name입니다. 외래 키가 필요하다는 것을 알고있는 한, 나는 그들을 링크하는 방법을 모른다. 앨범에는 album_id가 있지만 곡에 포함될 수 없습니다. 수동으로 입력해야한다면 시간이 많이 걸립니다.

:

답변

0

나는 당신이 당신의 songs 테이블을 리팩토링 및 외래 키 artists에 제약 각각 albums 테이블

보는 또 다른 방법이 ablum_idartist_idartist_namealbum_name를 교체해야합니다 생각 albums 테이블은 본질적으로 artistssongs 사이의 접합 테이블입니다. 관계를 반영하기 위해 표 artists_songs을 부를 수있었습니다.

이 경우 접합 테이블은 artist_idsong_id이어야합니다.

그래서 관계가

  1. artistsalbums
  2. albums이 많은 songsalbumsartists
  3. songs가 속한 속한 많은 albums (또는 artists_songs)이 많은 songs를 통해이 될 것 속한 artists via albums