Ideas

gandalf nospam at pobox.com
Tue, 9 Mar 1999 05:21:43 -0500 (EST)

Well, I typed this up yesterday, but never sent it out, so it was written
before the flurry of activity last night. Hopefully it is not outdated
already. Hearing some of the dicussions, the db design could probably be
expanded, but I'd like to get some ideas out and not spend forever
refining them.

BTW - perhaps we can consolidate these to a single list? Right now
everything is getting cc:ed to both cdindex and freeccdb (just like I'm
doing) which is a pain if you are subscribed to both.

Anyways, here goes:

I had been thinking a bit about the backend stuff. Here are some of my
random thoughts. Hopefully they are not all too crazy.

The data obviously needs to be in the public domain and somehow
protected to stay that way.

It should be backwards compatible with cddb - it should still answer cddb
requests, and accept cddb style updates. (not sure if we can do this or
not)

My original thought was to use no CDDB data to avoid any conflicts. Not
sure if it is really necessary, but it would probably be better to be safe
than sorry in this aspect.

I think we should take into account the other uses of this data, such as
personal collection catalog software, etc. Not sure what we would do
differently, but definetly have it in mind when designing things.

There was talk of the servers being decentralized, but how? there has to
be some way to keep the updates in sync. Perhaps having each register
with all the others when it comes online (and hopefully when it goes
offline too) this would avoid a central server (but might be real ugly).
Or you could go with the central server, sort of dns style. dunno

Again, I have no idea what discussion there has already been about a DB
structure, but here is what I jotted down while I was supposed to be
learning about Theories of Personality:

DB structure - 6 tables

CD TABLE Tracks TABLE Artist TABLE
CDID CDID ArtistID
AlbumName Number Name
ArtistID Name Description
GenreID Description
Copyright GenreID
LabelID
Description

Genre TABLE Label TABLE TrackArtist TABLE
GenreID LabelID CDID
Name Name TrackNumber
Description Description ArtistID

all of the "ID" relationships are one to one, except for CD to Tracks,
which is one to many, and Tracks to TrackArtists, which is also one to
many.

-chris
_______________________________________________________
Christopher Rogers Stevens Institute of Technology
gandalf nospam at pobox.com http://www.pobox.com/~gandalf

An optimist believes we live in the best of all possible worlds.
A pessimist is sure of it!