- Create a song database backend.
- Create a management front end.
- Create a customer selection front end.
- Create a server based music player.
And so begins the problems....
1) Using a database to represent song data seems like a good choice. However, it isn't as straight forward as it seems when you through in genres. I would like the manager to be able to include(or exclude) genres from playing.
- I seem to have solved the problem by using a parent child relationship between genres, eg Rock->Alternative ->Adult Alternative. Using stored procedures to iterate through the children to the parent to generate the combined name (for user readability), and children to the parent checking id's. eg: if Rock is selected as an excluded genre, we also need to exclude all of it's children (Alternative, Adult Alternative) Had I chose Oracle or MsSQL I could have used SQL Recursion, MySQL doesn't support this. However, in my view, MySQL Community Edition beats the pants off MsSQL Express. In the end I want this to be able to function on low end hardware running Linux, so MS was out from the start anyway. However I'm looking forward to MySQL implementing this type of feature in the future (got to love community driven development).
Updates to follow.