Products > Database > DatabaseDocumentation > DatabaseSchema > Tracks
Database Schema: Tracks
See the Database Schema page for an overview of the MusicBrainz Database and links to pages which describe each parts of the schema in more detail (like this page).
Tracks are held in the track and albumjoin tables. The design of these tables is as follows (but, as we will see in a minute, the full design is not used yet).
The idea is that a track can appear on several different releases, the information that is the same each time (name, artist, ID, length) is stored in the track table. However the information that changes for each release (mainly, at which track number it appears on the release) is stored in the albumjoin table. Hence broadly speaking, track represents a particular recording of a song, and albumjoin represents the inclusion of that recording on each release it appears on.
Since both the track and the albumjoin table have a modpending flag, we'll describe what each of them is for, too. The modpending flag on the albumjoin table is set if there is a pending edit which would change the sequence column of this track (see EditTrackNumberEdit). The modpending flag on the track table is set on each other EditType (see EditTrackNameEdit, EditTrackTimeEdit, ChangeTrackArtistEdit)
So far, however, tracks are not re-used across different releases, so basically for every track row there is exactly one albumjoin row.
CategoryWikiDocsPage CategoryDevelopment CategoryTrack







