Re: candidate keys in abstract parent relations

From: Forrest L Norvell <spankysyourpal_at_gmail.com>
Date: 20 Jan 2006 14:30:29 -0800
Message-ID: <1137796229.823885.158970_at_o13g2000cwo.googlegroups.com>


> >What would a Release look like, if there were no related Album?

This may be a weakness of my domain language, but in my nomenclature the Album is the logical collection of tracks that we think about when we're holding a vinyl record, cassette, CD, DVD-A, or self-contained subcutaneous music implant in our hands. As a fan, the album is the thing we care about most. We don't care about when it was released, which label put it out (unless we're fans of Hydra Head or 4AD, where the packaging and product design are almost as important as the music contained on the album), or which country it came out in as long as we can get it in our hot little hands. It is a named physical object that logically organizes a collection of audio recordings that can be released at multiple times, by multiple labels, in multiple locales.

The Release encapsulates the album. An Album can have no releases or many releases, but a Release must have one and only one album. So there's the cardinality you were looking for. A Release comprises the metainformation about how the Album / logical collection of Tracks physically reaches your hands. Collectors care a lot about Releases. Fans care a lot about Albums.

> A single. Songs used to be released on 45s, one per side.

Therefore, a single is a kind of Album (specifically, it's an Album with a single Disc with two Sides, each containing 0 or more Tracks (I have more than a few 7" singles with music on only one side, but messages etched into both sides, and that's information I want to track)). There's a ton of confusion surrounding what constitutes a single, an EP vs an LP (which is a logical distinction that has somehow survived the physical death of the LP for all but vinyl diehards), the remix single vs the album single, etc that I feel is less than useful to capture as anything other than an optional attribute. Especially because the last few years have seen pathological cases where an Album (as I conceive it) consists of a 12" vinyl record, a CD, a comic book, and maybe even a DVD all bundled into a plastic sleeve.

I'm designing this model for maximum flexibility while still remaining as specific as possible, because the alternatives are EAV revoltingness or discarding interesting information. There are a ton of music databases in existence. The only reason to create a new one is if you're going to correct the defiiciencies of the existing models, which are many and varied. My goal is to put this model at the core of a new open-source system, and I really don't want to suck air from worthwhile projects like Musicbrainz or the All-Music Guide. I hope it's becoming clear what I'm trying to do. Received on Fri Jan 20 2006 - 23:30:29 CET

Original text of this message