freedb.org FreeDB is a free version of the CDDB database, publicly available. In it, information can be found about who recorded a certain album, which are the names of its tracks, and more in case the submitter included that information.(The database entries are submitted freely by people from all around the world, so some of the entries may have missing, weird or incorrect data) This database is an adaptation of FreeDB, but you definitely can't connect to it with your CD player program!

The Database

The database contains four tables: albums, tracks, extended_albums and extended_tracks. Due to limited power of the owora server the database only contains a fraction of the freedb databse.

Albums

Each album is assumed to have a different 'Disc ID', which serves as the primary key in our case. (This is a string computed using the lengths of the different tracks; see the FreeDB site for an explanation). All entries must contain length in seconds, entry revision number, the name of the submitter program, and the CDDB genre(rock, jazz, etc) of the album. There are only a few different CDDB genres, which is why there is another field for additional(optional) genre information. Also included are the title and artist name, and the year of release. The same album may appear several times, if it has been released with different lengths on different occasions

AttributeConstraintType
DISCID NOT NULL CHAR(8)
LENGTH NOT NULL NUMBER(4)
REVISION NOT NULL NUMBER(4)
SUBMITTER NOT NULL VARCHAR2(40)
TITLE VARCHAR2(160)
ARTIST VARCHAR2(160)
YEAR NUMBER(4)
CDDB_GENRE NOT NULL VARCHAR2(11)
EXT_GENRE VARCHAR2(20)

Tracks

Each album has a number of tracks, which in turn have a name and a track number. The table includes the Disc ID to relate the different tracks to their respective albums.

AttributeConstraintType
DISCID NOT NULL CHAR(8)
TRACK NOT NULL NUMBER(2)
TITLE VARCHAR2(256)

Extended_album

For every album there is the possibility of submitting additional (extended) data, which can be any number of lines of text. We have arbitrarily limited the number to 1000 lines per album, which covers all the available entries. Entries have a Disc ID, a line number, and of course the line of text.

AttributeConstraintType
DISCID NOT NULL CHAR(8)
LINE NOT NULL NUMBER(3)
INFO VARCHAR2(256)

Extended_track

For every track there is also the possibility of submitting additional data, which can be any number of lines of text. Again we have arbitrarily limited the number to 1000 lines per track per album, which covers all the available entries. Entries have a Disc ID, a track number, a line number, and of course the line of text.

AttributeConstraintType
DISCID NOT NULL CHAR(8)
TRACK NOT NULL NUMBER(3)
LINE NOT NULL NUMBER(3)
INFO VARCHAR2(256)