MySql One-to-zero to one-to-one
You have many state changes you want to happen in order for your interaction to be considered a success.

This pretty much defines the "atomic" goal of a transactions.

begin; --start the transaction
insert into person values (...);
insert into address values (....);
commit; --finish the transaction


This ensures that if there was an error any where along the way all transaction activity is rolled back.  It's an "all or nothing" operation so you don't end up in an in between state you define as undesirable.