Database design
From Chart Archive Consultation
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
- Artist ID [#]
- Name [str]
- Website [str]
- Info [str]
- MusicBrainzID [#]
- Discogs Link [#]
- Wikipedia Link [#]
- 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
