三向关联

时间:2019-02-10 14:54:03

标签: database model associations

我正在尝试构建数据库表来表示以下一阶实体:

用户,艺术家,类型。用户可以将许多流派分配给许多艺术家,并将这些艺术家列入其概念清单。

User
  -- has one more more artists.
  -- has one or more genre/artist pairs
Genre
  -- this is a lookup table, meaning there are exactly X genres in play
Artist
  -- has many genre/user pairs

这是让我转圈的最后一部分。

我想出了这些表:

users
  user_id
  [some_metadata_columns]

genres
  genre_id
  genre_name

artists
  artist_id
  [some_metadata_columns]

users_artists
  id
  user_id
  artist_id

user_genres
  id
  user_id
  genre_id

artist_user_genres
  id
  user_artist_id
  genre_id

我不确定user / user_genres / artist_user_genres / genres之间的设置是否有意义。从这个角度看得太久了,从太多不同的角度来看,我的头在游动。我可以使用一些暗示/建议来更好地组织这一过程。

0 个答案:

没有答案