First, let it be known that I am more than competant at dealing with db's in almost any other way aside from the creation.
Scenario:
A database needs to be created to house all things music. The information required: [Band]; [Release, #ofTracks, DateofRelease], [Track#, SongName] - Each bracketed set being a table. Each will have their unique ID's (BandID, ReleaseID, SongID). Everything looks pretty easy so far. Normally the relationship would go from Parent[BandID] -> Children[ReleaseID] -> Children[SongID]
Ok, here's the twist. The anomolies begin when you introduce Live recordings and the like. Compilations, soundtracks or the tape you made of your kid sister singing to her dolls when she wasn't looking.
The point is, you can't have children when there are no parents, right? You have songs, but no releases. Keep in mind, it is unacceptable to insert spacers or irrelevant info in the interim as a work around.
So, the first thought was to build a fourth table that contained only the ID's and this would be how you queried it.
At this point, I don't really know what I'm doing anymore. I have painted myself into the proverbial corner with logic.
Oh, and there is a classification category, and for the sake of this example, we'll call the table Category [MusicType, MusicTypeID] so it removes us even one more step from cheating.
This is my first db that wasn't flatfile, btw. "It's easier to ask forgiveness than it is to get permission." - Rear Admiral Dr. Grace Hopper
Scenario:
A database needs to be created to house all things music. The information required: [Band]; [Release, #ofTracks, DateofRelease], [Track#, SongName] - Each bracketed set being a table. Each will have their unique ID's (BandID, ReleaseID, SongID). Everything looks pretty easy so far. Normally the relationship would go from Parent[BandID] -> Children[ReleaseID] -> Children[SongID]
Ok, here's the twist. The anomolies begin when you introduce Live recordings and the like. Compilations, soundtracks or the tape you made of your kid sister singing to her dolls when she wasn't looking.
The point is, you can't have children when there are no parents, right? You have songs, but no releases. Keep in mind, it is unacceptable to insert spacers or irrelevant info in the interim as a work around.
So, the first thought was to build a fourth table that contained only the ID's and this would be how you queried it.
At this point, I don't really know what I'm doing anymore. I have painted myself into the proverbial corner with logic.
Oh, and there is a classification category, and for the sake of this example, we'll call the table Category [MusicType, MusicTypeID] so it removes us even one more step from cheating.
This is my first db that wasn't flatfile, btw. "It's easier to ask forgiveness than it is to get permission." - Rear Admiral Dr. Grace Hopper