Do you really mean 1:1 relationships? A song might have more than one artist, album, or genre. Could a song have no album at all, such as something that was released in MP3 format? Also, you might have more than one version of a song. You might need a separate table for recordings, with each song having one or more recordings. That would be a good place to keep the release information, rather than storing it with the song.
The biggest problem would be to figure out how to index the songs, themselves. I don't have a good suggestion for that off the top of my head. That all being said, there's no reason I can think of not to normalize the data. Regards, Jerry Schwartz Global Information Incorporated 195 Farmington Ave. Farmington, CT 06032 860.674.8796 / FAX: 860.674.8341 > -----Original Message----- > From: Daniel Cousineau [mailto:[EMAIL PROTECTED] > Sent: Tuesday, April 03, 2007 12:15 AM > To: mysql@lists.mysql.com > Subject: Joins versus Grouping/Indexing: Normalization Excessive? > > So I'm currently designing a database for a web site and > intra net for my > campuses student radio. Since I'm not getting paid for this > and I'm doing > this in my free time I kinda want to take my time and have > the system setup > as "perfectly" as any one college student can. > > I'm currently debating on how I want to store all the songs > in the system. > Namely I'm not quite sure which way will eek the most > performance out of > MySQL. > > My plan so far is quite normalized, a songs table with 1:1 > relationships > with an Albums, Artists, and Genres table. > > The big benefits I see from this is when I'm building the intra net > application I'll want to pull just all of the artists or all > of the albums, > etc. However I feel like I'm encountering issues with where > to store the > "year" field of an mp3 (do I want it on the album, song, or > both) along with > issues like printing everything out at once. > > The only other way I can think of thats relatively efficient > is to have the > singular songs table and have indexes on albums, artists, and genres. > > My question, more out of curiosity than necessity, is which > of these would > be more efficient (given that I'll be using the InnoDB > storage engine)? > > Other relevant facts include it'll be using the latest, > stable release of > MySQL 5 and I'll be developing in PHP5 (through CakePHP's database > abstraction layer). > > -- > Thanks and Gig 'Em! > Daniel Cousineau > http://www.terminalfuture.com/ > http://www.linkedin.com/in/dcousineau > [EMAIL PROTECTED] > -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]