SQL - модель коллекции песен с несколькими жанрами - PullRequest
0 голосов
/ 12 февраля 2019

Так что я очень плохо знаком с SQL и пытаюсь смоделировать базу данных коллекции песен в качестве первого проекта.Моя модель отношений сущностей выглядела бы примерно так:

ER-Model

Теперь это может сработать (я думаю), если бы у каждого альбома и трека был только один жанр, с которым он мог быть связан.Тогда у меня будут следующие таблицы:

Tablename: Album
AlbumID, Name, Releaseyear, Genre

Tablename: Artist
ArtistID, Name

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

Поэтому мой вопрос: если бы я хотел иметь несколько жанров, мне нужно было бы создать отдельную таблицу жанров и как бы изменились мои уже существующие таблицы или какие дополнительные таблицымне нужно?

edit: Я обновил свою 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)

Работает ли этот подход к моделированию или я пропустилчто-то?Я знаю, что в треке может быть несколько исполнителей, однако я хочу смоделировать его так, чтобы по причинам простоты трек показывал только одного исполнителя.

...