Hello,
basically, that is how you would do it. I'd use a policy or action (or both in cooperation) to react to changes in my content model and then trigger the update. For the SQL layer, you could use the MyBatis framework already included in Alfresco and create your own DAOs to talk to your 3rd party database.
Please keep in mind that while access to a 3rd party database is quite simple, transaction handling across both databases (Alfresco and 3rd party) is totally different story and fully up to you, e.g. you would have to put in place the necessary mechanisms to handle rollbacks and commits correctly yourself, if you want to have transactional consistency / atomicity across both systems.
Regards
Axel