Database design

From Chart Archive Consultation

Jump to: navigation, search

The initial plan is to create a relational database to be run on mySQL, the initial draft structure is outlined below.

The database schematic is laid out in the following format

  • Table Name
    • Field Name [Field Format] (Linked Field) {Notes}


  • Chart Positions
    • Chart ID [#] (Charts)
    • Date [yyyymmdd]
    • Chart Position [#]
    • ReleaseID [#] (Releases)
    • Sales [#]
  • Releases
    • ReleaseID
    • Title [str]
    • Byline [str]
    • Date of Release [yyyymmdd]
    • Release Type [single/album/dvd/bootleg/download]
    • LabelID [#] (Labels)
    • Catalogue Number [str]
    • MusicBrainzID [#]
    • DiscogsID [#]
  • Credits
    • ReleaseID [#]
    • ArtistID [#]
  • Labels
    • LabelID [#]
    • Name [str]
    • Info [str]
  • Artists
  • Charts
    • Chart ID [#]
    • Name [str]
    • Info [str]
    • Started [yyyymmdd]
    • Ended [yyyymmdd]
  • Media
    • Media ID [#]
    • Release ID [#] (Releases)
    • MediaType [image/audio/video]

The structure of the database must be robust enough to deal with circumstances including the following:

  • Tied chart positions
  • Re-releases
  • Collaborations (eg featuring/with/&)
  • Compilations
Personal tools