I have a project for work where we needed to take an existing site built with Ruby on Rails using a MySQL database and convert it to use Drupal as the framework. It is for a regional debate league, and it has events, schools, news (general, middle school, and high school), galleries, contact forms, a google map showing all schools, and several static pages. It should be straight forward, except there are several hundred events, three times as many photo galleries, and 33,000+(!) images weighing in at 16 GB.
In the existing database, galleries were linked to images using a 1 to many relationship and foreign keys in the images database. The images database had 4 different sizes for each image, and everything but the original image was linked to the id of the main image through a parent id. Galleries were associated with events on a 1:1 basis, though about 2/3rds of the galleries were not associated with any event. News was either general, middle, or high school. Schools and events both had location information associated with them. I set up my content types to match the 'content types' on the old system using CCK fields and location where applicable.
I reviewed several options for the photo galleries with the client, and they liked the gallery included with the images module the best, as it supported mass import from FTP and was straight forward to use and set up.