Recommended configuration for repetitive tasks?

For the sake of example, let’s say that I train dogs, mostly one on one. Before each dog can “graduate”, there are several tricks that they must master at different skill levels. It’s helpful to group them by skill level, but they don’t all happen in a strict sequence. Sometimes, one of their humans may need to be assigned to work with them on mastering a particular skill, though I can probably do without that information.

At this point, I’ve definitely got a table for dogs and a table for their humans. But should I have a table for tasks, or should all of the tasks just be fields in the dog table, since a task can only be completed for each dog, rather than on its own?

I’d like to be able to look at all the dogs that still haven’t learned how to fetch, for example, to maybe plan a time to work with them together. I generally care more about seeing the tasks that a dog hasn’t yet completed, rather than what they’ve mastered.

I looked through a lot of example bases to find examples, but I didn’t see anything that seemed quite right. I’m sure I’m just missing something though. The closest I found was maybe the real estate example where each transaction needs inspection, appraisal, and contract all in the transaction table, but I was hoping to see an example where those kind of tasks were their own table. Can anyone point me in the right direction of any others bases that have this kind of repetitive tasks? Thanks!

Ok, expanding on my thoughts here. I think what I want is:

  1. a table of dogs
  2. a table of tricks with assigned levels
  3. a table where I can check off the tricks each dog has mastered at each level

How do I make the third table? Or just point me to the right examples/documentation. Thanks!

Answering my own questions here. I see I need a junction table. Cool. But in the documentation, it’s not clear to me how I make my dog tricks table populate automatically with all the appropriate rows when I add a new dog or a new trick. I guess I need an automation for that.