SQL-具有多种流派的模型歌曲收藏

时间:2019-02-12 10:34:58

标签: database-design relational-database

因此,我对SQL还是很陌生,我正在尝试将歌曲收集数据库建模为第一个项目。我的实体关系模型如下所示:

ER-Model

现在,这可能有效(我认为),如果每个专辑和曲目只有一个流派,则可以将其关联。然后,我将得到以下表格:

Tablename: Album
AlbumID, Name, Releaseyear, Genre

Tablename: Artist
ArtistID, Name

Tablename: Track
TrackID, TrackNr, AlbumID, Name, Genre

所以我的问题是,如果我想拥有多个流派,我需要制作一个单独的流派表,我已经存在的表将如何更改,或者我需要额外的表?

修改: 我将ER模型更新为@EzLo给我的建议。 新模型如下所示:

https://i.stack.imgur.com/ffqt5.png

现在我要得到的表是:

Tablename: Album
AlbumID, ArtistID(foreign key) Name, Releaseyear

Tablename: Artist
ArtistID, Name

Tablename: Track
SongID, TrackNr, AlbumID(forgot to draw in ER-model), Name

Tablename: Genre
GenreID, Name

Tablename: GenreByAlbum
GenreID(foreign key), AlbumID(foreign key)

Tablename: GenreByTrack
GenreID(foreign key), SongID(foreign key)

这种建模方法行得通还是我遗漏了一些东西?我知道某个曲目可以有多个艺术家,但是我希望对其进行建模,以使曲目仅出于简单性的目的仅显示一位艺术家。

0 个答案:

没有答案