History:Music Collection Data Model

From MusicBrainz Wiki

Music Collection data model

Description

See data model below. The tables in the orange box represents already existing tables that I will be grabbing data from. Blue tables are join tables, and the green ones are regular tables. Further down you will also find a list of tables and a brief description of each table.

Each moderator tuple corresponds to a tuple in the collection_info table. collection_info holds information about a user's collection. Through the join table collection_watch_artist_join collection_info knows which artists the user want to see missing releases from.

The collection_has_release_join and collection_ignore_release_join is for knowing which releases the user have in his/her collection, and which releases to ignore. collection_discography_artist_join is for knowing which artists the user want to view missing releases from.

Note that not all functionality facilitated by the data model is must have functionality - things that I have to implement to pass this Google Summer of Code project.

datamodel2.png

List of tables and brief description

Tables are described here, listed right to left if read from the data model.

collection_info

Information about collection.

collection_ignore_time_range

For knowing which time ranges to ignore releases from when displaying missing releases.

Note: This will most likely change to per artist instead of per collection if implemented later.

collection_watch_artist_join

Knows which artists the owner of the collection want to be notified about upcoming releases from.

collection_discography_artist_join

Knows which artists the owner of the collection want to see missing releases from.

collection_has_release_join

Knows which releases(album) is in the users' collection.

collection_ignore_release_join

Knows which releases the user want to ignore, so that they are not displayed as missing releases.