我正在尝试构建数据库表来表示以下一阶实体:
用户,艺术家,类型。用户可以将许多流派分配给许多艺术家,并将这些艺术家列入其概念清单。
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之间的设置是否有意义。从这个角度看得太久了,从太多不同的角度来看,我的头在游动。我可以使用一些暗示/建议来更好地组织这一过程。