SQL music playlist database design

2019-08-14 05:03发布

问题:

I had a question about how to structure my tables for a database with songs and playlists. My initial thought was to create a table of playlists titles and id's and then a playlists songs table that holds the songs unique id and the playlist in which it belongs to.

The other plan was to create a new table for each playlist that gets created and store the song information inside each table for the playlist. The question is, would this be a good approach or is there some reason that creating these new tables would be bad for performance or any other reason? Thanks for the help!

回答1:

How about something like this?

Songs:

id title length artist_id

Artists:

id name

Playlists:

id title user_id 

Playlists_Songs:

playlist_id song_id

Users:

id name email 


回答2:

In terms of relational design, you need two tables for playlists, one holding the playlistname (key, playlistname), one for the actual playlists (key,playlistkey,trackid) Table for tracks holding mp3 tag details (key, track title, artist key, album .... Etc) Table for Artists (key, name, band). You can break it down further applying the principle that you should not duplicate data for instance holding a playlistname in more than one table. By creating views, you knit all this together

However, if you are using android, this database already exists.