The short answer is, I do not believe that you have missed anything. There are many ways to achieve what you need, but your explanations are probably the most commonly used and understood.
Another way is to use a trigger in table A to populate table B after insertion (this only works if you do not need any additional user input, for example, entering a form to insert into table B).
source share