Heh. Robert and Mohit have a point. Instead of triggers views could be used to let a legacy application interact with and change the data in the way it is designed to, while storing it in a completely separate fashion.
Still, those circumstances should be few and far between indeed. It is much better to change the application as well, and it is better still (in most cases) to put all updates and inserts through stored procedures and then the stored procedures can be changed to fit the data layer and the application will never be the wiser.
Heh... then, Robert and/or Mohit... please post an InsteadOf trigger that actually works, please! 😉