My problem is how to go about making these changes to the database structure whilst making it possible to apply them to a production system.
This is a problem a number of other folks have smacked their heads on. You can find a number of good pointers by Googling for "refactoring databases" (or related keywords).
Scott Ambler has written some good stuff on Refactoring Databases. Follow that link for some more leads. Most of it won't be on point for what you're looking for, but I bet you'll find plenty of useful information.