CINXE.COM
The database structure of MusicBrainz
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head><script type="text/javascript" src="/_static/js/bundle-playback.js?v=HxkREWBo" charset="utf-8"></script> <script type="text/javascript" src="/_static/js/wombat.js?v=txqj7nKC" charset="utf-8"></script> <script>window.RufflePlayer=window.RufflePlayer||{};window.RufflePlayer.config={"autoplay":"on","unmuteOverlay":"hidden"};</script> <script type="text/javascript" src="/_static/js/ruffle/ruffle.js"></script> <script type="text/javascript"> __wm.init("https://web.archive.org/web"); __wm.wombat("http://www.musicbrainz.org:80/db_structure.html","20030622084437","https://web.archive.org/","web","/_static/", "1056271477"); </script> <link rel="stylesheet" type="text/css" href="/_static/css/banner-styles.css?v=S1zqJCYt" /> <link rel="stylesheet" type="text/css" href="/_static/css/iconochive.css?v=3PDvdIFv" /> <!-- End Wayback Rewrite JS Include --> <title>The database structure of MusicBrainz</title> <link rel="stylesheet" type="text/css" href="/web/20030622084437cs_/http://www.musicbrainz.org/brainz.css?t=1055963728"> <link rel="shortcut icon" href="/web/20030622084437im_/http://www.musicbrainz.org/favicon.ico"> <meta http-equiv="expires" content="1"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td class="LogoBarCell"><a href="/web/20030622084437/http://www.musicbrainz.org/"><img src="/web/20030622084437im_/http://www.musicbrainz.org/images/header_logo_a.gif" width="614" height="67" alt="" border="0"></a></td> </tr> </table> <p style="display: none"> <a href="#maincontent">Skip to main content >></a> </p> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td class="NavBarCell"><a href="/web/20030622084437/http://www.musicbrainz.org/"><img src="/web/20030622084437im_/http://www.musicbrainz.org/images/header_logo_b.gif" width="98" height="21" alt="" border="0"></a></td> <td class="NavBarCell" align="right" valign="middle"> <span class="topmenu"> <a href="/web/20030622084437/http://www.musicbrainz.org/search.html">Search</a> | <a href="/web/20030622084437/http://www.musicbrainz.org/login.html">Login</a> | <a href="/web/20030622084437/http://www.musicbrainz.org/prefs.html">Prefs</a> | <a href="/web/20030622084437/http://www.musicbrainz.org/moderate.html">Moderate</a> | <a href="/web/20030622084437/http://www.musicbrainz.org/download.html">Download</a> | <a href="/web/20030622084437/http://www.musicbrainz.org/faq.html">FAQ</a> | <a href="https://web.archive.org/web/20030622084437/http://wiki.musicbrainz.org/">Wiki</a> </span> </td> </tr> </table> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td width="141" class="SideBarCell" valign="top"> <table width="141" cellpadding="0" cellspacing="0" border="0"> <tr> <td width="131" height="20" bgcolor="#AAAAAA"><img src="/web/20030622084437im_/http://www.musicbrainz.org/images/pixel.gif" width="5" height="1" alt="" border="0"> <span class="section">Site Menu</span> </td> <td width="10" rowspan="2" bgcolor="#FFFFFF"><img src="/web/20030622084437im_/http://www.musicbrainz.org/images/sidemenu_end.gif" width="10" height="20" alt="" border="0"></td> </tr> <tr> <td width="131" height="1" bgcolor="#000000"><img src="/web/20030622084437im_/http://www.musicbrainz.org/images/pixel.gif" width="1" height="1" alt="" border="0"></td> </tr> </table> <table cellpadding="3" cellspacing="0" border="0" width="131px"> <tr> <td> <script type="text/javascript" src="/web/20030622084437js_/http://www.musicbrainz.org/scripts/sitemenu.js"></script> <div id="sitemenu"> <div class="sitemenu0"> <div class="menuitem" id="sitemenu1item"> <div class="menurow_c" id="sitemenu1row"> <a class="menunocontrol_c" id="sitemenu1control"> </a><a class="menulink" href="/web/20030622084437/http://www.musicbrainz.org/index.html">Home</a></div></div> <div class="menuitem" id="sitemenu2item"> <div class="menurow_c" id="sitemenu2row"> <span class="menucontrol_c" id="sitemenu2control"> </span><a class="menulink" href="/web/20030622084437/http://www.musicbrainz.org/introduction.html">About</a></div></div> <div class="menuitem" id="sitemenu16item"> <div class="menurow_c" id="sitemenu16row"> <span class="menucontrol_c" id="sitemenu16control"> </span><a class="menulink" href="/web/20030622084437/http://www.musicbrainz.org/news/index.html">News</a></div></div> <div class="menuitem" id="sitemenu29item"> <div class="menurow_c" id="sitemenu29row"> <span class="menucontrol_c" id="sitemenu29control"> </span><a class="menulink" href="/web/20030622084437/http://www.musicbrainz.org/download.html">Products</a></div></div> <div class="menuitem" id="sitemenu51item"> <div class="menurow_c" id="sitemenu51row"> <span class="menucontrol_c" id="sitemenu51control"> </span><a class="menulink" href="/web/20030622084437/http://www.musicbrainz.org/search.html">Search/Browse</a></div></div> <div class="menuitem" id="sitemenu57item"> <div class="menurow_c" id="sitemenu57row"> <span class="menucontrol_c" id="sitemenu57control"> </span><a class="menulink" href="/web/20030622084437/http://www.musicbrainz.org/mod_intro.html">Edit the Data</a></div></div> <div class="menuitem" id="sitemenu131item"> <div class="menurow_c" id="sitemenu131row"> <span class="menucontrol_c" id="sitemenu131control"> </span><a class="menulink" href="/web/20030622084437/http://www.musicbrainz.org/contribute.html">Help Us</a></div></div> <div class="menuitem" id="sitemenu148item"> <div class="menurow_o" id="sitemenu148row"> <a class="menucontrol_o" id="sitemenu148control" href="/web/20030622084437/http://www.musicbrainz.org/information.html" onclick="return smt("sitemenu148")"> </a><a class="menulink" href="/web/20030622084437/http://www.musicbrainz.org/information.html">Support</a></div><div class="submenu_o" id="sitemenu148sub"> <div class="sitemenu1"> <div class="menuitem" id="sitemenu149item"> <div class="menurow_c" id="sitemenu149row"> <a class="menunocontrol_c" id="sitemenu149control"> </a><a class="menulink" href="/web/20030622084437/http://www.musicbrainz.org/faq.html">FAQ</a></div></div> <div class="menuitem" id="sitemenu150item"> <div class="menurow_o" id="sitemenu150row"> <a class="menucontrol_o" id="sitemenu150control" href="/web/20030622084437/http://www.musicbrainz.org/documentation.html" onclick="return smt("sitemenu150")"> </a><a class="menulink" href="/web/20030622084437/http://www.musicbrainz.org/documentation.html">Docs</a></div><div class="submenu_o" id="sitemenu150sub"> <div class="sitemenu2"> <div class="menuitem" id="sitemenu151item"> <div class="menurow_c" id="sitemenu151row"> <a class="menunocontrol_c" id="sitemenu151control"> </a><a class="menulink" href="/web/20030622084437/http://www.musicbrainz.org/documentation.html">Introduction</a></div></div> <div class="menuitem" id="sitemenu152item"> <div class="menurow_c" id="sitemenu152row"> <a class="menunocontrol_c" id="sitemenu152control"> </a><a class="menulink" href="/web/20030622084437/http://www.musicbrainz.org/how.html">How</a></div></div> <div class="menuitem" id="sitemenu153item"> <div class="menurow_c" id="sitemenu153row"> <a class="menunocontrol_c" id="sitemenu153control"> </a><a class="menulink" href="/web/20030622084437/http://www.musicbrainz.org/client_howto.html">Client HOWTO</a></div></div> <div class="menuitem" id="sitemenu154item"> <div class="menurow_c" id="sitemenu154row"> <a class="menunocontrol_c" id="sitemenu154control"> </a><a class="menulink" href="/web/20030622084437/http://www.musicbrainz.org/docs/mb_client/">Client Docs</a></div></div> <div class="menuitem" id="sitemenu155item"> <div class="menurow_c" id="sitemenu155row"> <a class="menunocontrol_c" id="sitemenu155control"> </a><a class="menulink" href="/web/20030622084437/http://www.musicbrainz.org/cd_submission.html">CD Submission</a></div></div> <div class="menuitem" id="sitemenu156item"> <div class="menurow_c" id="sitemenu156row"> <a class="menunocontrol_c" id="sitemenu156control"> </a><a class="menulink" href="/web/20030622084437/http://www.musicbrainz.org/tagger/id-intro.html">About MB IDs</a></div></div> <div class="menuitem" id="sitemenu157item"> <div class="menurow_c" id="sitemenu157row"> <a class="menunocontrol_c" id="sitemenu157control"> </a><a class="menulink" href="/web/20030622084437/http://www.musicbrainz.org/disc.html">About Disc IDs</a></div></div> <div class="menuitem" id="sitemenu158item"> <div class="menurow_c" id="sitemenu158row"> <a class="menunocontrol_c" id="sitemenu158control"> </a><a class="menulink" href="/web/20030622084437/http://www.musicbrainz.org/docs/specs/metadata_tags.html">ID3 Tags</a></div></div> <div class="menuitem" id="sitemenu159item"> <div class="menurow_o" id="sitemenu159row"> <a class="menunocontrol_o" id="sitemenu159control"> </a><a class="menulink" href="/web/20030622084437/http://www.musicbrainz.org/db_structure.html">Database</a></div></div> <div class="menuitem" id="sitemenu160item"> <div class="menurow_c" id="sitemenu160row"> <a class="menunocontrol_c" id="sitemenu160control"> </a><a class="menulink" href="/web/20030622084437/http://www.musicbrainz.org/stats.html">Stats</a></div></div> </div> </div> </div> <div class="menuitem" id="sitemenu161item"> <div class="menurow_c" id="sitemenu161row"> <a class="menunocontrol_c" id="sitemenu161control"> </a><a class="menulink" href="/web/20030622084437/http://www.musicbrainz.org/support/contact.html">Contact Us</a></div></div> <div class="menuitem" id="sitemenu162item"> <div class="menurow_c" id="sitemenu162row"> <a class="menunocontrol_c" id="sitemenu162control"> </a><a class="menulink" href="/web/20030622084437/http://www.musicbrainz.org/list.html">Mailing Lists</a></div></div> <div class="menuitem" id="sitemenu163item"> <div class="menurow_c" id="sitemenu163row"> <a class="menunocontrol_c" id="sitemenu163control"> </a><a class="menulink" href="https://web.archive.org/web/20030622084437/http://sourceforge.net/tracker/?func=add&group_id=19506&atid=119506">Report a Bug</a></div></div> </div> </div> </div> <div class="menuitem" id="sitemenu164item"> <div class="menurow_c" id="sitemenu164row"> <a class="menunocontrol_c" id="sitemenu164control"> </a><a class="menulink" href="https://web.archive.org/web/20030622084437/http://wiki.musicbrainz.org/">Wiki</a></div></div> </div> </div> </td> </tr> </table> <table width="141" cellpadding="0" cellspacing="0" border="0"> <tr> <td width="131" height="1" bgcolor="#000000"><img src="/web/20030622084437im_/http://www.musicbrainz.org/images/pixel.gif" width="1" height="1" alt="" border="0"></td> <td width="10" rowspan="3" bgcolor="#FFFFFF"><img src="/web/20030622084437im_/http://www.musicbrainz.org/images/pixel.gif" width="1" height="1" alt="" border="0"><br><img src="/web/20030622084437im_/http://www.musicbrainz.org/images/sidemenu_end.gif" width="10" height="20" alt="" border="0"></td> </tr> <tr> <td width="131" height="20" bgcolor="#AAAAAA"><img src="/web/20030622084437im_/http://www.musicbrainz.org/images/pixel.gif" width="5" height="1" alt="" border="0"> <span class="section"> Quick Search </span> </td> </tr> <tr> <td width="131" height="1" bgcolor="#000000"><img src="/web/20030622084437im_/http://www.musicbrainz.org/images/pixel.gif" width="1" height="1" alt="" border="0"></td> </tr> </table> <div class="SideBarContentArea"> <div class="SideBarContentArea2"> <table class="SidebarSearch"> <tr> <th>Artist</th> <td> <form method="get" action="/web/20030622084437/http://www.musicbrainz.org/newsearch.html"> <div> <input type="text" name="search" value=""> <input type="hidden" name="table" value="Artist"> </div> </form> </td> </tr> <tr> <th>Album</th> <td> <form method="get" action="/web/20030622084437/http://www.musicbrainz.org/newsearch.html"> <div> <input type="text" name="search" value=""> <input type="hidden" name="table" value="Album"> </div> </form> </td> </tr> <tr> <th>Track</th> <td> <form method="get" action="/web/20030622084437/http://www.musicbrainz.org/newsearch.html"> <div> <input type="text" name="search" value=""> <input type="hidden" name="table" value="Track"> </div> </form> </td> </tr> </table> </div> </div> <table width="141" cellpadding="0" cellspacing="0" border="0"> <tr> <td width="131" height="1" bgcolor="#000000"><img src="/web/20030622084437im_/http://www.musicbrainz.org/images/pixel.gif" width="1" height="1" alt="" border="0"></td> <td width="10" rowspan="3" bgcolor="#FFFFFF"><img src="/web/20030622084437im_/http://www.musicbrainz.org/images/pixel.gif" width="1" height="1" alt="" border="0"><br><img src="/web/20030622084437im_/http://www.musicbrainz.org/images/sidemenu_end.gif" width="10" height="20" alt="" border="0"></td> </tr> <tr> <td width="131" height="20" bgcolor="#AAAAAA"><img src="/web/20030622084437im_/http://www.musicbrainz.org/images/pixel.gif" width="5" height="1" alt="" border="0"> <span class="section"> Top Moderators </span> </td> </tr> <tr> <td width="131" height="1" bgcolor="#000000"><img src="/web/20030622084437im_/http://www.musicbrainz.org/images/pixel.gif" width="1" height="1" alt="" border="0"></td> </tr> </table> <div class="SideBarContentArea"> <div class="SideBarContentArea2"> <table cellpadding="2" cellspacing="0" border="0" class="statsb" width="110px"> <tr> <td align="right" valign="top" width="50%" class="statsb"> matt </td> <td align="left" valign="top" width="50%" class="stats"> 2353 </td> </tr><tr> <td align="right" valign="top" width="50%" class="statsb"> anarchyi... </td> <td align="left" valign="top" width="50%" class="stats"> 1328 </td> </tr><tr> <td align="right" valign="top" width="50%" class="statsb"> Go186K </td> <td align="left" valign="top" width="50%" class="stats"> 1128 </td> </tr><tr> <td align="right" valign="top" width="50%" class="statsb"> scarfboy </td> <td align="left" valign="top" width="50%" class="stats"> 814 </td> </tr><tr> <td align="right" valign="top" width="50%" class="statsb"> trek2710 </td> <td align="left" valign="top" width="50%" class="stats"> 610 </td> </tr> </table> <div class="SideBarMoreLink"> <span class="sidemenusmall"> <a href="/web/20030622084437/http://www.musicbrainz.org/topmods.html">more >></a> </span> </div> </div> </div> <table width="141" cellpadding="0" cellspacing="0" border="0"> <tr> <td width="131" height="1" bgcolor="#000000"><img src="/web/20030622084437im_/http://www.musicbrainz.org/images/pixel.gif" width="1" height="1" alt="" border="0"></td> <td width="10" rowspan="3" bgcolor="#FFFFFF"><img src="/web/20030622084437im_/http://www.musicbrainz.org/images/pixel.gif" width="1" height="1" alt="" border="0"><br><img src="/web/20030622084437im_/http://www.musicbrainz.org/images/sidemenu_end.gif" width="10" height="20" alt="" border="0"></td> </tr> <tr> <td width="131" height="20" bgcolor="#AAAAAA"><img src="/web/20030622084437im_/http://www.musicbrainz.org/images/pixel.gif" width="5" height="1" alt="" border="0"> <span class="section"> Server Stats </span> </td> </tr> <tr> <td width="131" height="1" bgcolor="#000000"><img src="/web/20030622084437im_/http://www.musicbrainz.org/images/pixel.gif" width="1" height="1" alt="" border="0"></td> </tr> </table> <div class="SideBarContentArea"> <div class="SideBarContentArea2"> <table cellpadding="2" cellspacing="0" border="0" class="statsb" width="110px"> <col style="width: 50%"> <col style="width: 50%"> <tr><td valign="top" align="right" class="statsb">Artists</td><td valign="top" class="stats">56322</td></tr><tr><td valign="top" align="right" class="statsb">Albums</td><td valign="top" class="stats">82921</td></tr><tr><td valign="top" align="right" class="statsb">Tracks</td><td valign="top" class="stats">1027476</td></tr><tr><td valign="top" align="right" class="statsb">Discids</td><td valign="top" class="stats">55327</td></tr><tr><td valign="top" align="right" class="statsb">TRM Ids</td><td valign="top" class="stats">632173</td></tr><tr><td valign="top" align="right" class="statsb">Mods</td><td valign="top" class="stats">369721</td></tr><tr><td valign="top" align="right" class="statsb">Users</td><td valign="top" class="stats">14394</td></tr> </table> <div class="SideBarMoreLink"> <span class="sidemenusmall"> <a href="/web/20030622084437/http://www.musicbrainz.org/stats.html">more >></a> </span> </div> </div> </div> <table width="141" cellpadding="0" cellspacing="0" border="0"> <tr> <td width="131" height="1" bgcolor="#000000"><img src="/web/20030622084437im_/http://www.musicbrainz.org/images/pixel.gif" width="1" height="1" alt="" border="0"></td> <td width="10" rowspan="3" bgcolor="#FFFFFF"><img src="/web/20030622084437im_/http://www.musicbrainz.org/images/pixel.gif" width="1" height="1" alt="" border="0"><br><img src="/web/20030622084437im_/http://www.musicbrainz.org/images/sidemenu_end.gif" width="10" height="20" alt="" border="0"></td> </tr> <tr> <td width="131" height="20" bgcolor="#AAAAAA"><img src="/web/20030622084437im_/http://www.musicbrainz.org/images/pixel.gif" width="5" height="1" alt="" border="0"> <span class="section"> Sponsors </span> </td> </tr> <tr> <td width="131" height="1" bgcolor="#000000"><img src="/web/20030622084437im_/http://www.musicbrainz.org/images/pixel.gif" width="1" height="1" alt="" border="0"></td> </tr> </table> <div class="SideBarContentArea"> <div class="SideBarContentArea2"> <div style="text-align: center; margin: 1em 0"> <a href="https://web.archive.org/web/20030622084437/http://www.relatable.com/"><img src="/web/20030622084437im_/http://www.musicbrainz.org/images/relatable.gif" border="0" alt="Relatable" title="Relatable"></a> </div> <div style="text-align: center; margin: 1em 0"> Hosting by: <a href="https://web.archive.org/web/20030622084437/http://www.communitycolo.net/"><img src="/web/20030622084437im_/http://www.musicbrainz.org/images/cccp.png" border="0" alt="CCCP" title="California Community Colocation Project"></a> </div> <div style="text-align: center; margin: 1em 0"> <form action="https://web.archive.org/web/20030622084437/https://www.paypal.com/cgi-bin/webscr" method="post"> <input type="hidden" name="cmd" value="_xclick"> <input type="hidden" name="business" value="donations@musicbrainz.org"> <input type="hidden" name="item_name" value="Donation to MusicBrainz"> <input type="image" src="/web/20030622084437im_/http://www.musicbrainz.org/images/paypal.gif" style="border: 0" name="submit" alt="Donate to MusicBrainz!"> </form> </div> <div class="SideBarMoreLink"> <span class="sidemenusmall"> <a href="/web/20030622084437/http://www.musicbrainz.org/sponsors.html">more >></a> </span> </div> </div> </div> </td> <td bgcolor="FFFFFF" align="left" valign="top"> <table cellpadding="15" cellspacing="0" border="0" width="100%"> <tr> <td align="left" valign="top" class="body" width="100%"> <a id="maincontent"></a> <h1>The database structure of MusicBrainz</h1> The relational database is the heart of MusicBrainz. The content is placed under the OpenContent license. Currently the content of MusicBrainz is still limited to artist names, albums, and the tracks. But we are working very hard to include more information. The number of entries in our database is increasing rapidly, we expect to have the names of 1.000.000 tracks in MusicBrainz within a few months. With MusicBrainz it is possible to uniquely identify artists, albums/CDs and tracks, and therefore allow the MusicBrainz users to refer to music without any ambiguities. This capability will also allow users to exchange playlists that are based on unique track identifiers. <p>The artist/album/track names are augmented with several databases for administration and identification. All tables have a Id field as a technical key that is a locally unique number incremented each time a new record is inserted into the table. <a name="MusicBrainz I database structure"></a> <h2>MusicBrainz I database structure</h2> The main tables in the database are (with the important fields): <pre> -Artist Id field as key, Name, SortName, and a Global ID (GID) -Album Id field as key, Name, artist Id reference, and a Global ID (GID) -Track Id field as key, Name, artist Id reference, a Global ID (GID), length, year, and genre Id -TRM Id field as key and a TRM field that contains a acoustic identification hash (relatable.com value a.k.a. TRMId) </pre> The above tables contain the core information. Several additional tables exist for the moderation process , insert process and combining the information of the above core tables. For example the AlbumJoin table connects the Tracks with the Albums. Connecting the core info: <pre> -AlbumJoin Id field, Album Id, Track Id, and sequence number -TRMJoin Id field, TRM Id, and Track Id </pre> Moderation process: <pre> -Moderator Id field, Name, Password (simple cleartext), Privs, Accepted moderations, and rejected moderations -Moderations Id field, Table, Colom, Artist, Type of moderation, Status, RowId, Previous value, New value, Moderator Id, Yes votes, No votes, and Dependant Change Id -Votes Id field, User Id , Row Id, vote (without a capital) </pre> Additional info: <pre> -Discid Id field, Disk hash, Album Id, and disk table of content -TOC Id field, Disk number, Album Id, Amount of tracks, Leadout, and 99 track lengths -ArtistAlias Id field, Name, Ref -Lyrics Id field, Track Id, Text, and Writer name -Synctext Id field, Track Id, Type, URL, and Submitter name -SyncEvent Id field, Synctext Id, TimeStamp, Text </pre> <a name="MusicBrainz II database structure"></a> <h2>MusicBrainz II database structure</h2> We want to expand MusicBrainz with more information and store more then Artist/Album/Track information. For this we need the help of a serious number of people that are willing to add the information to the thousands of records in our database. If creating the biography of an artist takes a whole day, imagine the total time needed to write 50,000 of them. We need to call upon a large number of people to help us fill this extended database. In the true spirit of MusicBrainz we give all content back to the users. By automatically collecting the information from ID3 tags inside MP3 audio files the MusicBrainz I database was filled with less effort. For MusicBrainz II we need to build a large community to add more information to the thousands of existing records. <p>On the mailing list the following list of requirements for the content was discussed and generally accepted: <ul> <li>Model all the roles of contributors and events: songwriters, artist band breakups, album releases, album cover creator, etc.</li> <li>Strict separation of facts and subjective data into separate tables for the copyright issue.</li> <li>Contain pop charts, biographies, birth day's, URL's of fan pages</li> <li>Support for classical CDs, opera's, etc.</li> <li>Tackle the genre system, a good workable system is probably layered with two levels of genre where the top is < 15. Each track can have a number of genre's. <pre> topgenre(rock, classic, jazz, blues, country) genre (piano, symphonic, heavy metal, punk, acoustic, etc.) </pre> Is a voting system for subjective genre data realistic? We need a lot of votes to get the genre for 500.000 tracks. </li> <li>Picture gallery. storage of (artist/concert/etc.) pictures, not in Postgres, but referred to with URL. (http://musicbrainz.org/pictures/mugshots/beatles_342.jpg</li> <li>guitar tabs, use a structured schema for music notation</li> <li>User discussion groups. User comments should be connected to an genre/artist/album/track/etc and displayed while browsing MB. Discussions are vital to building a true on-line community that goes beyond the dry encyclopedia stuff. With our reputation system we can fight spam better then alt.music.* and our license allows more openness than the popular "Yahoo music message boards" </li></ul> <p>This database structure is still in the planning process. Any suggestions/additions/etc should be send to the mailing list or myself (j@mp3.nl) <p>The CDDB.com and <a href="https://web.archive.org/web/20030622084437/http://www.freedb.org/">FreeDB.org</a> databases also contain information about tracks/albums/artists however, these databases contain a high number of erros and spelling-mistakes. The aim for MusicBrainz is to build the cleanest possible database. With the new database structure the amount of information is increased by an order of magnitude. This is why it makes sense to implement the database extensions in small increments were the database extension will be used before more extensions are made. <a name="MusicBrainz II primary tables"></a> <h2>MusicBrainz II primary tables</h2> The primary tables in the MusicBrainz II database are listed here, together with the important fields. The tables are shown with a number of example records to clearly explain the structure. <pre> -Person Id field as key, RealName, SortName, and a Global ID (GID) 1 Alanis Morisette Morisette, Alanis 00001 2 Candy Dulfer Dulfer, Candy 00002 3 Ilse de Lange Lange, Ilse de 00003 4 Kurt Cobain Cobain, Kurt 00004 5 Dave Grohl Grohl, Dave 00005 6 Krist Novoselic Novoselic, Krist 00006 -Group Id field as key, GroupName, a Global ID (GID) 1 Alanis Morisette 00309 2 Nirvana 00310 3 Eels 00311 4 Portishead 00312 -RoleType Id field as key, RoleName, Role Description 1 solo artist 2 lead singer 3 guitar 4 bass guitar 5 drummer 6 keyboard 7 conductor 8 violin 9 1st violin 10 2nd violin -Role Id field, Person ID identifier, Group ID identifier, Role Type identifier 1 1 1 1 2 4 2 2 3 4 2 3 4 5 2 5 5 6 2 4 -Track Id field as key, group Id reference, Name, a Global ID (GID), length, year, and genre Id 1 1 Hand in my pocket 2 1 Mary Jane 3 2 Smells like teen spirit 4 2 In bloom 5 2 Lithium 6 2 Polly 7 2 Drain you -Album Id field as key, Group Id reference, Name, and a Global ID (GID) 1 1 Jagged little pill 2 2 The best of Nirvana 3 2 MTV Unplugged in New York 4 2 In Utero 5 2 Oh Well, whatever ... Nevermind -AlbumJoin Id field, Album Id, Track Id, and Sequence number 1 1 1 4 2 1 2 9 3 2 6 4 4 3 6 7 (Yep, Polly track listed on both CDs) 5 2 7 5 </pre> <a name="MusicBrainz II secondary tables"></a> <h2>MusicBrainz II secondary tables</h2> The secondary tables contain Pop charts, biographies, URL references, pictures, discussions, guitar tabs, etc. The primary tables only contain info on persons, bands, tracks, and albums. Fingerprinting, an acoustic identification hash (relatable.com value a.k.a. TRMId) <pre> -TRM Id field as key and a TRM field 1 478a3107d-47ae8290-bc6df226 2 aa3956d97-f8c214fb-21047ea5 3 bd307c9a9-92fe6678-8e882465 4 5f8fe8829-d948287f-9478d9e9 5 4849c9f9e-9a9c9b9b-e486c8bf -TRMJoin Id field, TRM Id, and Track Id 1 1 1 2 2 70 3 3 24 4 4 24 5 5 69 Event tables -EventType Id field as key, EventName, Name of table 1 band formation Group 2 band split Group 3 person marriage Person 4 person divorce Person 5 person suicide Person 6 birth of baby Person 7 person deceased Person -Event Id field as key, Event Type identifier, ID field identifier within table EventTypeTable, Event Start timestamp, Event End timestamp, Event Description. 1 3 34 10-oct-1997 10-oct-1997 Divorced from Sean Penn 2 5 4 05-apr-1994 05-apr-1994 The sad garage incident 3 2 35 1996 1996 At the press conference the Spice Girls said to pursue solo careers... Pop charts -Chart Id field, Name 1 Euro Top 100 2 UK hit parade 3 Dutch Top 40 4 MTV charts -Chartposition Id field, Chart ID, Track ID, Date, Position 1 1 3 02-jan-1998 48 2 1 3 09-jan-1998 34 3 1 3 19-jan-1998 21 4 1 3 26-jan-1998 5 5 1 9 02-jan-1998 31 6 1 9 09-jan-1998 25 7 1 9 19-jan-1998 26 8 1 9 26-jan-1998 40 Biographies -Biography Id field, Person ID, User ID, HTML enhanced Text 1 4 59491 Born in a little town near ... 2 8 49436 At age 12 she already ... 3 8 10294 At a very young age the girl that ... -BioModerations Id field, Biography ID, user ID, proposed Moderations to original text (UNIX diff format). 1 2 68830 10a11 , including the lesser known ... 2 9 68830 44c43 who later became a janitor 3 12 7502 11c11 with MTV in the picture ... URL lists -URL Id field, URL type ID, ID within referring table, URL 1 4 3 http://eelstheband.com 2 2 3 http://www.geocities.com/TimesSquare/Realm/9341/Eels.htm 3 6 4 http://kurt-cobain.com/Images/DeathCert.jpg -URL Types Id field, referring table, Name 1 Person fanpage of person 2 Group fanpage of group 3 Person interview 4 Group official group page 5 Person birth certificate 6 Person death certificate </pre> <a name="MusicBrainz II extended tables"></a> <h2>MusicBrainz II extended tables</h2> Paul Shape from the UK based Miraclefish cooperation developed a very extensive database design that replaces the above primary tables with more and elaborate tables. Below the database tables are shown from Paul's Access example database. This database contains over 50 tables including tables with city and instrument information tied to tables: recording, release, track, and song. <p align="CENTER"> <img src="/web/20030622084437im_/http://www.musicbrainz.org/images/mbrainz_db_small.jpg" alt="[Database layout]" width="320" height="240"> </p> <a href="images/mbrainz_db_small.jpg">Full sized version</a><br> <p> Johan. <div style="margin-top: 1em"> </div> </td> </tr> </table> </td> </tr> </table> <div id="FooterBar"> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td width="10%"> </td> <td width="15%"> <a href="https://web.archive.org/web/20030622084437/http://www.creativecommons.org/">Creative Commons</a> </td> <td width="15%"> <a href="https://web.archive.org/web/20030622084437/http://www.eff.org/"><abbr title="Electronic Frontier Foundation">EFF</abbr></a> </td> <td width="15%"> <a href="https://web.archive.org/web/20030622084437/http://www.gnu.org/copyleft/gpl.html"><abbr title="General Public License">GPL</abbr></a> </td> <td width="15%"> <a href="https://web.archive.org/web/20030622084437/http://www.gnu.org/copyleft/lesser.html"><abbr title="Lesser General Public License">LGPL</abbr></a> </td> <td width="15%"> <a href="https://web.archive.org/web/20030622084437/http://www.freshmeat.net/">Freshmeat</a> </td> <td width="10%"> </td> </tr> </table> </div> <div id="CreditsBar"> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td width="30%" style="text-align: left"> <a href="/web/20030622084437/http://www.musicbrainz.org/support/contact.html">contact details</a> </td> <td width="40%" style="text-align: center"> original design|<a href="https://web.archive.org/web/20030622084437/http://vacubomb.com/">vacubomb.com</a> </td> <td width="30%" style="text-align: right"> server version: 2003-06-15 </td> </tr> </table> </div> </body> </html> <!-- FILE ARCHIVED ON 08:44:37 Jun 22, 2003 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 01:02:15 Dec 03, 2024. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). --> <!-- playback timings (ms): captures_list: 0.68 exclusion.robots: 0.029 exclusion.robots.policy: 0.018 esindex: 0.009 cdx.remote: 30.348 LoadShardBlock: 184.908 (3) PetaboxLoader3.datanode: 115.812 (4) PetaboxLoader3.resolve: 122.684 (2) load_resource: 228.479 -->