Hey guys...

I'm building a website for an event called Tin Pan South. It's a week long series of concert focused on Sing-Songwriters in Nashville.

Because there will be so many show, artists and venues and they might change at the last minute, I'd like to use a database. The three main areas of the DB (and their fields) will be:

Artists
- ID
- FirstName
- LastName
- Bio
- Photo

Venues
- ID
- Name
- Address
- Phone
- MapImage
- Details

Shows
- ID
- Date
- Time
- AID (artist id)
- VID (venue id


The page that lists the show will allow users to sort by Artist, venue or date like so:

Date
Artist   Venue   Time
Artist   Venue   Time

Artist
Date   Venue   Time
Date   Venue   Time

Venue
Date   Artist   Time
Date   Artist   Time


Now, I have questions?

1) Is this a good structure for this DB?
2) How would I query the DB to perform the above sorting?

This site will be built in Cold Fusion. I don't think I should have any problems with the coding, but the querying part always messes me up. I have a hard time when working with fields that relate.

Help me out please?